cancel
Showing results for 
Search instead for 
Did you mean: 

LoRa Discovery Kit

Posted on April 05, 2017 at 22:40

 

 

LoRa Discovery Kit

 

STM32L072 and LoRa Discovery Kit featuring Open LoRa module by Murata using STM32L072CZY6TR MCU

 

0690X00000603YpQAI.jpghttp://www.st.com/en/evaluation-tools/b-l072z-lrwan1.html

 

Features

 

  • Ultra-low-power STM32L0 Series MCUhttp://www.mouser.com/stm32l0, Cortex® -M0+ based with 192Kbytes of Flash memory, 20Kbytes of RAM, 6Kbytes of EEPROM, LCD, crystal-less USB, T-RNG, PCROP
  • 157dB maximum link budget
  • +20dBm, 100mW constant RF output versus Vsupply
  • +14dBm high efficiency PA
  • Programmable bit rate up to 300kbps
  • High sensitivity: down to -137dBm
  • Bullet-proof front end: IIP3 = -12.5dBm
  • 89dB blocking immunity
  • Low RX current of 10mA, 200nA register retention
  • Fully integrated synthesizer with a resolution of 61Hz
  • FSK, GFSK, MSK, GMSK, LoRa™ and OOK modulations
  • Built-in bit synchronizer for clock recovery
  • Sync word recognition
  • Preamble detection
  • 127dB+ dynamic range RSSI
  • Built-in temperature sensor and low battery indicator 1.65V to 3.6V power supply

 

The AT_Slave example (creates AT modem via ST-LINK VCP) is about 41KB in size

 

  • Attached is original shipping firmware (April 2017) Ping-Pong Demo
  • Added LoraDisco_ATSlave_US915.hex a build of the example from the Cube Extensions, USA 915 MHz option selected
  • Added LoraDisco_ATSlave_US915_V111.hex a build from the V1.1.1 tree
  • Added LoraDisco_ATSlave_US915HYBRID_V111.hex
  • a build from the V1.1.1 tree w/US915_HYBRID (17-Aug-2017)
  • Added LoraDisco_ATSlave_US915HYBRID_FULL_NOT_TINY_V111.hex.zip a build using Keil native sscanf/printf w/AT+SEND fixed

 

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
62 REPLIES 62
julienterrier39
Associate II
Posted on April 21, 2018 at 11:46

Up,

it gets a little away from the topic but you can find a great project loraserver totally free and with a good support, in my point of view this is a great opportunity to develop his own loraserver, it allows to handle and understand the behavior of all end-nodes available on his network

https://www.loraserver.io/

Thank you @Brocaar

Former Member
Associate II
Posted on June 12, 2018 at 23:40

Great post and thread! Hoping someone an point me to where in the Discovery example code for End Node the US 915 HYBRID sub band channel frequencies are defined? I have successfully connected with a gateway that utilizes Band0, however, I mainly run on TTN and need to make work on Band1 channels 8-15. Any help pointing me to documentation on this item would be greatly appreciated.

Posted on June 13, 2018 at 00:30

The build model is set in the Compiler's Command Line Defines, in Keil this is under the C/C++ configuration/options tab.

\STM32CubeExpansion_LRWAN_V1.1.1\Middlewares\Third_Party\Lora\Mac\region\RegionUS915-Hybrid.c

\STM32CubeExpansion_LRWAN_V1.1.1\Middlewares\Third_Party\Lora\Mac\region\RegionUS915-Hybrid.h

/*!

* LoRaMAC channels

*/

static ChannelParams_t Channels[US915_HYBRID_MAX_NB_CHANNELS];

/*!

* LoRaMac bands

*/

static Band_t Bands[US915_HYBRID_MAX_NB_BANDS] =

{

US915_HYBRID_BAND0

};

/*!

* LoRaMac channels mask

*/

static uint16_t ChannelsMask[CHANNELS_MASK_SIZE];

/*!

* LoRaMac channels remaining

*/

static uint16_t ChannelsMaskRemaining[CHANNELS_MASK_SIZE];

/*!

* LoRaMac channels default mask

*/

static uint16_t ChannelsDefaultMask[CHANNELS_MASK_SIZE];

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
Posted on June 13, 2018 at 08:52

Hello Clive,

You mean, you have ported the end-node code (STM32CubeExpansion_LRWAN_V1.1.x) to the Grasshoper board?

you also talk about TCXO, but this oscillator is only used with sigfox (UNB) protocol right?

Another question plz,

The 5 dBi antennas regarding the end-node or the gateway? Could you give us a link about this antenna?

Ok, I read this (from hackaday.io so Grasshoper project):

Traditional tool chains can still be used for programming via the exposed SWD port using ST-Link and Keil, IAR, Crossworks, or GCC/Eclipse, if desired, but programming via the Arduino IDE is the intent.

Thank you so much

Posted on June 13, 2018 at 15:19

The Murata part isn't hard to migrate, I moved my application from the DISCO to the Grasshopper, dealing with the pin specific differences.

The TCXO is used by the Murata for LoRa, it is more expensive than a crystal, and it's there to provide tight frequency and increase the sensitivity of the receiver. The Murata module should be able to loop back the clock to run the STM32L0, rather than HSI/MSI, the wiring of OSC_OUT on the Grasshopper provided issues, the behaviour of the L0 with HSE_BYPASS at 32 MHz was also a problem, if think it's an errata, but didn't seem to get much traction, so just reported it as something I observed so others seeing the same wouldn't waste man-days chasing it.

The antenna's were an eBay special, I don't have a part♯, I used them a the base, and rover. They helped more on the rover side, which was a vehicle, and allowed me to cable/mount in a manner that broke the roof-line.

I did manage to demonstrate 14Km LoS with the base using the stock antenna, beaconing a signal, and a rover with the 5 dBi.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
Posted on June 13, 2018 at 16:50

Ok, I saw that TXCO_OUT and VDD_TCXO was directly connected to OSC_IN and OSC_OUT, so I have to manage this part directly in my program with RCC management

Do you know if it's possible to delete properly this conection in order to use HSI instead TCXO as clock source?

Here a brief configuration of RCC:

0690X0000060LFdQAM.png 0690X0000060LFYQA2.png

Thank you.

Posted on June 13, 2018 at 17:51

Most of the examples use the MSI to clock the L0, the default usage of the TCXO is for the radio, where it matters. I'd imagine one reason to use it on the L0 is to reduce start time, and skip the PLL.

Might be hard to get 8 MHz HSE, would need to fiddle with board jumpers or solder-bridges on DISCO

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
Posted on June 13, 2018 at 18:17

ISTR that the TCXO is quite power hungry.

In many use cases, minimising power consumption is key - so you'd only want the TCXO on when you actually need it.

Which is probably also the reason for using MSI for the L0 ...

Posted on June 13, 2018 at 21:14

LoRa Discovery Kit

No doubt, one would also need to go over the stack so it turns it on/off properly.

In some of my uses cases it is important the radio is listening, and not in one of several states where it will completely miss the transmissions.

I'd be interested if you perceive any other use cases where clocking the L0 with the 32 MHz TCXO would be useful.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

In later board examples it becomes apparent that the PA4/PA5 pins need to loop externally to connect DBG_SX1276_DIO5/DIO4 if you want to use those as interrupt signalling sources.

They are free for ADC, DAC or general usage.

I use USART1/USART2 in my application. I can use PA0 UART4_TX as a debug/telemetry output channel, and SWDIO/SWCLK can be used as a UART also via LPUART1 on PA13/PA14

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..