Running ODrive Firmware on a different STM32

Hey all,

I am curious to try and run the ODrive firmware on a different STM32 chip (F401 mainly) it does not talk to DRV8301, instead I have 3 IR2110S driver ICs.

I am trying to figure out the scope of this idea and I was wondering:

1- How involved/difficult is it
2- How much of the code would need to be changed.


This would be very involved/difficult, we do not recommend trying to port the firmware to another STM32, or modifying it for any other drivers ICs.

Out of curiosity, would this be an academic/hobby/fun pursuit, or application specific? Could any of our newer products better suit your needs?

Thank you,

I need to drive three motors and was wondering if I could port the code to a larger/faster STM32. Now I am looking into the pro version but I was trying avoid buying three drivers and make my own board that can drive all three.

If it’s for fun / hobby, go for it! And if you find any bugs, make a PR :wink:

For commercial purposes we strongly recommend upgrading to the newer devices, or contacting us at with your usecase and we can discuss options.

As for STM32 you’ll need 3 advanced control timers to generate 3-phase PWM for each motor. There’s no such STM32 MCU, AFAIK.

It’s bad idea to drive several motors with one board. To many wires, too much heat, interference, too many things to go wrong. It’s much better to put integrated driver on the back of each motor and drive them via CAN or comething like that.