Overview

The A4988 is a complete microstepping motor driver IC manufactured by Allegro MicroSystems. Popularized in the "StepStick" form factor, it is the standard stepper motor driver module used in 3D printers (RAMPS boards), CNC routers, laser cutters, and automated robotics.

It features adjustable current limiting, overcurrent protection, thermal shutdown, mixed decay mode, and an internal translator that simplifies motor control to just two input lines: STEP (direction pulses) and DIR (rotational direction).

Quick reference

Motor load supply (VMOT)8.0 V to 35.0 V DC
Logic supply (VDD)3.0 V to 5.5 V DC
Continuous output current1.0 A per phase (up to 2.0 A with active cooling / heatsink)
Microstep resolutionFull, 1/2, 1/4, 1/8, and 1/16 step modes
Control interfaceSimple STEP and DIR pulse control
Protection featuresThermal shutdown, crossover-current protection, undervoltage lockout

Pinout

Standard StepStick / Pololu Module Pinout

text
           ┌─────────┐
     EN ───│ 1    16 │─── VMOT
    MS1 ───│ 2    15 │─── GND (Motor)
    MS2 ───│ 3    14 │─── 2B
    MS3 ───│ 4    13 │─── 2A
  RST* ───│ 5    12 │─── 1A
  SLP* ───│ 6    11 │─── 1B
   STEP ───│ 7    10 │─── VDD
    DIR ───│ 8     9 │─── GND (Logic)
           └─────────┘
PinNameTypeDescription
1ENABLEDigital InputActive-LOW driver enable (LOW = outputs enabled, HIGH = outputs disabled)
2MS1Digital InputMicrostep resolution selection pin 1
3MS2Digital InputMicrostep resolution selection pin 2
4MS3Digital InputMicrostep resolution selection pin 3
5RESETDigital InputActive-LOW reset pin (tied to SLEEP for normal operation)
6SLEEPDigital InputActive-LOW sleep pin (LOW = sleep mode enabled, disables outputs)
7STEPDigital InputStep pulse input (motor steps on LOW-to-HIGH rising edge)
8DIRDigital InputDirection input (LOW = clockwise / direction 1, HIGH = counter-clockwise)
9GNDPowerLogic ground (0 V)
10VDDPowerLogic supply voltage (+3.0 V to +5.5 V)
111BMotor OutputBipolar Stepper Coil 1 Phase B
121AMotor OutputBipolar Stepper Coil 1 Phase A
132AMotor OutputBipolar Stepper Coil 2 Phase A
142BMotor OutputBipolar Stepper Coil 2 Phase B
15GNDPowerMotor power ground (0 V)
16VMOTPowerMotor power supply voltage (+8.0 V to +35.0 V DC)

Specifications

ParameterSymbolMinTypMaxUnitConditions
Motor Load SupplyVMOTV_{MOT}8.024.035.0VDC
Logic Supply VoltageVDDV_{DD}3.05.05.5VDC
Output CurrentIOUTI_{OUT}-2.02.0APeak phase current
High-side FET RDS(ON)R_{DS(ON)}RDSHR_{DSH}300430IOUT=1 AI_{OUT} = 1\text{ A}, TJ=25CT_J = 25^\circ\text{C}
Low-side FET RDS(ON)R_{DS(ON)}RDSLR_{DSL}300430IOUT=1 AI_{OUT} = 1\text{ A}, TJ=25CT_J = 25^\circ\text{C}
Thermal Shutdown TempTJTSDT_{JTSD}155165175°CJunction temperature

Microstep selection table

MS1MS2MS3Microstep ResolutionStep Angle (1.8° Motor)
LOWLOWLOWFull Step1.8°
HIGHLOWLOWHalf Step (1/2)0.9°
LOWHIGHLOWQuarter Step (1/4)0.45°
HIGHHIGHLOWEighth Step (1/8)0.225°
HIGHHIGHHIGHSixteenth Step (1/16)0.1125°

Current limiting calibration

Before running a motor, adjust the onboard potentiometer to limit max motor current (ITripMAXI_{TripMAX}):

VREF=ITripMAX×8×RSV_{REF} = I_{TripMAX} \times 8 \times R_{S}

Where RSR_S is the current sense resistor value on the module (typically 0.1 Ω0.1\text{ }\Omega or 0.05 Ω0.05\text{ }\Omega, marked R100 or R050).

Example for a 1.0 A current limit on a board with RS=0.1 ΩR_S = 0.1\text{ }\Omega (R100): VREF=1.0 A×8×0.1 Ω=0.8 VV_{REF} = 1.0\text{ A} \times 8 \times 0.1\text{ }\Omega = 0.8\text{ V}

Measure VREFV_{REF} with a multimeter between ground and the metal wiper of the potentiometer.

Wiring

A4988 ModuleMicrocontroller / Power Supply / Motor
VMOT / GND (Motor)External Power Supply (12V/24V DC, 100 μF\ge 100\text{ }\mu\text{F} decoupling cap)
VDD / GND (Logic)Microcontroller 5V (or 3.3V) and GND
STEPDigital Output Pin (e.g. GPIO2)
DIRDigital Output Pin (e.g. GPIO3)
RESET & SLEEPTied together (bridges reset and sleep for normal operation)
1A, 1BStepper Motor Coil 1 (Pair A)
2A, 2BStepper Motor Coil 2 (Pair B)
Warning

LC Voltage Spike Danger:

  • Disconnecting a motor while powered destroys the A4988. Never connect or disconnect a stepper motor while the VMOT supply is active.
  • Always connect a 100 μF100\text{ }\mu\text{F} electrolytic decoupling capacitor across VMOT and GND close to the driver module to absorb destructive voltage spikes.

Common mistakes

  • Missing 100 μF100\text{ }\mu\text{F} decoupling capacitor across VMOT and GND: Without this capacitor, inductive voltage spikes when motor currents switch off can exceed 35V and instantly destroy the driver IC.
  • Leaving RESET or SLEEP pins floating: Both RESET and SLEEP are active-LOW inputs. Floating pins cause the driver to enter sleep mode randomly. Connect RESET and SLEEP together with a jumper.
  • Unadjusted VREFV_{REF} potentiometer: Turning power on without calibrating current limit can deliver excessive current, causing motor overheating, skipped steps, or thermal shutdown.

Notes

  • Thermal performance improves significantly when adding an aluminum heatsink on top of the IC chip and using forced airflow.

Assets & downloads