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]
Stepper, Servo, or Brushless: Picking a Motor When It Is Not a Drone
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.
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.