Robo2u
All posts
stepper-motorssteppersmicrosteppingnema-17closed-loop-stepperstepper-drivermotion-controlrobotics-hardwareguide

Stepper Motors & Drivers: The Ultimate Guide

An engineer-grade guide to stepper motors and drivers: how steps and microsteps really work, NEMA frame sizes, the torque-speed curve, resonance and missed steps, A4988 vs Trinamic TMC drivers, closed-loop steppers, and honest sizing math.

By Robo2u Editorial · 36 min read

A stepper motor is the most honest actuator in the catalog and the most misunderstood. It is honest because it does exactly one thing: given a pulse, it advances the rotor by a fixed angle and holds there. No feedback, no controller smarts, no surprises — until you ask it to go fast or push hard, at which point it lies to you silently by skipping steps and never telling anyone. That gap between "it just works" and "it failed without a fault flag" is where most stepper grief lives.

The misunderstanding usually starts with microstepping. Marketing puts "1/256 microstepping, 51,200 steps/rev" on the box and an engineer reads that as 51,200 distinct positions of usable resolution. It is not. A 1.8° stepper is accurate to maybe ±5% of a full step no matter how finely you slice it, and most of those microsteps carry so little incremental torque they cannot move the load against friction. Understanding why is the difference between using microstepping as the smoothing tool it actually is and trusting it as the precision tool it pretends to be.

The take: The stepper's superpower is open-loop positioning with zero tuning and zero feedback hardware — and that is also its trap. The single most expensive mistake is sizing on holding torque (the big number on the datasheet) and ignoring the torque-speed curve, where usable torque collapses as RPM climbs. A stepper picked on holding torque alone will stall the first time it accelerates a real load. Size on pull-out torque at your operating speed, drive it from a high bus voltage through a current-chopping driver, and either keep a comfortable margin or add an encoder and stop pretending it is open-loop.

Companion reading: servo motors, brushless DC motors, motor controllers and FOC, encoders, and linear motion systems.

Table of contents

  1. Key takeaways
  2. What a stepper motor actually is
  3. How a stepper works: phases, detents, and step modes
  4. NEMA frame sizes and what they mean
  5. Unipolar vs bipolar
  6. The torque-speed curve and the four torques
  7. Resonance, missed steps, and how to avoid them
  8. Microstepping: resolution vs usable torque
  9. Stepper drivers: A4988/DRV8825 vs Trinamic TMC
  10. Closed-loop steppers: bolt on an encoder
  11. Steppers vs servos vs BLDC: an honest decision guide
  12. Sizing and selection
  13. Applications
  14. Frequently asked questions

What a stepper motor actually is

A stepper motor is a brushless permanent-magnet (or hybrid) motor built with a large number of magnetic poles so that, instead of spinning freely, it snaps to a sequence of discrete equilibrium positions — steps. You move it by energizing its windings in a pattern that walks those equilibrium points around the rotor. Count the patterns and you know, in principle, exactly where the shaft is.

That "in principle" is doing heavy lifting. A stepper is the canonical open-loop positioning device: there is no encoder, no sensor, no controller checking whether the rotor actually followed. You command a step, the driver pushes current, and the motor should move one increment. If the load torque exceeds what the motor can deliver at that instant, the rotor fails to advance — it skips a step — and nothing tells you. The commanded count and the real position diverge, permanently, until you re-home.

Contrast this with a servo, which closes a loop around a feedback sensor and refuses to be wrong silently. The stepper trades that self-correction for radical simplicity: no encoder to buy, no loop to tune, no commutation feedback. For a huge class of machines — 3D printers, small CNC, lab automation, optics stages — that trade is exactly right, because the loads are predictable and a generous torque margin makes skipped steps a non-event.

Why steppers persist

You could ask why, in 2026, anyone uses an open-loop actuator at all when a brushless servo gives you feedback for not much more money. Three reasons keep steppers alive:

  1. Zero-speed holding torque without a control loop. A stepper just holds — energize the windings and the rotor sits in a magnetic detent, stiff and repeatable, with no tuning and no risk of loop instability. A servo holding position is a closed loop fighting to stay at zero error.
  2. Deterministic open-loop positioning. No homing math, no observer, no encoder alignment. Step count is position. This makes firmware trivial — one reason every hobby 3D printer is a stepper machine.
  3. Cost. A NEMA 17 stepper plus a $5 driver chip undercuts any servo-grade closed-loop axis. At low speed and modest power, nothing beats it on dollars per positioned axis.

Rule of thumb: if your axis spends most of its life holding a static position at low speed, and you can afford a 2× torque margin, a stepper is almost always the cheapest correct answer. If it spends its life accelerating hard or running fast, look at a servo or BLDC.

How a stepper works: phases, detents, and step modes

The dominant type by a wide margin is the hybrid stepper — a permanent-magnet rotor with finely toothed pole pieces, surrounded by a stator wound in two phases (call them A and B). The "hybrid" name is because it combines the permanent-magnet rotor of a PM stepper with the toothed reluctance structure of a variable-reluctance stepper, getting the best of both: strong torque and fine step angle.

Where the steps come from

A standard hybrid stepper has 50 rotor teeth. Each electrical cycle of the two phases advances the rotor by four steps, and there are 50 such cycles per revolution:

