Polar Parts

Ships to CanadaPrices in CAD

Stepper motors and drivers: NEMA 17, A4988, DRV8825 and TMC2209 explained

By Polar Parts · Published · 5 min read

Stepper motors move in fixed steps, so a controller can position them accurately without a sensor, as long as the motor never misses a step. That's why they run most 3D printers, CNC machines, camera sliders and plotters. Getting one to run smoothly depends on matching three things: the motor, the driver and the power supply.

What NEMA 17 does and doesn't tell you

NEMA 17 describes the size of the motor's faceplate: about 1.7 by 1.7 inches, or roughly 42 mm square. It says nothing about torque, current or voltage, so two NEMA 17 motors can look alike and behave very differently. The RepRap project's table of NEMA 17 motors, for example, runs from about 13 to 65 N·cm of holding torque and from about 0.33 to 2.5 A per phase.

Most NEMA 17 motors have a 1.8° step angle, which is 200 full steps per revolution; some have 0.9°, or 400 steps, for finer positioning. A 5 mm shaft is the most common. Longer motors generally make more torque and draw more current.

The numbers to read on a motor's datasheet are the rated current per phase, holding torque, step angle, and phase resistance and inductance. The rated voltage matters less than you'd expect, because these drivers control current, not voltage.

Wiring: find the coil pairs

Most NEMA 17 motors used with these drivers are bipolar, with four wires: two coils of two wires each. The driver's motor outputs are labelled in pairs, such as 1A and 1B for one coil and 2A and 2B for the other, and each pair has to go to one coil.

Wire colours aren't standardised. To find the pairs, set a multimeter to resistance: two wires that show a low reading between them, typically a few ohms, are one coil. If the motor turns the wrong way, turn the power off and swap the two wires of one coil.

Never connect or disconnect a motor while the driver is powered. Pololu warns that doing so can destroy the driver.

A4988 vs DRV8825 vs TMC2209

All three are sold as small plug-in modules in the same StepStick format, so they fit the driver sockets on many 3D printer and CNC boards. Each takes STEP and DIR signals from a controller: one pulse on STEP moves the motor one step or microstep, and DIR sets the direction.

SpecA4988DRV8825TMC2209
Motor supply8 to 35 V8.2 to 45 V4.75 to 29 V
Current per phaseAbout 1 A without a heat sink, up to 2 A with extra coolingAbout 1.5 A without a heat sink, up to 2.2 A with extra cooling2 A RMS, 2.8 A peak
MicrosteppingUp to 1/16Up to 1/321/8 to 1/64 by pins, interpolated to 1/256
SetupCurrent set by potentiometerCurrent set by potentiometerPotentiometer or UART, depending on the module
ExtrasSimple and well documentedHigher voltage and currentQuiet StealthChop2 mode, StallGuard4 stall detection, CoolStep
A4988 and DRV8825 figures are for Pololu's carrier boards; TMC2209 figures are from the Analog Devices datasheet. Generic modules vary, especially in cooling.

The A4988 is the classic choice and the easiest to find help for. The DRV8825 handles higher voltage, more current and finer microstepping, and Pololu describes its carrier as a near drop-in replacement for its A4988 carrier, so it's a common upgrade. The TMC2209 costs more but runs much more quietly, which is why many 3D printers use it. Over UART you can set its current and modes in firmware, and its StallGuard feature can sense when an axis hits its end, so some machines home without a limit switch.

Setting the current limit

Every driver needs its current limit set to suit the motor, usually at or below the motor's rated current per phase. Set it too low and the motor loses steps; too high and the motor and driver overheat. On A4988 and DRV8825 modules, you turn the small potentiometer while measuring the reference voltage, VREF, with a multimeter.

  • A4988: current limit = VREF ÷ (8 × Rcs), where Rcs is the current-sense resistor value. Pololu's current carriers use 0.068 Ω resistors, so a 1 A limit needs a VREF of about 8 × 1 × 0.068 = 0.54 V.
  • Generic A4988 boards may use different sense resistors, so read the marking before you calculate: R068 means 0.068 Ω and R100 means 0.1 Ω.
  • DRV8825 on Pololu's carrier: current limit = 2 × VREF, so a 1.2 A limit needs a VREF of 0.6 V.
  • TMC2209: the method depends on the module and on whether you use UART, so follow the module maker's instructions.

Pololu also recommends a large electrolytic capacitor, at least 47 µF, across the motor supply close to the driver, to absorb voltage spikes from long power leads.

Choosing a power supply

Because these drivers limit current, you can, and usually should, run a stepper from a supply well above its rated voltage. The higher voltage lets current build up in the coils faster, so the motor keeps more torque at speed. 12 V and 24 V supplies are common. Stay inside the driver's range: the TMC2209 tops out at 29 V, so a 24 V supply leaves some margin.

Size the supply for all the motors plus everything else on the same rail, with headroom. If your controller needs 5 V from a 12 V or 24 V supply, a buck converter can provide it; see Power Modules.

Microstepping and missed steps

Microstepping splits each full step into smaller ones by shaping the current in the two coils. It makes motion smoother and quieter, especially at low speed. It doesn't improve accuracy by the same factor, though: between full steps the rotor's exact position depends on the load, and the torque behind each microstep is small. Treat a setting like 1/16 as a smoothness setting.

If a machine loses position, the usual causes are a current limit set too low, a supply voltage too low for the speed you're asking for, acceleration set too high in the firmware, or something binding mechanically. An overheated driver can also shut down briefly, so give it a heat sink and some airflow.

Finding motors and drivers

Search our catalog for NEMA 17 motors, or for A4988, DRV8825 and TMC2209 drivers. Search results also show listings from our supplier partners that aren't in our catalog yet; open one to see its price and delivery estimate. If you need a specific motor or driver we don't list, request it. For a multimeter to find coil pairs and set VREF, see Tools.

Shop the parts in this guide

Prices in Canadian dollars. Product pages show a delivery estimate when one is available.

More buying guides

Sources

The facts in this guide come from these sources. Specifications and rules change, so check the current version before you rely on a figure.