Showing results for 
Search instead for 
Did you mean: 

Using Flash Loader Demonstrator GUI to download firmware to STM32F4 series of microcontrollers. Source code of flash loader demonstrator gui or STM32 cube programmer.


I am a student at Bilkent University and I have an internship project where I will be using a serial to ethernet converter to download firmware into an STM32F4 using tcp/ip protocol. I am using the IP address of the converter to make a virtual COM port and then using flash loader demonstrator or stm32 cube programmer I attempted to download the code, but I could not connect. Then I used the bootloader commands of STM32 to design a python program which connects to the ip address of the converter directly and not through the virtual serial COM port I created, using this tcp/ip connection from python I was able to download the program to STM32 correctly, but the process was too slow. Is there any way I can get my hands on the source code of either flash loader demonstrator gui or the stm32 cube programmer, so that I can change only the communication protocol from COM port to direct tcp/ip using the ip address of the converter?

Thank You!

Mohamed Aymen HZAMI
ST Employee

Hello @RSyed.2​,

Which STM32F4 and memory part numbers do you use ?

Mohamed Aymen.


Hello @Mohamed Aymen HZAMI​,

Thank you for your reply. I am using an STM32F407.


There are open source applications that implement the STM32 UART Boot Loader Protocol, and frankly it's not that involved.

My guess is the GUI built with very old versions of MSVC, so the value of the source here is more of a liability and time sink explaining how to make/build it from scratch.

Can't you build both ends as Berkeley Sockets / WINSOCK type applications ?

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
Senior II

Hello @RSyed.2​ ,

The source code for Flash Loader Demonstrator is located within its installation folder (for the command line version I think):

0693W00000Bcc8DQAR.pngSTM32 Flash loader demonstrator  can be downloaded here: FLASHER-STM32 - STM32 Flash loader demonstrator (UM0462)

As @Community member​ correctly stated, implementing the protocol should be relatively strait forward, especially that its specification is available: USART protocol used in the STM32 bootloader - Application note. An open source implementation can be found here: stm32flash.

Best regards,

@SBEN .2​ 

>>for the command line version I think

That's my understanding, but the OP asked for the GUI one, so assumed they'd already seen that.

Seem to recall the COM port stuff was in a DLL, one could probably swap that for a substitute that implemented a UDP/TCP socket connection. Or netcat / tty type thing.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..