Steps per revolution = rotor teeth × 4
                      = 50 × 4
                      = 200 full steps/rev

Full-step angle = 360° / 200 = 1.8°

That is where the ubiquitous 1.8° / 200-step stepper comes from. A 0.9° stepper has 100 rotor teeth and gives 400 steps/rev. Cheaper or specialized parts exist at 7.5° (48 steps/rev, common in old PM steppers) and other angles, but in robotics and motion control you will see 1.8° everywhere and 0.9° when you want finer native resolution.

Energizing the phases

The two phases are electromagnets. The rotor's permanent magnet wants to align with the net stator field. By controlling the direction and magnitude of current in phase A and phase B, you steer that net field vector, and the rotor follows it to the new equilibrium — the next detent.

  • Full step (one phase on): energize A+, then B+, then A−, then B−. Four positions per electrical cycle, lowest resolution, simplest.
  • Full step (two phases on): energize A and B together, in the four sign combinations. Same 1.8° step but ~40% more torque because both windings contribute, at the cost of more heat. This is the normal full-step mode.
  • Half step: alternate between one-phase-on and two-phases-on states, doubling the positions to eight per cycle — 400 half-steps/rev for a 1.8° motor. Torque ripples between the two states.
  • Microstep: instead of full-on/full-off, the driver feeds sinusoidally weighted current to both phases so the field vector points at intermediate angles. Now the rotor settles between the full-step detents.
Microstep resolution:
  steps/rev = 200 × microstep_ratio

  Full step      (1/1)   ->   200 steps/rev   (1.8°)
  Half step      (1/2)   ->   400 steps/rev   (0.9°)
  1/4  step              ->   800 steps/rev   (0.45°)
  1/8  step              -> 1,600 steps/rev   (0.225°)
  1/16 step              -> 3,200 steps/rev   (0.1125°)
  1/32 step              -> 6,400 steps/rev   (0.05625°)
  1/256 step             -> 51,200 steps/rev  (0.00703°)  <- not 51,200 useful positions

Detent torque vs holding torque

Cut power entirely and a hybrid stepper still resists rotation a little — you can feel the "clicks" if you turn the shaft by hand. That is detent torque (also called residual torque), produced by the permanent magnet alone, with no current. It is typically 5–10% of holding torque and you mostly account for it as a nuisance: it adds to the torque the motor must overcome at micro-step boundaries and degrades microstep accuracy.

Holding torque is the torque the energized motor produces to resist being pushed off a step, at rated current, standing still. It is the big datasheet number — and as the next sections hammer home, it is not the number that determines whether your machine works at speed.

NEMA frame sizes and what they mean

"NEMA 17" tells you the faceplate size and bolt pattern, nothing else. NEMA frame numbers are the faceplate width in tenths of an inch: NEMA 17 = 1.7 in (43.2 mm) square face. It says nothing about length, torque, current, or step angle. A 20 mm-long NEMA 17 pancake and a 60 mm-long NEMA 17 are both "NEMA 17" with a 3–4× torque difference.

So the frame number is a mounting and rough-size category; torque comes from the frame size and the body length (more iron and copper, more torque). Within a frame you choose length to get the torque you need.

NEMA frame Face size Common holding torque Typical rated current Where it fits
NEMA 11 28 mm (1.1 in) 0.06–0.12 N·m 0.5–0.67 A Optics stages, small lab automation, cameras
NEMA 17 42.3 mm (1.7 in) 0.2–0.65 N·m 0.8–2.0 A 3D printers, desktop CNC, small robots, pipetting
NEMA 23 56.4 mm (2.3 in) 0.9–3.0 N·m 2.0–4.5 A CNC routers, larger gantries, conveyors, automation
NEMA 34 86 mm (3.4 in) 3.0–13 N·m 4.0–6.0 A Large CNC, lathes, plasma tables, heavy gantries

A few practical notes the table can't carry:

  • Length matters as much as frame. A NEMA 17 "high-torque" 48 mm body (e.g. a 0.55 N·m unit) and a NEMA 17 pancake (20 mm, ~0.1 N·m) share a bolt pattern and almost nothing else. Always read holding torque and body length, not just the frame.
  • Higher current ≠ more torque for free. Rated current sets how much copper loss (heat) the windings tolerate. Two motors of equal torque can have very different current ratings depending on winding turns; the low-current/high-resistance one needs more voltage to run fast.
  • NEMA 23 is the workhorse of small CNC. It hits the sweet spot of torque, cost, and driver availability. NEMA 34 is where you start considering a servo instead, because at that power level the stepper's low-speed-only advantage erodes.
  • Shaft and mounting are not standardized within a frame. NEMA 17 commonly uses a 5 mm shaft; NEMA 23 a 6.35 mm (1/4 in) or 8 mm; check before you buy pulleys and couplers.

Rule of thumb: choose the frame for the bolt pattern and rough torque class, then choose the body length for the actual torque. Buying "a NEMA 23" without specifying length is like buying "a bolt" without a length.

Unipolar vs bipolar

A stepper's two phases can be wired two ways, and it changes the driver you need and the torque you get.

