Moving Beyond Step Dir

I have been using ODrive for a couple of years now but have not implemented it in a system. I have been going on the assumption that I would be using the step dir interface because the applications I have been using are step dir. I know that the ODrive can do much better if I use RS485 , modbus or something like that. My main application is Mach4 and it has a modbus interface. The thing is that I don’t even know where to start. I am using the ODrive but my quandary is really of a larger scale. I have other drives that give me the same problem. My coding level is very rudimentary, mostly modifying existing code to make it work for my project. I don’t necessarily need to use Mach3 or 4 but there is no way I am going to create an application to run a mill or anything else from scratch. So I guess my question is. Where do I start? I know this not purely an ODrive question but you guys are the only ones I know that can get me going in the right direction.

I’m surprised that no one has had any response. I thought you guys would be all over this. Please give me a little help.

ODrive has UART, I2C, step/dir, PWM, and CAN interfaces. You’ll have to get something that can speak one of those protocols, then create a driver for it that sends the right messages to ODrive. One of these days we will implement CANopen on ODrive but it’s not available at the moment.

Thanks Wetmelon. What are the downsides to using the step/dir? Mach3 and Mach4 have Modbus interfaces. Do I have a chance to implement that?

There’s really no downside to using step/dir. You don’t get to use all the finer features of Odrive but it would operate just like a normal servo drive. Configuration changes would have to be made manually and the controller doesn’t know the status of the drive(except maybe alarm signal) but that’s about it.

For modbus you’d need to write a software that understands modbus into Odrive or use an external microcontroller that translates modbus messages to one of the serial formats that Odrive understands. When CANopen is implemented you can buy a bridge device that bridges modbus to CANopen but that might take a while.


Thanks Roiki1, you and wetmelon really are an asset to this community.