Stepper, Servo, or Brushless: Picking a Motor When It Is Not a Drone

Drone builds make the choice for you. Everything else needs an actual decision, and it turns on one question: what happens when the load fights back.
Author

Benedict Thekkel

Published

July 3, 2026

A drone build has exactly one answer: brushless outrunner, high Kv, driven by an ESC. That is a solved problem and it is why most hobby writing about motors stops there.

The moment the job is a gantry, an actuator, a conveyor or a positioner, the answer stops being obvious. These are the notes I wish I had had while working through the motor family write-ups.


Everything is the same physics

Every motor works the same way: a current-carrying conductor in a magnetic field experiences a force, F = B I L. Arrange the conductors on a rotor inside a stator field and that force becomes torque.

Two relationships do most of the reasoning:

  • Torque is proportional to current. T = Kt * I
  • Back-EMF is proportional to speed. V = Ke * w

Which gives you the torque-speed curve: torque is highest at stall and falls linearly to zero at no-load speed, with peak power near the middle. Almost every sizing mistake is a failure to look at that curve.

What actually differs between families is how the current is switched to keep torque pointing the same way. Brushes do it mechanically. An ESC does it electronically. A stepper driver does it in fixed sequence. That single choice cascades into everything else.


The families, and what each costs you

Family Commutation Strength Watch out for
Brushed DC Mechanical brushes Simple, cheap, trivially driven by an H-bridge Brush wear, EMI, mediocre efficiency
BLDC Electronic, via ESC Efficient, high power density, long life Needs a controller; no position sense without extra hardware
Stepper Open-loop step sequence Precise positioning with no encoder Loses steps silently under overload; poor efficiency holding position
AC induction None, runs on slip Robust, industrial workhorse Needs a VFD for speed control
PMSM / servo Electronic FOC with encoder Precise and high performance Cost, and tuning

The question that decides it

What happens when the load exceeds what the motor can deliver?

A stepper loses steps. It does not know it lost them, and it does not tell you. Your position is now wrong and every subsequent move compounds the error, which is why a 3D printer that skips shows a layer shift rather than an error message.

A servo notices, because the encoder disagrees with the command. It can correct, report, or fault. That is what you are paying for.

So the rule is not “steppers are for precision”. Both are for precision. The rule is:

If it must hold or step to an exact position cheaply, use a stepper. If it must not lose position under load, use a servo.

Everything else is a cost and complexity trade around that sentence.

flowchart TD
  A[What is the job?] --> B{Needs precise<br/>positioning?}
  B -- no --> C{Battery powered<br/>or duty-cycle heavy?}
  C -- yes --> D[BLDC / PMSM]
  C -- no --> E[Brushed DC]
  B -- yes --> F{Can it afford<br/>to lose position?}
  F -- yes --> G[Stepper<br/>open loop]
  F -- no --> H[Servo<br/>BLDC + encoder]
  A --> I{Constant-speed<br/>industrial load?}
  I -- yes --> J[AC induction + VFD]


Size to stall, not to rated

The two numbers that catch people are both worst-case numbers.

  • Stall torque, not rated torque, is what you size against, with margin above your worst-case load. Rated torque describes the comfortable middle of the curve, not the moment the mechanism jams.
  • Stall current is what your driver and power supply have to survive. A locked rotor draws far more than the running current, and a driver chosen against the running figure dies the first time something binds.

For anything on a battery, prioritise efficiency, which points at BLDC or PMSM. For anything holding position for long periods, note that a stepper burns current standing still, which is a genuinely surprising power budget the first time you meet it.


Matching the driver

The driver is not an afterthought; it is half the system.

Motor Driver Control method
Brushed DC H-bridge (L298N, DRV8871) PWM for speed, polarity for direction
BLDC 3-phase ESC Six-step, or FOC for smoothness
Stepper Step/direction driver (A4988, TMC2209) Sequenced coils, microstepping
AC induction VFD Vary frequency and voltage
PMSM / servo Servo drive Closed-loop FOC with encoder feedback

Field-Oriented Control is worth knowing as a term: it controls the current vector rather than just its magnitude, which is what makes a good BLDC drive smooth at low speed instead of coggy. It is the difference between a motor that spins and a motor that positions.


Takeaway

Start from the failure mode, not the spec sheet. Ask what happens when the load wins: if silently losing position is survivable, a stepper is cheaper and simpler; if it is not, buy the encoder.

Then size against stall torque and stall current rather than the rated figures, and pick the driver in the same decision as the motor. Full notes on each family, including servo tuning and stepper microstepping, are in Hardware Tools; the drone-specific case is in the ESC post.


Back to top