Bipolar steppers have two windings, four wires total. To reverse the field in a winding you reverse the current through it, which requires an H-bridge per phase — the driver must source and sink current both ways. This is what every modern driver (A4988, DRV8825, TMC) does. Bipolar uses the full copper of each winding in both directions, so it gives the most torque per size. Four-wire steppers are bipolar-only.

Unipolar steppers add a center tap on each winding — typically six wires (two windings + two center taps) or eight wires (every coil end brought out). The center tap lets a simple driver reverse the field by energizing one half-coil or the other, using cheap single-transistor switches instead of H-bridges. The catch: only half the winding carries current at a time, so for the same copper you get roughly 70% of the bipolar torque (the active copper drops by half, torque scales with the square-root-ish loss). This is the old, cheap way, and it is largely obsolete now that integrated H-bridge driver chips are a couple of dollars.

The useful trick: a 6-wire unipolar motor can be driven bipolar by ignoring the center taps and using only the full windings — you get the full bipolar torque. An 8-wire motor is the most flexible: you can series the half-coils (high inductance, more low-speed torque, lower current), parallel them (low inductance, better high-speed torque, higher current), or run unipolar. For a fast axis, parallel; for a slow high-torque axis, series.

Wiring Wires Driver needed Relative torque Notes
Bipolar 4 H-bridge (A4988/TMC) 100% (reference) Modern default; can't be rewired
Unipolar (driven unipolar) 5, 6 Simple switches ~70% Cheap, legacy, lower torque
Unipolar wired bipolar 6 H-bridge 100% Ignore center taps; full torque
8-wire (series) 8 H-bridge 100%, high inductance Best low-speed torque, lower current
8-wire (parallel) 8 H-bridge 100%, low inductance Best high-speed torque, higher current

Rule of thumb: buy 4-wire bipolar unless you have a specific need for the flexibility of 8-wire. Never spec a unipolar-only driver in a new design — H-bridge chips have made unipolar drive a relic.

The torque-speed curve and the four torques

This is the section that prevents the most field failures. A stepper does not have "a torque." It has a torque that depends heavily on speed, and four distinct torque numbers that mean different things.

The four torques

  • Holding torque — energized, standing still, rated current. The maximum static torque before the rotor is forced off its step. The biggest, most-quoted number.
  • Detent torque — de-energized, permanent magnet only. 5–10% of holding. The cogging you feel by hand.
  • Pull-in torque — the maximum load torque against which the motor can start, stop, and reverse without losing steps, at a given step rate, from a standstill (no acceleration ramp). This is the conservative, no-ramp limit.
  • Pull-out torque — the maximum load torque the motor can carry while running at a given speed (already up to speed). This is the curve you size against, and it is always higher than pull-in at the same speed.

The region between the pull-in and pull-out curves is the slew range: you can run there, but you cannot instantly start or stop — you must ramp (accelerate and decelerate) into and out of it. Every stepper controller worth using ramps; instant start/stop into the slew range is how you lose steps.

Why torque falls with speed

A stepper winding is an inductor. To make torque you need current in it, and current in an inductor cannot change instantly:

For a winding: V = I·R + L·(dI/dt)

At low speed, you have time for current to reach its full value each step,
so torque ≈ holding torque.

As step rate rises, each step gets shorter. There is less time for current
to build before the driver switches to the next step. Average current — and
therefore torque — falls. Above the corner speed it falls steeply.

The fix is voltage. The rate current rises is dI/dt = (V − I·R)/L. More applied voltage forces current into the inductance faster, extending the speed at which torque holds up. This is why steppers are driven at 24 V, 36 V, or 48 V from a chopping driver even though the motor's rated voltage (rated current × winding resistance) might be only 2–3 V. The driver chops the high bus voltage to limit average current to the rated value at low speed, but the high bus is available to ram current in fast at high speed.

Approximate corner (knee) speed where torque starts to roll off:
  f_corner ≈ V_bus / (2π · L · I_rated)    [steps related, order-of-magnitude]

Higher V_bus  -> higher corner speed -> torque holds to higher RPM
Lower L (parallel 8-wire)  -> higher corner speed

Rule of thumb: a stepper's high-speed torque is set by your bus voltage and winding inductance, not by the holding-torque number. To go faster, raise the bus voltage (within the driver's and motor's limits) and pick a low-inductance motor. Doubling holding torque does little for top-speed torque if the inductance is high.

A practical consequence: a NEMA 17 with 0.55 N·m holding torque might deliver only 0.15–0.20 N·m at 600 RPM (2,000 steps/s). If you size on the 0.55 N·m figure and your load needs 0.3 N·m at that speed, the machine works on the bench at low speed and stalls in production at speed. Always pull the torque-speed curve from the datasheet and read the torque at your operating point.

Resonance, missed steps, and how to avoid them

A stepper is a mass (rotor + load inertia) on a magnetic spring (the detent stiffness). Like any spring-mass system it has a natural frequency, and if you drive it at that frequency, the oscillation amplifies until the rotor swings far enough off its commanded step that it loses synchronism and stalls. This is mid-band resonance, and it is the classic stepper failure that looks like a haunting: the motor runs fine slow, runs fine fast, and stalls or screams at one particular speed in between.

Where resonance lives

