ST LoRa® IoT tracker - STEVAL-STRK01

Thanks effesud,

This looks great for prototyping. I just ordered one, but will have to wait as it is not in stock.

Hi Tim,

i have undergo a same punishment that you…
You can change EUI device and others parameters with using putty but you must change length in receive string in your source code (usb_user.c ) For example in line 1886, change " if (strlen(pcInStr)!= 29)" by 28 and do not 29. Anothers lines must be changed.

For ST team, check you document ! You have recently update release version to 2.0.1, and not the text in projects (Ex: Readme.txt)


Is the firmware defaulting to EU frequencies? Do you have to reflash it to set the frequency to the US bands?


yes, the firmware is by default configured for EU868 frequency band.
You can change it to US915 in the compiler preprocessor options.

Just connect device with my Android mi A2 phone using the provideded USB-C cable. I can use Serial USB Terminal app to connect the device via CDC driver. This will give both charging and terminal features.


Following this thread and various sources online, I have manged to get the tracker going without compiling the firmware using the following method:

  1. Download latest firmware package from ST:
  2. Download the ST-link utility for flashing:
  3. Connect as shown at the end of this document to ST-Link programmer/Nucleo board as shown earlier in this thread.
  4. I have had to connect battery, USB cable and the programmer for the flashing to be successful, did not work without the USB cable and only on battery
  5. Use the ST-Link flasher utility by selecting Program & Verify and select the file from the downloaded software package: /STM32CubeFunctionPack_LORA1_V2.0.1/Projects/STEVAL-STRKT01/Applications/LoRa/Asset_Tracker/Binary/STEVAL_STRKT01.bin
  6. Create an application on TTN and register a new node. I have opted for a TTN generated DevEUI, you could get one from the tracker as well.
  7. Provision the tracker through the serial connection (tested under Windows and Linux, just plug in and port should appear) with the following commands (copy/paste replacing xxxxx with string from TTN console):
  • TTN provided DevEUI, likely you could use board provided one, but need to load different FW to find it out or observe on GW
  • TTN provided Application EUI
  • TTN provided App key
  • TTN provided App key
  • Issue a reset to use this keys
  1. On TTN under payload formats configure the Cayenne LPP and you will get decoded data.
  2. If all has gone well, the tracker should be connected and sending data.
1 Like

Hi All,

I finally received my TTIN gateway, and got my first connection.
So thanks again, effesud, that was a good move.
Now I need to decode the payload. I suppose that there is something for that, but the doc is not very clear.

After a while I understood that one has just to check in
Cayenne LPP in Applications -> Payload Formats,
and everything is automatic as it ahs been properly encoded
in main.c, lines 1319 – 1363

I have now

“accelerometer_4”: {
“x”: 0,
“y”: -0.029,
“z”: -0.97
“analog_in_5”: 3.89,
“barometric_pressure_0”: 1009.3,
“digital_out_6”: 0,
“gps_3”: {
“altitude”: 106.64,
“relative_humidity_2”: 37.5,
“temperature_1”: 29.2

which looks OK.

Hope this will help someone.

and as a streched goal get it to run Mbed OS 5

Note that this is the same module as on the DISCO-L072CZ-LRWAN1 board so compiling for that target from Mbed CLI / Online Compiler should give you a binary that can also run Mbed OS on this module. There seem to be drivers for the GNSS module as well from ST: TeseoLocation.


I have received my TTIG, and I am experimenting with a
STEVAL-STRK01, sending a message every minute, but I see that several packets are lost.
Packets are received more like every 2 mn.
And more important, after a while (33 packets) everything is stalled.

Where does the problem come from ?

  • TTIG ?
  • sending rate too High ?

this is not related to TTIG imho…

  • to close ?
  • did it worked before ?

I dont understand what you mean.

I wrote that I received 33 packets : so it worked.
The problem is that after a while ( less than one hour), the packets are no longer forwarded.

I see… ok, TTIG is working fine (here) so it must be your node (code)
-is the green led flashing when its no longer forwarding ?
-are you moving around with the node ?

The green led is fixed.
The node does not move.
I want to know how steady the connection can be. Up to now, it is not very successful.

“time”: “2019-04-06T14:55:48.642362912Z”,
“frequency”: 868.5,
“modulation”: “LORA”,
“data_rate”: “SF8BW125”,
“coding_rate”: “4/5”,
“gateways”: [
“gtw_id”: “eui-58a0cbfffe800301”,
“timestamp”: 129013820,
“time”: “2019-04-06T14:55:48.299748Z”,
“channel”: 0,
“rssi”: -57,
“snr”: 7.5

It seems that packet 4 is missing. Why ?


can you try move it further away from TTIG ?

1 Like

I move it a little bit further

“time”: “2019-04-06T15:25:08.960716565Z”,
“frequency”: 867.1,
“modulation”: “LORA”,
“data_rate”: “SF8BW125”,
“coding_rate”: “4/5”,
“gateways”: [
“gtw_id”: “eui-58a0cbfffe800301”,
“timestamp”: 110041692,
“time”: “2019-04-06T15:25:08.616035Z”,
“channel”: 0,
“rssi”: -67,
“snr”: 12.25

  • and where is your payload (what’s the size)
  • is ADR on/off ?
  • lower the interval

The Payload is 37 bytes

what is ADR ( and where ) ?

what do you mean by “lower the interval” ?

  • I’m not familiar with your node type/code
1 Like