Showing results for 
Search instead for 
Did you mean: 

LoRaWAN FUOTA over AT command using STM32WL as Slave device with STM32L4 master

Nikhil D&K

Hello Developers,

In our current project, we are using STM32L496 mcu along with STM32WL chipset loaded with AT Slave example to communicate with LoRaWAN network. We are able to send/receive uplink and downlink from STM32L4 end device to  LoRaWAN server using the STM32WL chipset. 


Now we are looking for the possible ways of performing FUOTA of master device STM32L4 using STM32WL as slave device. So can anyone please guide me what could be a good starting point do i need to modify changes in AT slave example of STM32WL as well ? 

Currently i am reffering to "STM32CubeExpansion_LRWAN_V2.1.0" repository for LoRaWAN FUOTA examples where STM32L476 is interfaced with SX1272 via SPI interface. I am ciurrently stuck as i can't undertsnad how to use the same code for communicating with STM32WL chipset i.e using AT slave.


I am also reffering the following AWS IoT Core for LoRaWAN Workshop  for performing the FUOTA  and it also states that the Firmware Update Over The Air (FUOTA) section of the workshop, your device must meet the optional FUOTA prerequisites. So i would like to know on the end device where should this prerequistes be implemented on the slave side STM32WL or master STM32L4. 


Also i would like to know is it practical to perform OTA DFU using AT slave example on STM32WL.  Also at the same time can you please guide me for the same.  




ST Employee

Hello @Nikhil D&K 

I suggest you take a look at the AN5554 and the AN5411 For more details about FUOTA application using both STM32WL and STM32L4. They should be helpful.

Best Regards.


To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

Hello @STTwo-32 , 


Thanks for your response. 

In our end device we already have a DFU feature available using NFC tag (ST25DV04KC) where we use the dual bank functionality of STM32L4 to swap bank with newly loaded firmware after reset. So cant we use the some what same approach for downloading firmware in form of chuncks (64 bytes) using LoRaWAN to end device bank2 and swapping bak after succesfull download & verfication of new firmware.


I have gone through examples of FUOTA for both STM32L4 and STM32WL. In both scenarios the end device is running firmware of an end node application not and AT slave like example. But in my case i am running AT slave example on STM32WL slave device which is controlled by master STM32L4 device. 


Few things which i observed is i need to enable Multicast mode in AT slave example so that it can recieve multicast packets by default it is disabled. So i need to enable that in STM32WL (slave device) for FUOTA. 


Also wanted to know can't i directly put my end device in Class C mode and start receiving data packets in chunks and store it in internal flash bank2, and  implement my own OTA logic.