Low Level Development of RAK3172

Hello, I want to use RAK3172. But I wonder when RUI support will come. I know I can only do it by programming stm32 but I really liked RUI.

We are working on new RUI version V3. But RAK3172 support has no release date yet.

RUI V2 will not get new devices added anymore.

I understand but we are going to start a high production business and we want to use the RAK3172. Can you give an example embedded software for RAK3172?

Hi @saffetblt17 ,

We really want to give you now RUI V3 but test is still on-going and no final commitment yet for official release.

At the moment, you either use the AT commands on the RAK3172 FW or use the STM32WL SDK package from STmicroelectronics itself.

If you want to work on the latter option, these are the source files for modification on the STM32WL SDK package (that was originally designed on the STM32WL Nucleo board) so that it will work on the RAK3172.

1 Like

Your answer helped me. But when I continue from the STM32WL55JC example, I can’t get any results. I guess linker and startup files are not for rak3172. Is it possible for you to send these files you used?

Or can you send me the STM32 CUBE IDE project prepared by you?

They would be for the MCU, the RAK3172 is an electrical implementation, which is what the three radio files are for, setting up the electrical connections that RAK used.

Yes you are right but RAK3172 uses STM32WLE5CC processor. I’m having a hard time finding examples of this. It would be great if Rakwireless could make a repo for this using stm32cubeide.

There is the software on the ST product page for that - STM32Cube_FW_WL_V1.1.0 - plus the examples in CubeMX plus on GitHub in ST’s repros.

And I see from Mistress Google that the Seeed offering is working on the same basis of altering the ST official software with the right connections.

Thank you for your answer. I reviewed Seed E5. I managed to get the code to the device. It throws a request to join the Lorawan network. But I am getting an error as in the screenshot. Can’t join. Can you help with this?


Hi @saffetblt17 ,

Can you try to change the APPKEY of the device registration in The Things Stack? If there is a MIC Mismatch, usually you got the right DEVEUI and APPEUI but your APPKEY needs to be refreshed.

Btw, is this for a Seeed Device or for the RAK3172? Did you use STM32WL code modification or you start with your own .ioc?

Unfortunately I tried this but couldn’t solve the problem. Is it an MSB, LSB, big endian problem? Unfortunately I tried this but couldn’t solve the problem. Is it an MSB, LSB, big endian problem? Please take a look at my settings.


MIC mismatch probably means you have the right APPEUI and DEVEUI but APPKEY needs to be refreshed.

Can you regenerate a new APP KEY? You can find it on the General Settings tab. Then you need to click Expand in the Join Settings. Generate a new one and don’t forget to save.

Then update the APPKEY on the STM32WL Code too.

Yes I tried that. I have created a new device registration in the images above. But the result did not change.

What is the LoRaWAN version do you use? Have you tried both v1.0.2 and v1.0.3? Same result?

Yes, I tried them all. Frankly, I couldn’t find where it was set in stm32. But I tried them all over TTN. The result is the same.

@saffetblt17 ,

I can’t figure out directly what causes the MIC mismatch. Usually, it is an APPKEY that needs to be changed to have a successful join if that is the issue.

I can try your code here in my setup if you can send me the joining code and the .ioc you use.

You can also use mbed-os, very easy now, check this out how

1 Like

Really nice work @Charles ! Something to try :100: :clap:

Btw, we also have now the STM32CubeIDE porting guide as well that uses the STM32WL SDK from ST.

1 Like