

The A4988 Circuit Board is a stepper motor driver designed for precise control of bipolar stepper motors. Manufactured by Custom with the part ID A4988, this component is widely used in applications requiring smooth and accurate motor movement. It features adjustable current control, microstepping capabilities, and thermal protection, making it a reliable choice for projects such as 3D printers, CNC machines, and robotics.








The A4988 Circuit Board is a compact and versatile driver with the following key specifications:
The A4988 Circuit Board has 16 pins, which are described in the table below:
| Pin Name | Type | Description | 
|---|---|---|
| VMOT | Power Input | Motor power supply (8V to 35V). Connect to the stepper motor's power source. | 
| GND | Ground | Ground connection for motor power supply. | 
| VDD | Power Input | Logic voltage supply (3.3V or 5V). | 
| GND | Ground | Ground connection for logic voltage. | 
| 1A, 1B | Motor Output | Connect to one coil of the stepper motor. | 
| 2A, 2B | Motor Output | Connect to the other coil of the stepper motor. | 
| STEP | Logic Input | Step signal input. Each pulse moves the motor one step. | 
| DIR | Logic Input | Direction control input. High or low determines the motor's rotation direction. | 
| ENABLE | Logic Input | Enables or disables the driver. Active low. | 
| MS1, MS2, MS3 | Logic Inputs | Microstepping mode selection. | 
| RESET | Logic Input | Resets the driver. Active low. | 
| SLEEP | Logic Input | Puts the driver into low-power sleep mode. Active low. | 
The microstepping mode is configured using the MS1, MS2, and MS3 pins as shown below:
| MS1 | MS2 | MS3 | Microstepping Mode | 
|---|---|---|---|
| Low | Low | Low | Full Step | 
| High | Low | Low | Half Step | 
| Low | High | Low | Quarter Step | 
| High | High | Low | Eighth Step | 
| High | High | High | Sixteenth Step | 
Power Connections:
Motor Connections:
Control Signals:
Adjust Current Limit:
Enable/Disable the Driver:
Below is an example of how to control a stepper motor using the A4988 with an Arduino UNO:
// Define control pins for the A4988
#define STEP_PIN 3  // Connect to the STEP pin on the A4988
#define DIR_PIN 4   // Connect to the DIR pin on the 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(1000);      // Wait for 1ms (adjust for speed)
  digitalWrite(STEP_PIN, LOW);  // Set STEP pin LOW
  delayMicroseconds(1000);      // Wait for 1ms (adjust for speed)
}
delayMicroseconds() to control the motor speed.Motor Not Moving:
Overheating:
Jerky or Inconsistent Movement:
Driver Not Responding:
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 may overheat and shut down due to thermal protection. Always set the current limit appropriately.
Q: Can I control multiple stepper motors with one A4988?
A: No, each A4988 can control only one bipolar stepper motor.
By following this documentation, you can effectively use the A4988 Circuit Board for your stepper motor control applications.