Is this motor compatible? Odrive 0-100% PWM?


i have a Scorpion HK 4035 500kv and want to know if it is compatible with the odrive. I want to use it as a Spindle servomotor for a CNC project. For that i want to use a PWM signal to control the motor in Velocity mode. Also the motor needs to be able to hold its position for an automatic toolchanger. I want to reach 12-15k rpm in the upper range.

and the last question is, can i generate a spindle load signal (0-100%)? Maybe over usb or an analog output.

Should work.

Yes, you can get the current torque from the ODrive over USB, UART, or CAN


would i also be able to reach 12-15k rpm? This Motor has 10 Poles.

With 10 poles, I don’t believe so. ODrive is limited to < 600Hz electrical. That means you’re at 600Hz / 10 * 60 = 3600rpm. Unless you mean 5 pole pairs, in which case you’re limited to 7200 rpm.

We’re typically limited to a few thousand rpm at the 7 pole pairs that the D5065 motors ship with. 600hz / 7 * 60 = 5142 rpm, which sounds right. So at


how does the Odrive handle the Encoder on a 1:2 ratio? (7k RPM on the Motor and 14k Rpm on the Spindle) I mean does the Encoder have to be on the motor shaft?

You have to adjust encoder.config.cpr to account for the ratio. It’s better if it’s on the motor shaft. But you’re not limited by the encoder rpm, you’re limited by the commutation speed. ODrive simply can’t commutate a motor that quickly.

my idea is to have one differential encoder to feed the signal into both my cnc and the odrive (into the odrive via a differential to single ended adapter). i would just put, for example, a 30 teeth pulley on the motor and a 15 teeth pulley on the spindle and because i want to do rigid tapping and spindle orientation for a toolchanger, the encoder needs to be on the spindle shaft. Then i could theoretically reach 14.400rpm on the spindle and 7.200 rpm on the motor.

Ah, ok, gotcha. That should work. Just take your encoder cpr and multiply it by 2 - since you’re seeing 2 revolutions for every 1 revolution of the motor.

okay thank you. My last question is, is the software now able to understand 0-100% pwm to control the velocity? I have searched and found threads about this but not really an answer wether it is possible.

this is probably my last question for real now,

if i am limited to 7200rpm even if the motor could spin up to 24000rpm with 48v, would it make more sense to just buy a 24v power supply and double the amperage? Does more amperage make more torque or more voltage, even though the controller cant electrically spin the motor higher?

Well, ODrive can handle < 600 hz electrical frequency and about 70A*56V = ~4kW power per channel, peak. So however the power delivery works out best for your system within these constraints. Then you can use gearboxes or other reduction methods to swap speed and torque at constant power

P = IV = \tau*\omega