ST LoRa® IoT tracker - STEVAL-STRK01

Thanks for commenting. However, I did remove the jumpers to enable the SWD link to the STEVAL board. However, it connects for a few seconds and then disconnects so no time to flash the .bin file that is provided.

Did you use the STEVAL board or do you have experience with a different STM32 board?

I am using STEVAL board with ST-Link on the B-L072Z-LRWAN1 board. No issue when checking with ST-Link application. Then I used Keil to program the board. You may have to check that ST-Link configuration is Connect on Reset with Hardware Reset since the firmware will enter low-power mode frequently. That will break the SWD connection.

So, you are NOT using the new STEVAL-STRKT01 board I am using :wink: I guess I have a problem you do not have with the B-L072Z-LRWAN1 board. This is a complete different set-up.

Yes, I have also tested with Reset with Hardware Reset enabled and low power mode enabled. Nothing seems to keep the connection up long enough. Any other ideas?

I found that if you connect the Nucleo using an USB Hub or a cable that is not high quality you might see this behaviour.

Also the ST-Link application can update the Firmware on the Nucleo board. I do this everytime I connect the board, and there is almost always an update…

I have used / tested with different high quality USB cables, with all the same behaviour.

Also, I have successfully updated the ST-Link firmware with the ST link utility on the nucleo. All seems to work fine, EXCEPT the STEVAL-STRKT01 still dropping the connection. I have even tested on different computers. Nothing helps untill now.

Any other ideas?

UPDATE:

  • I have played around with some of the jumper on the NUCLEO-F401RE, and when I changed the JP5 from U5V to E5V, the ST Link became stable and I managed to flash firmware (.bin) onto the STEVAL-STRK01. Good news :wink:
  • However, when I uploaded the provided .bin from the official download, the !joineui-xxxxxxxxxxxxxxxx still did not update the ?devicejoinparam
  • I could see that the ?sfversion did change to 2.0.0, so this is a new version, with the same problem
  • SO… I turned back to try to compile my own .bin with SW4STM32 and loaded my own keys in the Commissioning.h
  • however, the build does produce 20 WARNINGS!, I managed to get a new .bin and I could now upload it to the STEVAL-STRK01
  • I looks like things are getting better from here :wink: but this this is a very very bad experience for such a nice product. Hope you can benefit from my report.
1 Like

Seems clear that the software is still in development. I will try to get a roadmap for this from ST.

Hi All,

I have been struggling for two days with the STEVAL-STRK01, and could not find the proper information on the web. I just cross this thread and I am very pleased to at least a few other persons in the world are trying to make this board work.

I went through the same problem. Impossible to change the appkey
with the installed app.
This is my setting :
Processing command: ?fwversion
Current Fw version: 44251200
LoRa IOT tracker app version: 2.0.0
Command complete

I have issued a ticket to ST on this problem, but have not much hope on this side.

This was the bin i just dowloaded. Do you confirm that there exists a 2.0.1 version that works ?

After trying with no success ( due to my inexperience with eclipse) so make the AC6 STM32 suite run, I switched to Keil uvision 5 when I saw that the full verion is free for STM32L0 MCU.

I could compile it easily with keil and flash the board ( using a ST-link from a nucleo board).

Can you tell me where and how I can change the connections keys in the code ?

I am afraid that the ones that are stored in the EEPROM will not be changed.

I am suddenly feeling less lonely with this thread.

Thanks Tim,

I saw after my post that you have already answered in anticipation.
I changed the keys in the Commissioning.h file, and YES, it finally has the proper set up.
I will see now if I can reach TTN.

Cool!
Can you then help me to point to where I can download the right version of KEIL? I also want to give this a try.

Just go on http://www.keil.com/

ON the right, you will see the add for free uvision for STM32G0, L0, and F0 boards.
This gives acess to the process to get the licence. All is pretty smooth.
Then, when uvision is installed, you just have to
open the project and click on the project file Lora.uvprojx in MDK-ARM

1 Like

I must say I have not yet succeed to join TTN

Processing command: ?devicejoinstatus
LoRa has not joined

I need to check if there is a Lorawan gateway nearby.

Did anybody succeed in getting the connection ?

I see the problem on the map !

No Lora Gateway within 40 km. If I want to test the board, I will have to take the car.

This is a professional evaluation kit and not a ready to sell product for consumers. ST provides the sources and you have to finish it an create a finished product out of it.

Sorry, Karl, I understand you like this product as much as I like the specifications. However, any customer may expect from a tech giant as ST at least a working product as promoted and indicated in their own manuals. This is clearly not the case and should be a lesson for ST. Let us be critical, since the LoRaWAN market just has to many “great on paper but not so good in real life products” already.

I am quite bad with ST software team as well. Especially, almost of software examples are not aligned with STM32CubeMX which is ST promoted way to work with their MCU products.

For those who may have problems with DevEUI, you may try create a new firmware based on ST latest example (version 2). At least, it works for my STEVAL board with my country LoRaWAN provider. I am using Keil with free license for STM32L0 processors (http://www2.keil.com/stmicroelectronics-stm32/mdk). You can modify network settings in the following file. Please note that the key factor is to enable STATIC_DEVICE_EUI setting that allow you to set your own DevEUI.

STM32CubeFunctionPack_LORA1_V2.0.1\Projects\STEVAL-STRKT01\Applications\LoRa\Asset_Tracker\LoRaWAN\App\inc\Commissioning.h

#define OVER_THE_AIR_ACTIVATION 1
#define LORAWAN_PUBLIC_NETWORK true
#define STATIC_DEVICE_EUI 1

#define LORAWAN_DEVICE_EUI { 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x?? }
#define LORAWAN_JOIN_EUI { 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x?? }
#define LORAWAN_APP_KEY { 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x?? }
#define LORAWAN_NWK_KEY { 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x?? }

1 Like

From my point of view this is a evaluation with demo software. It does the trick it’s intended for an ST is combining sources from our vendors as well.

A proper product development should never use this as a starting point but should go back to the individual components used in the evaluation and start from there, building the application piece by piece.

I think ST has to make choices as well. Release early or finish a polished application. Their customers want to have code as fast as possible and know what to do to get it to work, with the help of ST or 3rd parties that help out.

Small disclaimer: I am a hardware engineer :wink:

Hi All,
I have now moved in the Big city and should have many lora gateways around but still no Join.

I wonder if my settings are correct.

In the Commissioning.h file, I have set

#define OVER_THE_AIR_ACTIVATION 1
#define LORAWAN_PUBLIC_NETWORK true
#define STATIC_DEVICE_EUI 0

#define IEEE_OUI 0x01, 0x01, 0x01
#define LORAWAN_DEVICE_EUI { IEEE_OUI, 0x01, 0x01, 0x01, 0x01, 0x01 }

#define LORAWAN_JOIN_EUI Application EUI from TTN
#define LORAWAN_APP_KEY App Session Key from TTN
#define LORAWAN_NWK_KEY Network Session Key from TTN

Is this correct ?

Did I miss something ?

Thanks

As long as the App Session Key and the Network Session Key are the same that should work.

What is your console output telling you ?

Hi,
if you set to zero the STATIC_DEVICE_EUI this means that you registered on TTN the device eui generated internally, right?
You can issue the ?devicejoinparam command to read back the keys actually used by the firmware and the ?devicejoinstatus to monitor the connection status to the LoRaWAN network