Update the firmware from the UART GPIO 1 and 2

Are there anyone that has had any succes on updating the firmware on the odrive through the UART.?

I know it can be done through usb or the stl link, but if my robot is on the other side of the globe it is dificult to put in a stl link to update it. likewize, i don’t have a usb connection to the odrive.

Err, no. That’s not possible, sorry. There is no UART bootloader - only USB (DFU) and STlink are possible.

Your best bet would be to have something permanently connected either to the STLink or USB.

If you wanted to write your own UART bootloader (or find one somewhere) you could replace the stock bootloader with it. But then DFU would no longer work, and you’d need an STlink to install it.

That could actually work with the UART bootloader. Do you have any experience in where to begin looking for something like this, or how to make this?


No, I have not used, tried, or thought about this before. Not with odrive, stm32 or even any other microcontroller. You might be on your own from this point I’m afraid!

It’s fine thanks for the help though.


I thought these STM’s have a UART bootloader built in, it may be worth reading the datasheet to see which UART/USARTs are connected to the bootloader, I think its normally only USART 1 and 2. Odrive serial port is UART4

You do however need to pull specific pins in a set sequence.

You will also need a flashing utility, handily ST have provided one here…

Good luck!