Uncategorized

A4988 Stepper Motor Driver Module

A4988 Stepper Motor Driver Module

Microstepping bipolar stepper motor driver with up to 2A per coil and 1/16 step resolution

Introduction

The A4988 stepper motor driver is a complete microstepping motor driver with built-in translator for easy operation. It’s designed to operate bipolar stepper motors in full-, half-, quarter-, eighth-, and sixteenth-step modes, with an output drive capacity of up to 35V and ±2A.

A4988 Stepper Motor Driver

Key Features

🔌 Microstepping

1/16 step resolution

High Current

Up to 2A per coil (with heatsink)

🔒 Protection

Thermal shutdown & overcurrent

🔄 Simple Control

STEP/DIR interface

🔧 Adjustable Current

Via potentiometer

💡 Status LEDs

Power and fault indicators

Technical Specifications

Operating Voltage 8-35V
Logic Voltage 3-5.5V
Max Current per Coil 2A (with heatsink)
Microstep Resolution Full, 1/2, 1/4, 1/8, 1/16
Step Frequency Up to 250kHz
Protection Features Thermal shutdown, undervoltage lockout, crossover-current
Package QFN-28 (5mm × 5mm)
Module Dimensions 20mm × 15mm × 10mm

Pin Configuration

A4988 Pinout Diagram

Pin Description Connection
VMOT Motor power (8-35V) Connect to power supply
GND Ground Connect to power supply ground
VDD Logic voltage (3-5.5V) Connect to Arduino 5V
STEP Step input Connect to Arduino digital pin
DIR Direction input Connect to Arduino digital pin
ENABLE Enable (active LOW) Optional control
MS1, MS2, MS3 Microstep selection Connect to GND or VDD
1A, 1B, 2A, 2B Motor coil connections Connect to stepper motor

Current Adjustment

  1. Power off the driver and disconnect motor
  2. Set multimeter to measure DC voltage (200mV range)
  3. Place probes on the potentiometer and GND
  4. Power on the system
  5. Adjust potentiometer until VREF = I_Trip × 0.8
  6. Example: For 1A current, set VREF to 0.8V
Formula: VREF = Current Limit × 0.8 (e.g., 1A × 0.8 = 0.8V)

Microstep Configuration

MS1 MS2 MS3 Microstep Resolution
LOW LOW LOW Full step
HIGH LOW LOW 1/2 step
LOW HIGH LOW 1/4 step
HIGH HIGH LOW 1/8 step
HIGH HIGH HIGH 1/16 step

Arduino Connection Example

A4988 Arduino Wiring

Heatsink Installation

  1. Clean the metal surface of the A4988 chip
  2. Apply thermal adhesive or thermal tape
  3. Press heatsink firmly onto the chip
  4. Allow adhesive to cure if needed
  5. Ensure no electrical contact with other components
Important: Always use a heatsink when driving currents above 1A

Troubleshooting

Motor Not Moving

  • Check power supply connections
  • Verify ENABLE pin is LOW (or disconnected)
  • Confirm STEP pulses are being sent
  • Check current adjustment

Driver Gets Hot

  • Ensure proper heatsink installation
  • Reduce current if not needed
  • Check for short circuits
  • Improve ventilation

Inconsistent Movement

  • Verify microstep settings
  • Check motor wiring connections
  • Ensure sufficient power supply
  • Slow down STEP pulse frequency

Application Examples

🖨️ 3D Printers

Precise axis control

🤖 CNC Machines

Accurate tool positioning

📷 Camera Sliders

Smooth motion control

🔬 Lab Automation

Precise liquid handling