Cirkit Designer LogoCirkit DesignerYour all-in-one circuit design IDE Launch Cirkit Designer App

How to Use A4988 on Breakout Board: Examples, Pinouts, and Specs

Image of A4988 on Breakout BoardDesign with A4988 on Breakout Board in Cirkit Designer

Introduction

The A4988 stepper motor driver on a breakout board is a compact, complete microstepping motor driver with a built-in translator for easy operation. It is designed to operate bipolar stepper motors in full-, half-, quarter-, eighth-, and sixteenth-step modes, with an output drive capacity of up to 35 V and ±2 A. The A4988 is commonly used in 3D printers, CNC machines, and other applications where precise control of a stepper motor is required.

Explore Projects Built with A4988 on Breakout Board

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 Teensy-Controlled Stepper Motor and Servo Actuation System: A project utilizing A4988 on Breakout Board in a practical application
Teensy-Controlled Stepper Motor and Servo Actuation System

This circuit controls a bipolar stepper motor using an A4988 Stepper Motor Driver, which is interfaced with a Teensy 4.1 microcontroller. The Teensy sends step and direction signals to the driver, while the driver's RESET and SLEEP pins are tied together, likely for simplified control. Additionally, the circuit includes an Adafruit PCA9685 PWM Servo Breakout board, which is connected to a servo motor and communicates with the Teensy via I2C, and both the driver and the breakout board are powered by separate power supplies with decoupling provided by an electrolytic capacitor.

Open Project in Cirkit Designer
Image of Arduino Mega 2560-Controlled Stepper Motors with RFID Access and Traffic Light Indication: A project utilizing A4988 on Breakout Board 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.

Open Project in Cirkit Designer
Image of RFID-Activated Traffic Light Controller with Auditory Feedback Using Arduino Mega: A project utilizing A4988 on Breakout Board 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.

Open Project in Cirkit Designer

Technical Specifications

Key Technical Details

Pin Configuration and Descriptions

Pin Number Name Description
1 VMOT Motor supply voltage (8 - 35 V)
2 GND Ground (0 V)
3 2B Motor connection B
4 2A Motor connection A
5 1A Motor connection A
6 1B Motor connection B
7 VDD Logic supply voltage (3.3 - 5.5 V)
8 GND Ground (0 V)
9 STEP Step input (pulses)
10 DIR Direction input
11 MS1 Microstep selection 1
12 MS2 Microstep selection 2
13 MS3 Microstep selection 3
14 RESET Resets the driver when pulled low
15 SLEEP Puts the driver in sleep mode when pulled low
16 EN Enables the driver when pulled low

Usage Instructions

Connecting the A4988 to a Circuit

  1. Connect VMOT (Pin 1) to your motor power supply (8 - 35 V).
  2. Connect the two motor wires to 1A (Pin 5) and 1B (Pin 6), and the other two wires to 2A (Pin 4) and 2B (Pin 3).
  3. Connect VDD (Pin 7) to a 3.3 - 5.5 V logic supply.
  4. Connect the STEP (Pin 9) and DIR (Pin 10) to the control signals (usually from a microcontroller).
  5. Set the current limit using the onboard potentiometer.
  6. Use the MS1 (Pin 11), MS2 (Pin 12), and MS3 (Pin 13) pins to set the desired microstepping resolution.

Important Considerations and Best Practices

Example Code for Arduino UNO

// Define step and direction pins
#define DIR_PIN 2
#define STEP_PIN 3

void setup() {
  // Set the motor control pins as outputs
  pinMode(DIR_PIN, OUTPUT);
  pinMode(STEP_PIN, OUTPUT);
}

void loop() {
  // Set the direction
  digitalWrite(DIR_PIN, HIGH); // Set to LOW to change direction

  // Move the motor with a simple stepping pattern
  for (int i = 0; i < 200; i++) {
    // Pulse the STEP pin to move the motor
    digitalWrite(STEP_PIN, HIGH);
    delayMicroseconds(800); // Adjust the speed
    digitalWrite(STEP_PIN, LOW);
    delayMicroseconds(800); // Adjust the speed
  }

  // Pause before changing direction
  delay(1000);
}

Troubleshooting and FAQs

Common Issues

Solutions and Tips for Troubleshooting

FAQs

Q: Can I drive a motor that requires more than 2 A with the A4988? A: No, the A4988 is limited to 2 A per phase with proper cooling. For higher currents, consider using a driver capable of handling the required current.

Q: How do I set the current limit on the A4988? A: Turn the potentiometer while measuring the voltage on the REF pin or the VREF voltage at the potentiometer. Use the formula provided in the datasheet to calculate the appropriate VREF for your motor's current limit.

Q: What is the purpose of the microstep pins (MS1, MS2, MS3)? A: These pins allow you to select the microstepping resolution. By setting these pins HIGH or LOW, you can choose between full-step, half-step, quarter-step, eighth-step, and sixteenth-step modes.

Q: Why does my motor make a whining noise? A: This can be due to high current settings or rapid stepping. Try adjusting the current limit or step rate. Additionally, microstepping can reduce noise and provide smoother motion.