Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use Pololu A4988: Examples, Pinouts, and Specs

Image of Pololu A4988
Cirkit Designer LogoDesign with Pololu A4988 in Cirkit Designer

Introduction

The Pololu A4988 (Manufacturer Part ID: 1182) is a microstepping driver designed for controlling bipolar stepper motors. It is a compact and versatile module that simplifies the process of driving stepper motors with precision. The A4988 supports adjustable current limiting, over-temperature protection, and five microstepping resolutions (full-step, half-step, quarter-step, eighth-step, and sixteenth-step). This makes it ideal for applications requiring precise motor control, such as 3D printers, CNC machines, and robotics.

Explore Projects Built with Pololu A4988

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Arduino Mega 2560-Controlled Stepper Motors with RFID Access and Traffic Light Indication
Image of Copy of test: A project utilizing Pololu A4988 in a practical application
This circuit controls two 28BYJ-48 stepper motors using A4988 stepper motor driver carriers, interfaced with an Arduino Mega 2560 microcontroller. It features an RFID-RC522 module for RFID reading, a 16x4 LCD display with I2C interface for user interaction, and a piezo speaker for audio feedback. Additionally, there is a traffic light module controlled by the Arduino, and a 48V to 5V converter to step down voltage for the logic levels. The power supply provides 12V to the motor drivers and is connected to a standard power outlet.
Cirkit Designer LogoOpen Project in Cirkit Designer
RFID-Activated Traffic Light Controller with Auditory Feedback Using Arduino Mega
Image of test: A project utilizing Pololu A4988 in a practical application
This circuit is designed to control two 28BYJ-48 stepper motors using A4988 stepper motor driver carriers, with an Arduino Mega 2560 as the central microcontroller. It includes an RFID-RC522 module for RFID reading, an LCD display for user interface, and a traffic light and piezo speaker for visual and audio signaling. The circuit is powered by a 12V 5A power supply, which is stepped down to 5V for logic level components, and it interfaces with a power outlet for AC to DC conversion.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino-Controlled Dual Stepper Motor System with Rotary Encoder Feedback
Image of claw machine encoder + stepper: A project utilizing Pololu A4988 in a practical application
This is a multi-axis stepper motor control system managed by an Arduino Mega 2560, which interfaces with A4988 stepper motor drivers to control bipolar stepper motors. Rotary encoders provide user input for controlling motor parameters, and 9V batteries supply power to the system.
Cirkit Designer LogoOpen Project in Cirkit Designer
A4988 Stepper Motor Driver Controlled Bipolar Stepper Motor
Image of idk: A project utilizing Pololu A4988 in a practical application
This circuit is designed to control a bipolar stepper motor using an A4988 stepper motor driver. The driver interfaces with the motor by connecting its output pins to the motor's coils, allowing precise control of the motor's movement.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with Pololu A4988

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of Copy of test: A project utilizing Pololu A4988 in a practical application
Arduino Mega 2560-Controlled Stepper Motors with RFID Access and Traffic Light Indication
This circuit controls two 28BYJ-48 stepper motors using A4988 stepper motor driver carriers, interfaced with an Arduino Mega 2560 microcontroller. It features an RFID-RC522 module for RFID reading, a 16x4 LCD display with I2C interface for user interaction, and a piezo speaker for audio feedback. Additionally, there is a traffic light module controlled by the Arduino, and a 48V to 5V converter to step down voltage for the logic levels. The power supply provides 12V to the motor drivers and is connected to a standard power outlet.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of test: A project utilizing Pololu A4988 in a practical application
RFID-Activated Traffic Light Controller with Auditory Feedback Using Arduino Mega
This circuit is designed to control two 28BYJ-48 stepper motors using A4988 stepper motor driver carriers, with an Arduino Mega 2560 as the central microcontroller. It includes an RFID-RC522 module for RFID reading, an LCD display for user interface, and a traffic light and piezo speaker for visual and audio signaling. The circuit is powered by a 12V 5A power supply, which is stepped down to 5V for logic level components, and it interfaces with a power outlet for AC to DC conversion.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of claw machine encoder + stepper: A project utilizing Pololu A4988 in a practical application
Arduino-Controlled Dual Stepper Motor System with Rotary Encoder Feedback
This is a multi-axis stepper motor control system managed by an Arduino Mega 2560, which interfaces with A4988 stepper motor drivers to control bipolar stepper motors. Rotary encoders provide user input for controlling motor parameters, and 9V batteries supply power to the system.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of idk: A project utilizing Pololu A4988 in a practical application
A4988 Stepper Motor Driver Controlled Bipolar Stepper Motor
This circuit is designed to control a bipolar stepper motor using an A4988 stepper motor driver. The driver interfaces with the motor by connecting its output pins to the motor's coils, allowing precise control of the motor's movement.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications

  • 3D printers for precise movement of print heads
  • CNC machines for accurate tool positioning
  • Robotics for controlling joint or wheel movements
  • Automated systems requiring stepper motor control

Technical Specifications

Key Technical Details

