3D printer and CNC axis control
The A4988 is the classic RAMPS/StepStick driver for X, Y, Z, and extruder axes, giving quiet, precise positioning with 1/16 microstepping.
The A4988 is an Allegro DMOS microstepping driver with a built-in translator that runs one bipolar stepper motor from simple STEP and DIR pulses.

The A4988 is a microstepping motor driver from Allegro MicroSystems, most commonly sold on a StepStick-style carrier board. It drives a single bipolar stepper motor from a motor supply of 8-35V and can deliver up to 2A per coil with adequate cooling (roughly 1A per phase without a heat sink or forced airflow). A separate logic supply of 3-5.5V on VDD powers the control side, so it interfaces directly with 3.3V and 5V microcontrollers.
An on-chip translator handles the coil switching, so the host only needs to toggle two lines: each pulse on STEP advances the motor one increment, and the level on DIR sets rotation direction. The MS1, MS2, and MS3 inputs select the step resolution across five settings (full, half, quarter, eighth, and sixteenth step). These three pins have internal pull-downs, so leaving them disconnected defaults to full-step mode.
Current is regulated by a fixed off-time chopper, and the peak coil current limit is set with the on-board trimmer potentiometer by measuring its reference voltage (Vref). This lets the driver run motors rated well below the supply voltage without a series resistor. Built-in protections include thermal shutdown with hysteresis, crossover-current protection, and undervoltage lockout. RESET, SLEEP, and ENABLE pins allow the outputs to be reset, put in a low-power state, or disabled.
| Pin | Function | Type |
|---|---|---|
ENABLE EN | Digital | Digital input |
MS1 MS1 | Digital | Digital input |
MS2 MS2 | Digital | Digital input |
MS3 MS3 | Digital | Digital input |
RESET RST | Digital | Digital input |
SLEEP SLP | Digital | Digital input |
STEP STEP | Digital | Digital input |
DIR DIR | Digital | Digital input |
VMOT VMOT | Power | Power in |
GND_MOT GND | Power | Power in |
2B 2B | Digital stepper motor coil output | Free |
2A 2A | Digital stepper motor coil output | Free |
1A 1A | Digital stepper motor coil output | Free |
1B 1B | Digital stepper motor coil output | Free |
VDD VDD | Power | Power in |
GND_LOGIC GND | Power | Power in |
Verified from the Tinkered component library · Allegro MicroSystems / generic StepStick carrier.
The A4988 Stepper Driver connects to any of the microcontrollers supported in Tinkered. Mind the 5 V logic level on 3.3 V boards.
Applying motor voltage without a large electrolytic capacitor across VMOT and GND allows inductive voltage spikes that routinely blow the A4988. Always fit the capacitor before connecting motor power.
Connecting or disconnecting the motor coils while the driver is powered can destroy the chip. Power everything down before changing the motor wiring.
Running the driver at its default trimpot position often pushes far too much or too little current, causing overheating and thermal shutdown or weak, skipping steps. Set Vref for your motor's rated coil current first.
RESET has no internal pull-up, so if it is left disconnected or held low the outputs stay disabled and the motor will not move. Tie RESET to SLEEP or pull it high.
The logic ground and motor ground must both return to the microcontroller's ground. Without a shared reference the STEP and DIR signals are not seen and the driver does nothing or behaves erratically.
The A4988 is the classic RAMPS/StepStick driver for X, Y, Z, and extruder axes, giving quiet, precise positioning with 1/16 microstepping.
Drive a lead-screw or belt slider from an Arduino, using STEP pulses to control speed and DIR to reverse for smooth timelapse and video moves.
Pair the driver with a small NEMA 17 to build pan-tilt heads or motorized window blinds where holding torque and repeatable positioning matter.
Drop the A4988 Stepper Driver into a circuit, write firmware, and simulate it in your browser, then deploy to real hardware. All in one editable Tinkered project.