The A4988 motor driver is a microstepping translator and driver IC designed specifically for bipolar stepper motors. Operating from 8V to 35V, it can deliver up to 2A per phase with adequate heatsinking and active cooling, or roughly 1A per phase without a heatsink. It demands a bipolar stepper motor (such as a NEMA 17 or NEMA 23) and relies on open-loop step and direction pulses. It cannot drive brushed DC motors, brushless DC (BLDC) motors, or closed-loop AC/DC servos. If you are building a CNC router, a 3D printer, or a precision linear actuator, understanding how to match the A4988 to your specific mechanical load and correctly calibrate its current limits is the difference between smooth motion and melted silicon.

The A4988 Motor Driver: Load Profiles and Motor Compatibility

Before wiring any driver, you must verify that your motor type matches the driver's output topology and your mechanical load profile. The A4988 outputs sequenced current pulses to two separate coil phases (A and B). This topology strictly requires a bipolar stepper motor, which has exactly two coils and four wires (or six/eight wires wired in a bipolar configuration).

Stepper motors and servo motors are fundamentally different in how they deliver torque and how they are controlled. Treating them as interchangeable is a common and costly mistake. A stepper motor produces maximum torque at zero RPM (holding torque) and experiences a steep torque drop-off as speed increases due to coil inductance and back-EMF. A servo motor, conversely, maintains constant torque up to its rated speed and requires a closed-loop encoder for commutation. The A4988 has no encoder feedback inputs; it operates entirely in open-loop.

Motor Type Comparison for Precision Motion Loads
Motor Type Torque Curve Control Needs Typical Cost (2026)
Bipolar Stepper (NEMA 17/23) Max at stall (0 RPM), drops exponentially at high RPM. Open-loop step/dir pulses. Compatible with A4988. $12 - $25
DC Servo (Brushed/BLDC) Constant torque up to rated speed, drops after base speed. Closed-loop PID, requires encoder feedback and 3-phase or H-bridge commutation. $80 - $250+
Brushed DC Motor Max at stall, linear drop to zero torque at no-load speed. Simple voltage polarity/H-bridge. Speed controlled via PWM duty cycle. $5 - $15

Which motor fits this load profile? If your application requires high holding torque at low speeds, precise open-loop positioning without encoders, and operates below 1000 RPM, a bipolar stepper driven by an A4988 is the correct choice. If your load requires high-speed continuous rotation with constant torque, you must abandon the A4988 and select a closed-loop servo or BLDC driver.

Terminal Identification and Wiring the A4988

The standard A4988 carrier board (popularized by Pololu and widely cloned) breaks out the 28-pin QFN package into a 16-pin DIP footprint. Correct terminal identification is critical; miswiring the logic and motor power rails will instantly destroy the IC.

  • VMOT & GND (Motor Power): Supplies the high-voltage current to the motor coils. Accepts 8V to 35V. Do not exceed 35V, or the internal TVS diode will fail.
  • VDD & GND (Logic Power): Powers the internal logic sequencer. Accepts 3V to 5.5V. Often jumpered to VMOT on some carrier boards, but best practice is to supply it from your microcontroller's 3.3V or 5V rail.
  • ENABLE: Active LOW. Pulling this pin high disables the FET outputs but keeps the logic alive.
  • MS1, MS2, MS3: Microstepping resolution pins. Tied to VDD via internal pull-ups (full step by default). Pulled to GND to configure half, quarter, eighth, or sixteenth stepping.
  • STEP & DIR: STEP requires a rising edge pulse to advance one microstep. DIR sets the rotation direction (HIGH or LOW).
  • 1A, 1B, 2A, 2B: The motor coil outputs. 1A/1B connect to Coil 1; 2A/2B connect to Coil 2.
Callout Tip: The Decoupling Capacitor
You must install a minimum 100µF electrolytic capacitor across the VMOT and GND pins, physically as close to the A4988 board as possible. Stepper coils are highly inductive. When the internal FETs switch off, they generate massive voltage spikes. Without this capacitor, the spikes will exceed the 35V absolute maximum rating and punch through the driver IC, permanently shorting VMOT to the coil outputs.

Identifying Stepper Coils: To wire the 1A/1B and 2A/2B terminals, you must identify the coil pairs. Set your multimeter to resistance (Ohms). Measure across the motor wires. You will find two pairs of wires with low resistance (typically 1.0Ω to 5.0Ω) and infinite resistance between any other combination. Connect one matched pair to 1A/1B and the other to 2A/2B. If the motor spins backward, simply reverse the wires on one of the coils (e.g., swap 1A and 1B).

Sizing Rule of Thumb and Current Limit Calibration

The most common cause of A4988 failure is improper current limiting. The driver does not automatically sense the motor's rated current; you must manually calibrate the reference voltage (Vref) using the onboard potentiometer.

Sizing Rule of Thumb: The driver's continuous current capability must be at least 125% of the motor's rated phase current to account for thermal derating and ambient temperature variations.

