How to Use Motor-Driver Modules on Your RepRap 3D Printer

By Kalani Kirk Hausman, Richard Horne

Every RepRap 3D printer has its movement provided by stepper motors. This type of electric motor requires a special driver device to pulse the motor forward or backward; each step rotates (steps) the motor a tiny amount. Our electronics and firmware use many thousands of pulses to make the stepper drivers rotate the motor an exact distance, depending on the gearing and step ratio.

A stepper-motor driver module can be fully integrated or (more commonly) plugged into the electronics control board. Each module drives one stepper motor, so a minimum of four are required for a 3D printer.


The standard NEMA17 stepper motor used on RepRaps requires 200 pulses to rotate completely around (360 degrees). But our stepper drivers do modes called microstepping that step the motor a fraction of that distance. Microstepping reduces motor noise and allows more accurate positioning of the extruder. It’s very common to use a stepper driver in 8- or 16-microstep mode.

A stepper motor’s microstep mode is usually set with small jumper switches that are either fitted or removed to turn them on or off. Refer to your set of electronics to set these jumpers; remember what setting you used.

Most RepRap machines run with 16 microsteps (16x): The electronics and firmware are required to pulse 3200 times to make a motor rotate a full 360 degrees. You can see right away that this fine control will give a 3D printer greater positional resolution. Increasingly, electronics and motor-driver modules offer a 32x option, making the motors even quieter and capable of ultra-fine resolution.

There are limits on the maximum step rate your electronics can deliver. Having to drive so many sequences of steps can put an extra processing burden on the firmware to do positional calculations. The extra load can slow down some mechanical processes — for example, rapid acceleration of the extruder — so many 3D printer users prefer to use different motors for different purposes:

  • 16x for the X, Y, and Z motors (to provide the highest resolution and quiet operation)

  • 8x for the extruder motor (to allow rapid reversals and acceleration moves).

The resulting boost in reaction speed can increase print quality.

A small aluminum heat-sink is often fixed to the controller device to help reduce its operating temperature. Without a heat-sink, the controller can get hot enough to burn the operator or destroy itself. You can set the amount of power delivered to the motor (known as current limiting) by turning a tiny rotary knob with a screwdriver.

All stepper motors should be current-limited to operate well within their designed limits so they don’t overheat or burn out (which would also destroy the stepper-driver module).

Never remove a stepper-motor connection from the electronics while they are powered up. Doing so can quickly destroy the stepper-motor driver.