STM32WL Custom Firmware via Arduino IDE using RAK3172 Module for LoRaWAN

Over the years, many different LoRa modules were introduced in the IoT market. It is common to have AT command interface on most of the modules, but having the ability to make custom firmware is always a desirable feature. With custom firmware on your LoRa module, you can save cost, power consumption, PCB size, and simplicity on the overall design without doing any AT commands handling. This is what we kept in mind when we launched our LPWAN LoRa module RAK3172 which is based on the STM32WL SoC chip.

We want our customers to have the ability to embed their application firmware into the RAK3172 module faster and easier. They can have the freedom to choose between the common toolchain for ARM for firmware development or the faster way which is via Arduino IDE.

STM32WL Firmware

Creation and building of custom firmware for the STM32WL SoC chip require programming skills on the side of the IoT engineer tasked with the device development. The traditional way of doing this is to use the SDK and SW development packages provided by STMicroelectronics. The IDE used in this development approach is called STM32CubeIDE. To support custom firmware development on this method, we provide a tutorial for our customers which can be found on RAKwireless Documentation Center. However, this approach will require users to dig deep into the implementation of HALs on STM32WL and understand the ins and outs of the STM32WL software package. Ideally, you will need a well-experienced embedded software engineer who will dedicate time and resources to develop this sophisticated firmware.

Arduino IDE for STM32WL

It has always been our mission to make IoT easy, which is why we decided to support Arduino IDE on our STM32WL SoC RAK3172 module. With Arduino IDE compatibility, many users got access to develop custom LoRa point-to-point and LoRaWAN applications quickly and way faster. The architecture of STM32WL is different from other STM32 chips because of its embedded Sub-Ghz radio component. This is why the popular STM32Duino open-source project could not support LoRa and LoRaWAN on this SoC chip immediately. With the RAK3172 module, the support for Arduino IDE on the STM32WL SoC chip was made possible by using the firmware framework RAK developed called RUI3 (RAKwireless Unified Interface).

STM32WL Custom Firmware Benefits - Low Power, Free Up PCB Space, Lower Cost.

With RUI3 Arduino-compatible APIs on the RAK3172 (STM32WLl SoC) module, the development of battery-powered devices can be easily supported. RUI3 supports different sleep modes, which allow users to prolong the battery life and operation of the device. The modes can be enabled via RUI3 API written on an Arduino sketch which is then compiled and uploaded via Arduino IDE. Furthermore, since custom firmware is embedded in the RAK3172 module, the need for an external MCU is eliminated which results in lesser current consumption, frees up PCB space, and savings on BOM cost. RAK3172 is only sold for 5.99 USD with no minimum order quantity requirements. At that minimal cost, you can already run a fully working LoRaWAN stack, as well as a working application code for your IoT device.

STM32WL System-in-Package and Modular Hardware

RAKwireless also offers an STM32WL SoC in a compact System-in-Package size called RAK3172-SiP. This is ideal for projects with constraints in the overall allowable size of the device. Same with RAK3172, this SiP variant is also compatible with Arduino IDE. In addition to this, we have a variant called RAK3172LP-SiP. It uses the lower power RF output pin of STM32WL which dramatically lowers the RF transmit power of RAK3172LP-SiP. Another development board we have for the RAK3172 is the WisBlock Core variant called RAK3372. This allows STM32WL to be interfaced on different sensor modules and interfaces from the WisBlock modular IoT ecosystem.

WisBlock – Modular IoT System Create LPWAN IoT Systems - RAKwireless - IoT Made Easy
WisBlock is an easy-to-code modular IoT system by RAKwireless that enables rapid prototyping and quick LoRaWAN integration. Develop better IoT projects with WisBlock.


With the availability of Arduino IDE compatibility to STM32WL-based LoRa Modules, IoT developers can now develop devices in a cheaper and faster way. In the rapidly changing IoT market, the speed of development is an advantage. Our commitment to RAKwireless is to make IoT easy, and we will continue to support faster ways for our customers to build their IoT products and services.