Parameter Value
Operating Voltage (VDD) 3.3V to 5.5V
Motor Supply Voltage (VMOT) 8V to 35V
Maximum Output Current 2A per coil (with sufficient cooling)
Microstepping Modes Full, 1/2, 1/4, 1/8, 1/16
Logic Input Voltage 3.3V or 5V logic compatible
Current Limiting Adjustable via onboard potentiometer
Protection Features Over-temperature, short-circuit, undervoltage
Dimensions 15.2mm × 20.3mm

Pin Configuration and Descriptions

The Pololu A4988 module has 16 pins. Below is the pinout and description:

Pin Name Pin Type Description
VMOT Power Input Motor power supply (8V to 35V). Connect a capacitor (at least 47µF) nearby.
GND Power Ground Ground connection for motor power supply.
2B, 2A Motor Output Connect to one coil of the stepper motor.
1A, 1B Motor Output Connect to the other coil of the stepper motor.
VDD Power Input Logic power supply (3.3V to 5.5V).
GND Power Ground Ground connection for logic power supply.
STEP Logic Input Controls the step signal for the motor.
DIR Logic Input Controls the direction of motor rotation.
ENABLE Logic Input Enables or disables the motor driver (active low).
MS1, MS2, MS3 Logic Input Selects the microstepping resolution.
RESET Logic Input Resets the driver (active low).
SLEEP Logic Input Puts the driver into low-power sleep mode (active low).

Usage Instructions

How to Use the Pololu A4988 in a Circuit

  1. Power Connections:

    • Connect VMOT to the motor power supply (8V to 35V) and GND to the motor ground.
    • Connect VDD to the logic power supply (3.3V or 5V) and GND to the logic ground.
  2. Motor Connections:

    • Connect the stepper motor coils to the 1A, 1B, 2A, and 2B pins. Ensure the correct pairing of motor wires.
  3. Control Signals:

    • Use the STEP pin to send pulses for each step. The DIR pin determines the direction of rotation.
    • Configure the microstepping mode by setting MS1, MS2, and MS3 pins (refer to the table below).
Microstepping Mode MS1 MS2 MS3
Full Step Low Low Low
Half Step High Low Low
Quarter Step Low High Low
Eighth Step High High Low
Sixteenth Step High High High
  1. Adjust Current Limiting:

    • Use the onboard potentiometer to set the current limit. This prevents overheating and protects the motor.
  2. Capacitor Placement:

    • Place a capacitor (at least 47µF) across VMOT and GND to reduce voltage spikes.

Arduino UNO Example Code

Below is an example of how to control a stepper motor using the Pololu A4988 with an Arduino UNO:

// Define control pins for the A4988 driver
#define STEP_PIN 3  // Connect to STEP pin on A4988
#define DIR_PIN 4   // Connect to DIR pin on A4988

void setup() {
  pinMode(STEP_PIN, OUTPUT); // Set STEP pin as output
  pinMode(DIR_PIN, OUTPUT);  // Set DIR pin as output

  digitalWrite(DIR_PIN, HIGH); // Set initial direction (HIGH = clockwise)
}

void loop() {
  // Generate a step pulse
  digitalWrite(STEP_PIN, HIGH); // Set STEP pin HIGH
  delayMicroseconds(500);       // Wait for 500 microseconds
  digitalWrite(STEP_PIN, LOW);  // Set STEP pin LOW
  delayMicroseconds(500);       // Wait for 500 microseconds

  // Repeat to create continuous motion
}

Important Considerations

  • Heat Dissipation: The A4988 can get hot during operation. Use a heatsink or active cooling if necessary.
  • Current Limiting: Always set the current limit to match your motor's specifications to avoid damage.
  • Power Supply: Ensure the motor power supply voltage is within the specified range (8V to 35V).

Troubleshooting and FAQs

Common Issues and Solutions

  1. Motor Not Moving:

    • Check all power connections (VMOT, VDD, and GND).
    • Verify that the STEP and DIR signals are being sent correctly.
    • Ensure the motor coils are connected to the correct pins (1A, 1B, 2A, 2B).
  2. Overheating:

    • Ensure the current limit is set correctly using the potentiometer.
    • Add a heatsink or active cooling to the driver.
  3. Erratic Motor Movement:

    • Verify the microstepping mode configuration (MS1, MS2, MS3).
    • Check for loose or incorrect wiring.
  4. Driver Not Responding:

    • Ensure the ENABLE pin is either connected to GND or left floating (active low).
    • Check the RESET and SLEEP pins; they should be pulled high for normal operation.

FAQs

Q: Can I use the A4988 with a unipolar stepper motor?
A: No, the A4988 is designed for bipolar stepper motors only.

Q: What happens if I exceed the current limit?
A: The driver will enter thermal shutdown to protect itself. Ensure proper current limiting to avoid this.

Q: Can I control multiple stepper motors with one Arduino?
A: Yes, you can use multiple A4988 drivers, each connected to a separate set of control pins on the Arduino.


This concludes the documentation for the Pololu A4988 microstepping driver.