cancel
Showing results for 
Search instead for 
Did you mean: 

Remote firmware update for STM32

Lenor
Associate

Hi!
I'm working on a project with an STM32 microcontroller and need to set up a way to update the firmware remotely. The device will be installed in remote locations so I won’t have physical access once it's deployed.
What’s the best way to approach this on STM32?
Any tips or examples would be really helpful.

Thanks!

3 REPLIES 3
Andrew Neil
Super User

You'll need two things:

  1. Some form of comms - to get the update into your system;
  2. A bootloader - to do the actual update.

"OTA" and "Bootloader" would be good search terms; eg,

https://community.st.com/t5/stm32-mcus-products/how-can-i-use-an-esp32-to-update-the-firmware-of-an-stm32-from/m-p/696326/highlight/true#M254867 and the next post in that thread. 

 

PS:

"In-Application Programming" or "IAP" would also be good search terms...

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.
mƎALLEm
ST Employee

Hello @Lenor and welcome to the community,

An example is provided at this link using ESP8266 WiFi module to perform an IAP: In Application Programming working on STM32F7. See this link.

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.
Sem_Moris
Associate II

I was just reading about this, and from what I understand, a common way to do remote firmware updates on STM32 is by using a bootloader that handles receiving and installing the new firmware. The bootloader is stored in the MCU’s flash memory and allows updates without needing external apps. It safely writes the new firmware to the main program area.
There are also third-party software solutions that can help manage updates remotely and make the process easier. For more details, you can check it out here: https://www.flexihub.com/over-the-air-software-update/