The fundamental resonance for an unloaded or lightly loaded hybrid stepper is often in the range of roughly 100–250 full-steps/s, which for a 1.8° motor is about 0.5–1.25 rev/s (30–75 RPM). There are harmonics higher up. The exact frequency depends on rotor inertia, total load inertia, and detent stiffness, so adding load inertia lowers the resonant frequency — sometimes a useful tuning knob.

How to kill it

  • Microstep. This is the number-one fix. Full-step drive slams the rotor from detent to detent, exciting the resonance hard. Microstepping moves the rotor in small smooth increments, so the impulsive excitation that rings the spring-mass system is gone. Most modern drivers default to 1/16 or finer precisely for this reason.
  • Don't dwell in the resonant band. If a constant-speed move must cross the resonant speed, ramp through it quickly rather than running at it.
  • Add damping. Mechanical: a friction damper or an inertial (viscous) damper on the rear shaft. The load itself often provides enough damping; bare motors on a bench are the worst case.
  • Add or change inertia. Coupling more inertia shifts the resonance and reduces its amplitude.
  • Use a smart driver. Trinamic chips actively damp mid-band resonance in their chopper modes; StealthChop in particular is much smoother through the resonant band than a fixed-off-time driver.

The other ways steppers lose steps

Resonance is one cause. The others:

  • Torque overload. Load torque exceeds pull-out torque at the current speed. The rotor falls behind, slips a pole, and the count is now wrong.
  • Too-aggressive acceleration. The torque needed to accelerate the inertia (τ = J·α) plus the load torque exceeds available torque during the ramp. Gentler accel ramps fix it.
  • Insufficient bus voltage at speed. Covered above — torque rolls off and the load wins.
  • Undersized driver current. If the driver current limit is set below what the motor needs, you throw away torque you paid for. (But over-setting it cooks the motor.)

Rule of thumb: when a stepper machine "loses position randomly," check in this order: (1) is it stalling at one specific speed? — resonance, microstep harder; (2) does it fail on hard accelerations? — soften the ramp or raise voltage; (3) does it fail at high speed only? — torque-speed limit, raise bus voltage; (4) is the driver current set correctly? Closed-loop steppers (next-but-one section) eliminate the silent part of all of these.

Microstepping: resolution vs usable torque

Microstepping is the most over-sold spec in the stepper world, so let's be precise about what it does and does not give you.

What microstepping is

The driver feeds the two phases currents weighted as sine and cosine of an electrical angle. As that angle advances in small increments, the net field vector rotates smoothly, and the rotor follows to intermediate equilibrium points between the full-step detents:

Phase A current:  I_A = I_peak · cos(θ_e)
Phase B current:  I_B = I_peak · sin(θ_e)

θ_e advances by one microstep each step pulse.
1/16 microstepping -> θ_e advances 360/64 electrical degrees per microstep
(one full electrical cycle = 4 full steps = 64 microsteps at 1/16)

What microstepping actually buys you

Smoothness and resonance reduction — real and valuable. Smooth current means smooth torque means quiet, low-vibration motion that doesn't excite resonance. This is the genuine reason to microstep, and it is why printers run 1/16 or finer.

Effective resolution for motion, not for positioning accuracy. You can command the shaft in fine increments, which matters for things like extrusion smoothness, but the shaft will not reliably stop at all 51,200 of those positions.

The microstep-accuracy myth

Here is the part the datasheet hides. The torque holding the rotor at a microstep is the incremental torque, and because the field is a sine, the torque-per-microstep follows a sine too:

Restoring torque at electrical angle θ_e from a step:
  τ(θ_e) = τ_holding · sin(θ_e_error)

Near a full-step detent the sine is steep -> stiff, accurate.
Between detents (the finest microsteps) the incremental torque
per microstep approaches zero -> the rotor can't reliably reach
or hold those positions against friction.

Two consequences:

  1. Incremental torque per microstep is tiny at fine ratios. Going from 1/128 to 1/256 roughly halves the already-small torque holding each new microstep. If static friction in your mechanism exceeds that incremental torque — and it usually does well before 1/64 — the rotor simply doesn't move on the next microstep. It moves in a "stiction step" only when enough microsteps have accumulated.
  2. Detent torque and manufacturing tolerances dominate accuracy. A 1.8° motor's step accuracy is typically specified at ±5% of a full step, non-cumulative — about ±0.09°. Microstepping does not improve this; the magnetic and mechanical imperfections that cause it are unaffected by how finely you command. So 1/256 microstepping on a ±5% motor gives you 51,200 commands but the same ±0.09° truth.

Rule of thumb: microstep for smoothness and quiet, not for accuracy. Above about 1/16 you gain almost no real positioning benefit and only smoother motion. If you need true sub-step accuracy, you need an encoder (closed-loop stepper or servo) or mechanical reduction (a 5:1 gearbox or a fine-pitch leadscrew multiplies your real resolution far more honestly than microstepping does).

A clean way to get genuine resolution: gear it down. A 1.8° motor through a 5:1 planetary gearbox gives 1,000 full steps/rev of real, torque-backed resolution (0.36°/step), and multiplies torque 5× too. That beats trusting 1/8 microstepping on the bare motor for any application where the position has to be right under load. See the linear motion guide for how leadscrew pitch turns step angle into real linear resolution.

