How to interpret bldc motor max voltage spec?

Hello oDrive community!

I have reached the Start odrivetool section of the getting started-documentation (link). At this point, it looks like power should have been applied, since 12V bus is measured in the odrivetool example, although “now apply power” is not stated explicitly anywhere.

I’m hesitating to connect my 24V power supply, since I noticed that the product page of my Donkey st4010 820kv motor specify a max voltage of ca 15V.

I’m new to blcd controllers, but I’ve used stepper motors with various sorts of controllers. Stepper motors have a voltage spec that one don’t have to respect and a current rating that you have to respect. Supplying a stepper motor controller using 24V rather than 12V gives tighter control (more torque, less heat) regardless of the motors rated voltage. Is it the same with bldc motors/controllers?

Or will the 24V PSU burn my donkey if I plug it in? :worried:

Increasing the voltage of your power supply will not immediately burn up or break your motor. The motor current is controlled by the motor controller, and it’s the current flowing through the motor that drives most of the heating in the motor. So as long as you set the current limit reasonably for your motor so you don’t overheat the windings, you’ll be fine at 24V. The winding insulation breakdown voltage is another potential limiting factor but I’ve never seen magnet wire be rated at less than 300V.

The voltage range given for brushless motors is about the right battery pack you want to use to be able to spin the motor up to the upper end of it’s useful operating range. With more voltage you’ll be able to spin it faster, which could catastrophically fail the rotor or bearings if you spin too fast. Higher voltage will mean you’ll be operating at a lower modulation index or duty cycle of the MOSFET’s, which means you won’t be able to control lower current as finely or control speed/position as well at low motor speed. On the flip side it will give you the ability to push more current through the motor. That said, you shouldn’t have a problem pushing as much current as you want through your motor at 12V unless you are trying to push it harder at high speed.

The reason you can increase the voltage on a steppers is because most stepper controllers now regulate the motor current. The torque capability of the stepper should be a function of the current flowing through it. The big advantage of a higher voltage is that it can get you a faster current rise time, which allows you to spin the motor faster by keeping the motor current closer to in phase with the rotor. If you had an accurate enough encoder, you could run a stepper motor with a brushless controller with FOC, as it is effectively a brushless motor with a high pole count, though it only has 2-phases.

Hope that helps!


Exactly the information I’ve been googling for. Thanks! :smiley:

I’ve seen that the developers of Mechaduino say they commute the stepper like a BLDC motor. Also see Smart Stepper, the slightly improved cousin. I’m planning to write a little comparison between the three alternatives for use in the Hangprinter Project soon.

1 Like

@jxb176 covered everything very well, but I just wanna highlight:

This is the same with brushless motors too.