After launching the RAK3172 WisDuo Module, we received lots of interest in using it as a dedicated LoRa® device or LoRaWAN® end-device. Although we offer an improved and easier-to-use AT Commands set for the official RAK3172 firmware (compatible with LoRaWAN version 1.0.3), many users are still looking for ways to develop firmware for the STM32WL SoC IC inside the RAK3172.
Because we firmly believe in the customer-first principle, we took a closer look and can offer two possible ways. Here are your options for creating custom firmware for the RAK3172.
Option 1: Using the STM32CubeIDE
The first option is to use STM32CubeIDE from STM32 Microelectronics. It is free and uses the LoRaWAN middleware created by STMicroelectronics for the STM32WL product family. It is a complete IDE based on Eclipse, which is why embedded developers are not totally new to this IDE. You can debug your code using the ST-LINK tool and get access with the STM32CubeMX code generation software tool.
Although the STM32WL SDK code is primarily intended for the STM32WL Nucleo board with the STM32WL55 chip in it, we developed a guide that lets you easily port the existing examples to RAK3172, which has a different STM32WLE5 based chip. You can find the porting guide for STM32CubeIDE for RAK3172 in the WisDuo documentation here.
Option 2: Using the Mbed-OS
Another option for developing custom code for the RAK3172 is via Mbed-OS. It is an open source, easy-to-use operating system for the Internet of Things (IoT), developed by ARM.
You can develop your custom code using the Mbed Studio, which is based on Theia IDE. This Mbed-OS approach is a contribution by RAK3172 user Charles from ch2i.eu. He created a quick way to use various STM32 boards, including the RAK3172, with the Mbed-OS via his stm32customtargets, which works smoothly on Mbed Studio. You can find the complete details for this firmware customization approach, as well as the development board he designed for RAK3172, in his Github repository here.
With these two available options, you can use RAK3172 directly without the need for an extra microcontroller host sending AT commands, making your IoT devices more cost effective. This is definitely a good stepping stone for quickly developing custom firmware for your RAK3172 module.