Stepper drivers: A4988/DRV8825 vs Trinamic TMC

The driver is half the system. The same motor on a $5 A4988 and a $12 TMC5160 behaves like two different machines — one buzzy and rough, one silent and smooth. Here is what separates them.

What every stepper driver does: current chopping

A stepper is current-controlled. The driver's core job is to regulate the winding current to a setpoint regardless of bus voltage. It does this by chopping: it turns the H-bridge on to ramp current up, senses the current (via a sense resistor), and when it hits the limit, turns off (or recirculates) to let current decay, then on again — thousands of times per second. This is how a 2–3 V motor runs safely off a 36 V bus: the chopper holds average current at the rated value while the high voltage is available to slew current fast.

The setpoint is set by V_ref (a trimmer or a register) and the sense resistor. Getting this right is the single most important driver adjustment — too low throws away torque, too high overheats the motor.

A4988 current limit:    I_limit = V_ref / (8 · R_sense)
DRV8825 current limit:  I_limit = V_ref / (5 · R_sense)
(check the specific board's R_sense; clones vary)

The classic chips: A4988 and DRV8825

Allegro A4988 — the workhorse of a decade of RepRap printers. Up to ~35 V, ~1–2 A/phase with a heatsink, microstepping to 1/16. Cheap, robust, and loud: it uses fixed-off-time current decay that produces audible mid-band whine and rougher motion. Fine for non-critical, cost-sensitive axes.

TI DRV8825 — the A4988's bigger sibling. Up to 45 V, ~1.5–2.2 A/phase, microstepping to 1/32. Higher voltage and current ceiling than the A4988, and a different decay scheme. Still fixed-decay and still buzzy by modern standards, but the higher voltage rating makes it the better choice for faster axes. Both are pin-compatible "StepStick" modules and both are step/dir only — no configuration, no telemetry.

The modern chips: Trinamic TMC

Trinamic (now part of ADI) changed the game by putting intelligence in the driver. The two you'll meet:

  • TMC2209 — up to ~28 V (45 V abs max), ~2 A RMS/phase, 1/256 microstepping (with on-the-fly microstep interpolation from coarser step input). Adds StealthChop2 (near-silent voltage-mode PWM chopper), SpreadCycle (high-torque current-mode chopper), StallGuard4 (sensorless load/stall detection), and CoolStep (automatic current reduction with load). Configured over UART or via pins. This is the default upgrade for any printer or small machine that wants to be quiet.
  • TMC5160 — up to ~60 V (external MOSFETs let it drive several amps, big NEMA 23/34), SPI configuration, an onboard motion controller (ramp generator: feed it a target position and it generates the accel/run/decel profile internally), plus StealthChop/SpreadCycle/StallGuard/CoolStep. This is the serious one for higher-power, higher-speed machines.

StealthChop vs SpreadCycle

These are the two chopper modes and the choice matters:

  • StealthChop is a voltage-mode PWM chopper. It is near-silent and beautifully smooth at low speed, which is why TMC-equipped printers are so quiet. But it regulates current more softly, so it loses torque at higher speeds and accelerations and can stall a heavily loaded axis.
  • SpreadCycle is a cycle-by-cycle current-mode chopper. It is louder (a faint hiss/whine) but holds current — and therefore torque — accurately at speed and through hard accelerations.

The standard configuration on a good machine: run StealthChop below a velocity threshold (quiet, smooth, when torque demand is low) and automatically switch to SpreadCycle above it (when you need torque at speed). The TMC chips do this handoff in hardware once you set the threshold register.

Feature A4988 DRV8825 TMC2209 TMC5160
Max bus voltage ~35 V ~45 V ~28 V (45 V abs) ~60 V (ext. FETs)
Current/phase (RMS) ~1.2 A ~1.6 A ~1.4–2.0 A ~3 A+ (FET-dependent)
Microstepping 1/16 1/32 1/256 (interp.) 1/256 (interp.)
Interface Step/dir Step/dir Step/dir + UART Step/dir + SPI
Quiet (StealthChop) No No Yes Yes
Torque mode (SpreadCycle) n/a n/a Yes Yes
Sensorless stall (StallGuard) No No Yes Yes
Onboard motion controller No No No Yes (ramp gen.)
Typical use Cheap printer axes Faster printer/CNC Quiet printers, small CNC NEMA 23/34, fast machines

Rule of thumb: for any new small machine, default to a TMC2209 (or TMC5160 if you're above ~28 V or driving NEMA 23/34). The silence, sensorless homing via StallGuard, and torque-at-speed of SpreadCycle are worth the few extra dollars. Reserve A4988/DRV8825 for cost-critical builds where buzz doesn't matter.

Step/dir and the move to UART/SPI

The lowest-common-denominator interface is step/direction: one pin pulses once per microstep, another sets direction. Simple, universal, and dumb — the driver knows nothing about velocity profiles; the host MCU must generate every pulse. UART (TMC2209) and SPI (TMC5160) let you configure current, microstep ratio, chopper mode, and stall thresholds at runtime, read back diagnostics (load, temperature, stall), and on the TMC5160 hand off the whole motion profile to the chip's ramp generator. For real-time motion-control context — how these pulses get scheduled deterministically — see the real-time control systems guide.

Closed-loop steppers: bolt on an encoder

The entire weakness of a stepper is the open loop: it can fail silently. Add a rotor encoder and a controller that uses it, and the failure mode goes away. This is the closed-loop stepper (sometimes "servo-stepper" or "step-servo"), and it is one of the best-value actuators in motion control.

How it works

You mount an encoder (usually 1,000–4,000 line, magnetic or optical) on the rotor's rear shaft. The controller now knows actual position, not just commanded step count. Two things change:

  1. It cannot lose steps silently. If the rotor falls behind the commanded position, the controller increases current to catch up, and if it can't, it raises a following-error fault — you get told. No silent position loss.
  2. It only uses the current it needs. A classic stepper burns full rated current to hold position even with no load — that's why they run hot. A closed-loop stepper holds with just enough current to maintain position, so it runs much cooler and more efficiently at rest and light load.

Architecturally this is a servo with a many-pole motor: a current/torque inner loop, a velocity loop, and a position loop, exactly as in the motor controllers guide — just with a stepper's 200-pole geometry instead of a BLDC's handful. Many closed-loop stepper drives now run full field-oriented control (FOC) on the stepper, which makes them smooth and quiet like a servo while keeping the stepper's huge low-speed torque.

Where it sits between open-loop stepper and servo

  • It keeps the stepper's high holding torque and high pole count (great low-speed torque, fine native resolution).
  • It gains the servo's closed-loop integrity (no silent step loss, fault on overload, cooler running).
  • It still has the stepper's torque-speed roll-off — closed-loop doesn't create torque the motor can't make; it just uses what's there honestly and tells you when it runs out.

Real products

  • Teknic ClearPath-SC — an integrated closed-loop "step-servo" (motor + drive + encoder in one NEMA 23/34 housing) with serial control, torque/velocity/position modes, and genuine servo behavior at a price well under a separate industrial servo system. The flagship of the category.
  • Leadshine (e.g. the iSV/CS-D series and integrated closed-loop steppers) — popular, affordable closed-loop steppers and drives widely used in CNC retrofits.
  • Oriental Motor AlphaStep (AZ/AR series) — closed-loop steppers with a built-in mechanical-absolute encoder (no homing needed, no battery), known for reliability in industrial automation.

Rule of thumb: if your axis matters — it carries a real load, runs near its limits, or a lost step means scrap or a crash — spend the extra ~50–100% over an open-loop stepper for a closed-loop one. You buy out the single worst stepper failure mode and get a cooler, quieter motor. It is often a better value than jumping all the way to a separate servo system.

Steppers vs servos vs BLDC: an honest decision guide

These three overlap, and vendors muddy the lines (a closed-loop stepper is a servo; a "servo" can be built on a BLDC). Cutting through it:

  • A stepper is a high-pole-count motor optimized for discrete positioning and high low-speed torque, usually open-loop.
  • A servo (see the servo guide) is a control architecture — any motor plus feedback plus a closed loop — usually built on a low-pole-count brushless PMSM for high-speed power density.
  • A BLDC/PMSM (see the BLDC guide) is the bare brushless motor; with FOC and feedback it becomes a servo, with six-step commutation it's a drone/fan motor.

The honest trade-offs:

Attribute Open-loop stepper Closed-loop stepper Servo (BLDC/PMSM + feedback)
Feedback None (open-loop) Encoder, internal Encoder/resolver, full loop
Low-speed holding torque Excellent Excellent Good (loop holds it)
High-speed power density Poor (torque rolls off) Poor–fair Excellent
Efficiency Poor (full current at rest) Good Excellent
Heat at standstill High Low Very low
Silent failure (lost steps) Yes — the big risk No (faults out) No
Tuning required None Minimal (often auto) Real tuning needed
Cost per axis Lowest Low–medium Medium–high
Best speed range < ~600–1,000 RPM < ~1,500 RPM up to 3,000–6,000+ RPM
Typical power sweet spot < ~200 W < ~500 W 100 W – many kW
Where it wins Cheap predictable positioning Reliable positioning, no tuning Dynamics, speed, efficiency

The decision in plain terms

  • Predictable load, low speed, cost-sensitive, you can afford a 2× torque margin → open-loop stepper. 3D printers, lab stages, small CNC.
  • Same low-speed regime but the load varies, a lost step is costly, or you want it cooler and quieter without tuning → closed-loop stepper. CNC production, automated equipment.
  • You need high speed, high efficiency, hard dynamics, or high power → servo on a BLDC/PMSM. Robot joints, spindles, fast pick-and-place, vehicle drives.

Rule of thumb: the stepper-to-servo crossover sits at roughly a few hundred RPM and a few hundred watts. Below it, a stepper is cheaper and simpler and its weaknesses don't bite. Above it, the stepper's torque roll-off and standstill heat make a servo the right call. When you're near the line, a closed-loop stepper is the hedge.

Sizing and selection

Sizing a stepper correctly is mostly about respecting the torque-speed curve and the thermal limit. A repeatable procedure:

1. Compute the required torque at the worst operating point

Total motor torque must cover the load torque plus the torque to accelerate the inertia:

τ_required = τ_load + τ_accel
τ_accel    = J_total · α          (J in kg·m², α in rad/s²)
J_total    = J_rotor + J_reflected_load
J_reflected_load = J_load / N²     (N = gear ratio, if geared)

The worst case is usually peak acceleration at your top commanded speed. Compute τ_required there.

2. Read torque off the curve, not the headline

Find your operating speed in steps/s or RPM and read the pull-out torque at that speed from the datasheet curve. Do not use holding torque. Apply margin:

Rule of thumb: pull-out torque at your top operating speed should exceed τ_required by about 1.5–2×. Open-loop steppers have no way to recover from a momentary overload, so the margin is your only protection against a stall.

3. Set current and voltage

  • Current: set the driver limit to the motor's rated current per phase (RMS or peak as the driver expects — read carefully; A4988/DRV8825 V_ref math sets peak). This sets torque and heat.
  • Voltage: choose a bus voltage to push the corner speed above your operating speed. A common heuristic is bus voltage ≈ 20–25× √(inductance in mH) as a starting point, or simply: more voltage = faster torque, bounded by the driver's max and the motor's insulation/heat. 24 V is the printer default; 36–48 V for fast CNC.
Motor "rated voltage" = I_rated × R_phase   (often only 2–4 V — ignore for bus sizing)
Bus voltage is set by SPEED need, current limiting is the driver's job.

4. Check inductance and pick the winding

Lower inductance (mH) = higher corner speed = better high-speed torque, but needs more current for the same torque. For a fast axis, prefer a low-inductance motor or an 8-wire motor wired in parallel. For a slow high-torque axis, higher inductance (or series wiring) is fine and lets you use less current.

5. Verify thermal rise

A stepper running at rated current dissipates I²R per phase continuously, even holding. Surface temperatures of 60–80 °C are normal; the limit is the insulation class (often 130 °C / Class B) and what your mounting and nearby plastics tolerate. If it's too hot: reduce holding current (TMC CoolStep or a hold-current reduction), improve the heat path into the mount (the faceplate is the main thermal path), or move to a closed-loop stepper that only draws what it needs.

6. Decide gearing

If you need more torque or finer real resolution, a gearbox multiplies both and reflects load inertia down by (helping the inertia match and resonance). A planetary gearbox on a NEMA 17 is often cheaper and more effective than jumping to a NEMA 23 — see the gearboxes guide.

Applications

Where steppers earn their keep, and what to watch in each:

3D printers (FDM)

The canonical stepper machine. NEMA 17 on every axis and the extruder, typically 0.4–0.6 N·m motors, 24 V bus, TMC2209 drivers for silence and sensorless homing (StallGuard replaces endstop switches on some designs). Why steppers: cheap, predictable low-speed loads, open-loop positioning is good enough because the loads are light and well-characterized. The move to higher print speeds (input shaping, 200+ mm/s) is pushing some machines toward higher-voltage drivers (TMC5160) and even closed-loop extruders to prevent the under-extrusion that a skipped step causes.

CNC routers and mills (small/desktop)

NEMA 23 (often 1.9–3.0 N·m) is the workhorse, NEMA 34 for bigger gantries, on 36–48 V with DRV8825 or TMC5160 drivers — or increasingly closed-loop steppers (Leadshine) because a lost step in CNC means a ruined part and the cut load is variable and high. This is exactly the regime where closed-loop pays for itself: real loads, costly mistakes, still below the speed where you'd want a true servo.

Lab automation and life sciences

Pipetting robots, syringe pumps, sample-handling stages, microscope stages. NEMA 11 and NEMA 17, low speed, light predictable loads, and a premium on smooth, quiet, vibration-free motion (microstepping shines here) and on holding position precisely for long dwells (where the stepper's tuning-free holding torque is ideal). Often microstepped finely for smoothness even though the real accuracy comes from the leadscrew/gear reduction.

Camera, optics, and instrumentation

Focus and zoom drives, filter wheels, telescope mounts, beam-steering stages. NEMA 11/14/17 micro-steppers, low speed, and again the win is smooth holding and fine commanded resolution. Telescope mounts in particular exploit the stepper's ability to creep at extremely low, perfectly steady rates (sidereal tracking) that a servo would dither around. Backlash and detent torque are the enemies of pointing accuracy here, so high microstepping plus mechanical reduction (worm gears) is standard.

Conveyors, indexers, and general automation

Repetitive index-and-hold motion is a stepper's home turf: a feeder advancing a fixed pitch, a rotary index table stopping at stations. NEMA 23/34, often closed-loop in industrial settings (Oriental Motor AlphaStep with absolute encoder so there's no homing on power-up). Predictable cycle, hard holding, modest speed — the stepper's strengths line up perfectly.

Rule of thumb across all of these: steppers thrive where the duty cycle is position-and-hold at low speed with a predictable load. The moment an application demands sustained high speed, high efficiency, or aggressive dynamics, it has left stepper territory and you should be looking at a servo.

Frequently asked questions

How many steps per revolution does a stepper motor have? A standard hybrid stepper has 200 full steps per revolution, which is 1.8° per step, coming from 50 rotor teeth × 4 steps per electrical cycle. A 0.9° motor has 400 full steps/rev (100 rotor teeth). Microstepping multiplies the commanded increments — 1/16 gives 3,200 microsteps/rev — but does not add 1/16 worth of real positioning accuracy.

Does microstepping increase a stepper's accuracy? No. Microstepping increases smoothness and reduces resonance and vibration, and it lets you command finer increments. But positional accuracy is limited by the motor's mechanical and magnetic tolerances — typically ±5% of a full step (about ±0.09° on a 1.8° motor), non-cumulative — and that figure does not improve with finer microstepping. The incremental torque per microstep also shrinks toward zero at fine ratios, so the rotor can't reliably stop at every microstep. For real resolution, gear it down or add an encoder.

Why does a stepper lose torque at high speed? The windings are inductors, and current can't rise instantly. As step rate climbs, each step gets shorter and there's less time for current — and therefore torque — to build before the next step. Above the corner (knee) speed, torque falls steeply. The fix is a higher bus voltage, which forces current into the inductance faster, and/or a lower-inductance motor.

What voltage should I run my stepper at? Run the driver from a bus voltage well above the motor's nominal "rated voltage." The rated voltage (rated current × winding resistance) is often only 2–4 V and is not what you supply — the chopping driver limits current regardless. Use 24 V for typical NEMA 17 printer axes, 36–48 V for faster or larger NEMA 23/34 machines. Higher voltage extends the speed at which torque holds up, bounded by the driver's and motor's ratings.

Why does my stepper get so hot? An open-loop stepper draws its full rated current to hold position even when standing still with no load, dissipating I²R as heat continuously. Surface temperatures of 60–80 °C are normal and usually fine (insulation is typically rated to 130 °C). If it's too hot, reduce the holding current (many drivers offer a hold-current reduction, and TMC's CoolStep lowers current automatically under light load), improve heat-sinking through the faceplate mount, or switch to a closed-loop stepper that only draws the current it needs.

What's the difference between holding torque and pull-out torque? Holding torque is the static torque the energized motor resists with when standing still at rated current — the big datasheet number. Pull-out torque is the torque the motor can carry while running at a given speed, and it falls as speed rises. You must size your machine on pull-out torque at your operating speed, not on holding torque, or it will work slow and stall fast.

A4988 vs DRV8825 vs TMC2209 — which driver should I use? A4988 and DRV8825 are cheap step/dir drivers; the DRV8825 takes higher voltage (~45 V vs ~35 V) and current and is the better of the two for speed, but both are audibly buzzy. The TMC2209 adds near-silent StealthChop, torque-holding SpreadCycle, sensorless stall detection (StallGuard), and UART configuration for a few dollars more — it's the default upgrade for any quiet small machine. For above ~28 V or NEMA 23/34, step up to the TMC5160.

What is StealthChop vs SpreadCycle? They are two chopper modes in Trinamic drivers. StealthChop is a voltage-mode PWM chopper that is near-silent and smooth at low speed but loses torque at high speed and hard accelerations. SpreadCycle is a current-mode chopper that's louder but holds torque accurately at speed. The usual setup runs StealthChop below a velocity threshold and switches to SpreadCycle above it, automatically.

What is a closed-loop stepper and is it worth it? A closed-loop stepper adds a rotor encoder and a controller that closes a position/current loop — turning the stepper into a coarse-pole servo. It can't lose steps silently (it faults on a following error instead), and it only draws the current it needs, so it runs much cooler. It's worth it whenever a lost step is costly or the load runs near the motor's limits; products include Teknic ClearPath-SC, Leadshine, and Oriental Motor AlphaStep.

When should I use a servo instead of a stepper? When you need sustained high speed (above roughly a few hundred to a thousand RPM), high efficiency, aggressive dynamics, or higher power (above a few hundred watts). Below that, a stepper is cheaper, needs no tuning, and its torque roll-off and standstill heat don't hurt you. Near the crossover, a closed-loop stepper is a good middle ground.

Why does my stepper stall or scream at one particular speed? That's mid-band resonance: the rotor-plus-load mass on the magnetic detent spring has a natural frequency (often around 0.5–1.25 rev/s for a lightly loaded 1.8° motor), and driving at it amplifies oscillation until the motor loses synchronism. Fix it by microstepping (the biggest help), ramping quickly through the resonant speed instead of dwelling there, adding mechanical damping or load inertia, or using a TMC driver that actively damps resonance.

Should I buy a 4-wire, 6-wire, or 8-wire stepper? Buy 4-wire bipolar for most designs — it's the modern default and works with every H-bridge driver at full torque. An 8-wire motor gives flexibility: series the coils for the best low-speed torque (higher inductance, lower current) or parallel them for the best high-speed torque (lower inductance, higher current). A 6-wire unipolar motor can be driven bipolar by ignoring the center taps for full torque. Avoid unipolar-only drive in new designs.

Can a stepper do torque or force control? Open-loop, only crudely — torque is set by the current limit, but you have no feedback on whether the rotor is actually producing it (it may have stalled). A closed-loop stepper with a current/torque loop can do real torque control, like a servo. If force control matters, use a closed-loop stepper or a servo, not a bare stepper.

Related guides