What off-the-shelf 4axis controllers does the oDrive work with?


This unit appears fantastic! Please help with some info I could not see on pages.
Building a CNC mill, and have been looking for a brushless controller instead of a stepper. This looks exactly like what I need.

  1. What kind of standard controllers will the oDrive work with?
  2. Can you recommend a controller that is able to take advantage of the speed of the brushless motor, and not only send pulses, so it is behaving like a stepper?
  3. Does the oDrive measure angle with the EMF in the motor? Where does this feedback go? to the oDrive, or the CNC controller?
  4. How does the oDrive work with a motor with angle sensor?

Thanks a lot.


Welcome to the community, there are quite a lot of people here that are building CNC machines, so you are in good hands.

Any controller that can output step/dir signals.

I would suggest a controller with some decent 32 bit micro-controller as the back-end. I haven’t tried it myself, but many people recommend the Duet controller for standalone operation. Various computer cards can also work, like the SmoothStepper.
None of these use any more signals than step/direction: we haven’t seen any controller that can do this. We would love to know of one that can read feedback and especially give velocity feed-forward as well as the position signals.

The ODrive doesn’t use the EMF, it requires an encoder to do the commutation, and it is also used for positioning feedback. Currently we support incremental encoders (optionally with index pulse). The feedback goes to the ODrive, but you could wire it to your CNC controller also so both can see the feedback if that is useful for your setup.


I would suggest having a look at Tom’s Kflop controller over at Dynomotion as it will close the loop on the encoders with either +/-10 or step/dir back to the servo controller. We have retro’d a few old CNC systems with the product and have found it to be a well supported and well documented cost effective solution. The built in test equipment for servo tuning was a godsend when trying to interface to some old Siemens analog servo drivers. It also provides a customisable GUI with gcode interpreter for the front end so overall it provides a rudimentary albeit complete solution to the controller issue.


By “feedback”, do you mean encoders? The KFLOP mentioned by leaf is capable of this, but I’m not sure how it can be interfaced to odrive other than step/dir. It can run custom C programs though, and interface via GPIO, so could potentially avoid step/dir? However, that seems like quite a bit more work that outputting straight step/dir using encoder feedback. What advantages do your foresee if the controller can give velocity/position vs a step/dir setup and encoder feedback setup?

Sorry, what is +/-10? I run Kflop on a couple of my machines, and agreed it’s a great card with a lot more functionality than the Duets/Smoothsteppers for not too much more $. I’m not exactly sure what the ideal wiring setup to the ODrive would be though. Would you just run step/dir and run the encoders in parallel with the ODrive?


+/-10V analog as the drive signal to the servo, not relevant in your case.
Yes, tee the encoders and use step/dir as the drive signal to the odrives.