Worked Load Example:
Suppose you are using a standard NEMA 17 stepper motor rated for 1.2A per phase.
Required Driver Capacity = 1.2A × 1.25 = 1.5A.
The A4988 can deliver 1A continuously without a heatsink, and up to 2A with a heatsink and forced air cooling. Since 1.5A falls between these thresholds, you must apply a heatsink and ensure adequate airflow. If your motor was rated at 2.5A per phase, the A4988 would be undersized, and you would need to step up to a DRV8825 or TB6600 driver.

Calibrating Vref:
The Allegro A4988 datasheet defines the current limit formula as: I_Trip = Vref / (8 × Rs).
Rearranging to solve for Vref: Vref = I_Trip × 8 × Rs.

Here, Rs is the resistance of the current sense resistor on the carrier board. This is where hobbyists make fatal errors. You must read the SMD resistor code on your specific board:

  • If Rs = 0.100Ω (Code R100, common on genuine Pololu boards):
    Vref = 1.5A × 8 × 0.1Ω = 1.2V
  • If Rs = 0.050Ω (Code R050, common on budget clone boards):
    Vref = 1.5A × 8 × 0.05Ω = 0.6V

Power the board via VDD (logic) only, with the motor disconnected. Place your multimeter's black probe on the GND pin and the red probe on the metal body of the potentiometer (which acts as the Vref test point). Turn the pot with a ceramic screwdriver until you hit your target voltage.

Recognizing Failure Signatures

When an A4988 setup is misconfigured, the hardware will communicate the failure mode acoustically and thermally before catastrophic damage occurs:

  • Hum or Vibration Without Movement: The motor is energized but stalled. This indicates the acceleration ramp in your firmware is too aggressive for the load inertia, the current limit is set too low to overcome static friction, or one of the coil pairs is wired out of phase.
  • High-Pitch Squeal: Usually a sign of missed steps due to mechanical resonance at specific microstepping frequencies, or the STEP pulse frequency exceeds the driver's translation limit without proper acceleration profiling.
  • Overheat and Thermal Shutdown: The A4988 features internal thermal shutdown at approximately 165°C junction temperature. If the chip cycles on and off (hiccup mode) and is too hot to touch, your Vref is set too high, your heatsink is inadequate, or you are running high microstep divisions without sufficient voltage overhead.
  • Stall Under Load: The motor runs fine unloaded but stalls when coupled to the mechanism. This means the load torque exceeds the motor's pull-out torque curve at that specific RPM. You must either reduce the speed, increase the VMOT voltage (up to 35V) to overcome back-EMF, or gear the load down.

A4988 Motor Driver FAQ

Why is my A4988 motor driver overheating and shutting down?

Overheating is almost always caused by an improperly calibrated Vref or inadequate thermal dissipation. If you set Vref based on a 0.1Ω sense resistor but your clone board actually uses a 0.05Ω resistor, you will push twice the intended current through the coils, rapidly saturating the internal FETs and triggering the 165°C thermal shutdown. Verify your Rs value, recalculate Vref, and ensure a heatsink is firmly adhered to the IC with thermal compound. Additionally, operating at high microstepping resolutions (1/8 or 1/16) generates more switching losses in the driver; if running these modes continuously, active cooling (a small fan) is mandatory.

Can I use the A4988 motor driver with a 5V stepper motor?

Yes, but with a critical caveat regarding VMOT. The A4988 requires a minimum of 8V on the VMOT pin to properly operate the internal charge pump and gate drivers. You cannot power VMOT with 5V. To drive a "5V" rated stepper motor, you must supply a higher voltage (e.g., 12V or 24V) to VMOT, and then strictly limit the current using the Vref potentiometer to match the motor's 5V-rated phase current. The driver's PWM current regulation will chop the higher voltage to maintain the safe current limit, which actually results in faster current rise times and better high-speed torque than running the motor at its nominal 5V.

How do I change the microstepping resolution on the A4988?

Microstepping is configured by pulling the MS1, MS2, and MS3 pins HIGH (to VDD) or LOW (to GND). By default, the carrier board has internal pull-up resistors on these pins, meaning if they are left unconnected, the driver operates in Full Step mode. To change the resolution, wire these pins to your microcontroller's GPIO or use jumper wires to GND. For example, pulling MS1 and MS2 HIGH and MS3 LOW configures the driver for 1/8 microstepping. Note that changing the microstep mode requires the STEP pin to be held LOW for at least 1µs before the next step pulse to allow the internal translator to register the new state.

What happens if I disconnect the stepper motor while the A4988 is powered?

Disconnecting the stepper motor coils while the A4988 is powered and actively stepping will likely destroy the driver IC. When a coil is disconnected under load, the inductive kickback has nowhere to dissipate, and the voltage at the output pins will instantly spike past the 35V absolute maximum rating, punching through the silicon. Always de-energize the VMOT power supply and wait for the capacitors to discharge before plugging or unplugging motor wires. If you need to disable the motor while keeping the logic powered, use the ENABLE pin instead of physically disconnecting the wires.