The idea

A DC motor spins for as long as it’s powered; to know where it is, you need an encoder. A stepper moves in fixed, exact steps: one electrical pulse, one step. Count the pulses and you know the position, with no sensor at all (open-loop control). That’s why steppers drive 3D printers, CNC machines, pick-and-place heads and camera mounts: anywhere that position matters more than speed.

How it moves

  1. The driver energises a pattern of stator coils, which makes a magnetic field.
  2. The rotor (magnets or a toothed iron core) is pulled into line with it, to the position of minimum reluctance, where the magnetic path is easiest.
  3. The next pattern moves the field on, and the rotor follows one step.

So:

  • Position = the number of pulses sent
  • Speed = the pulse frequency
  • Direction = the order of the pattern

The driver is essential. A stepper can’t run from a plain DC supply.

Types

TypeRotorNotes
Permanent magnet (PM)MagnetisedCoarse steps, cheap
Variable reluctance (VR)Toothed soft iron, no magnetNo holding torque when unpowered
HybridToothed and magnetisedFine steps and good torque. The robotics standard: 1.8°, 200 steps per revolution

Step angleSteps per rev
0.9°400Fine robotics positioning
1.8°200The common choice (NEMA 17 motors)
3.6°100
7.5° or 15°48 or 24Usable, but coarse

Microstepping

The driver can split each full step into M smaller ones by varying the two phase currents in small increments, following a sine and a cosine, instead of just switching them on and off.

Phase currents in a microstepping driver approximate a sine and cosine

Mode (1.8° motor)Angle per microstepPer revolution
Full step1.8°200
1/20.9°400
1/80.225°1600
1/160.1125°3200
  • Benefit: much smoother, quieter motion, with less vibration and resonance.
  • Catch: each microstep has less torque. Under load or friction, the rotor can lag behind or bunch up rather than land exactly on each tiny position. So finer microstepping is smoother, not necessarily more accurate.
  • The step angle is a mechanical property of the motor; microstepping is a control method in the driver.

Unipolar vs bipolar

UnipolarBipolar
WindingsCentre-tapped; only half of each coil works at a timeThe whole coil is used
DriveFour low-side switches; current never reverses (simple)One H-bridge per phase, so two for a two-phase motor (current both ways)
TorqueLowerHigher: more copper carrying current
UseSimple, educationalRobots, CNC, 3D printers

Driver chips put both H-bridges on one chip and use current chopping: they sense each coil’s current and switch off the moment it reaches the rated value. See Motor drives.

Strengths and weaknesses

StrengthsWeaknesses
Accurate positioning with no sensorMissed steps: if the load exceeds the available torque it skips, and with no feedback it doesn’t know
High holding torque at standstillTorque falls as speed rises
Simple digital control (step and direction pins)Resonance at some speeds: noise and vibration
Repeatable, brushless (no wear)Draws current even when holding still: heat and wasted energy

A 3D printer shows all of these. At power-on it has no idea where the axes are, so it drives each one into an endstop and calls that zero (homing). After that, position is just counted pulses. If the nozzle catches on the print, a motor misses steps, the printer carries on regardless, and every later layer is shifted. That’s a layer shift, the classic open-loop failure. Fixes are a torque margin, gentler acceleration, or an encoder (a “closed-loop stepper”).

The forward problem: is this motor suitable?

Given the motor (step angle, current and resistance per phase, inductance, holding torque , microstepping M, gearbox G, load torque, motor speed in rpm), calculate its performance and check it against the requirements:

Worked example

A 1.8° hybrid stepper: 2.5 A per phase, 0.9 Ω, 3 mH, N·m, 1/16 microstepping, 5:1 gearbox, 0.4 N·m load, running at 150 rpm. The joint needs N·m, rad/s and W. Is it suitable?

Worked example: a belt conveyor

A 1.8° stepper drives a conveyor belt directly through a pulley of 10 mm radius, with 1/16 microstepping. The belt must run at 50 mm/s. Find the belt movement per microstep, the motor speed and the pulse frequency the microcontroller must produce.

Common mistakes

  • Treating microstepping as extra accuracy. It’s mainly smoothness.
  • Forgetting the gearbox in both directions: output speed ÷ G, output torque × G.
  • Using rpm in . Convert to rad/s.
  • Bipolar = one H-bridge. It’s one per phase: two for a two-phase motor.

Check yourself

Next: working out what torque a mobile robot actually needs, in Sizing a drive motor.