High performance motor control


High performance motor control



Hobby Motors For Robotics

Stepper motors are ubiquitous in hobby robotics projects: If you make a robotics or automation project today, it is very likely you will use them. Almost all DIY projects from 3D printers and CNC mills, to various custom robots and automation solutions use them. However in industrial automation, brushless servomotors have taken over, and it's clear why: They don't lose steps, are much more powerful, efficient, and silent. 

Brushless motors are not unique to expensive industrial automation equipment. In fact, you can get some very powerful and cheap motors at hobby shops. The electronics to drive these motors are also dirt cheap. So how come virtually no non-industrial automation systems use them? 

To be honest, I have no idea. Seriously, a driver that allows this should clearly exist. 
But since it didn't, I decided to make one. 

And you are invited! 
This project is open source, both in hardware and software, and I warmly welcome anyone who wants to join.

- Oskar Weigl





Key specs

  • Controls two motors.
  • 24V and 48V versions available.
  • Peak current >100A.
  • Continuous current depends on cooling: Details.
  • Encoder feedback for arbitrarily precise movements.
  • Supports two braking modes:
    • Brake resistor.
    • Regenerative braking.
  • Optional use of a battery means you can achieve very high peak power output with only a modest power supply.
  • Open source: Hardware, Software


  • USB Serial port -- PC, RaspberryPi, etc.
  • Step/direction -- Existing motion controllers
  • UART -- Arduino (with library), mBed, etc.
  • Servo PWM/PPM -- RC Recievers, Arduino, etc.
  • CAN -- CANOpen and CiA 402 is a possibility.
  • Some general purpose digital and analogue pins


  • Many types of command modes
    • Goto (position control with trajectory planning)
    • Position commands
    • Velocity command
    • Torque command

Please be aware that ODrive is currently in beta: the hardware is ready to support all of the above features, but some features are under firmware development.




Version 3

This is a demo of ODrive v3 with Turnigy SK3 motors, retrofitted onto the LitePlacer, a pick and place machine. The GT2 belts used on this machine limits the admissible torque, and hence we are only able to achieve a peak power of 250W. The motors and the ODrive remain completely cold.

Version 2

This is a demo of the 2nd version of the project. The peak power output in these tests were only about 60W.

Community Projects

Feature demos

More info

More info


Ask questions, share your ideas! Join the ODrive community.



Check out the ODrive motor guide. You can also read this post about outrunner motors, and this post about encoders.


  • Motion simulation platforms
  • Heavy duty camera gimbals
  • Camera dolly/slide
  • Cable cam
  • Mobile ground robots
  • Various art projects
  • 3D printers
  • CNC mills
  • Pick and Place machines
  • Polargraphs
  • Robot arms
  • Walking robots
  • Exosuits

Buy me a coffee