

The A5984 Stepper Motor Driver Carrier by Pololu (Manufacturer Part ID: 1194453) is a compact and efficient driver designed to control bipolar stepper motors. It offers advanced features such as adjustable current control, microstepping capabilities (up to 1/32-step), and built-in protection mechanisms like overcurrent and thermal shutdown. This makes it an excellent choice for applications requiring precise motor control, such as robotics, 3D printers, CNC machines, and other automation systems.








| Parameter | Value |
|---|---|
| Operating Voltage (VMOT) | 8 V to 35 V |
| Logic Voltage (VDD) | 3.3 V or 5 V |
| Maximum Output Current | 1.5 A per phase (continuous) |
| Peak Output Current | 2.2 A per phase (with sufficient cooling) |
| Microstepping Modes | Full, 1/2, 1/4, 1/8, 1/16, 1/32 |
| Step Input Frequency | Up to 500 kHz |
| Built-in Protections | Overcurrent, thermal shutdown, undervoltage lockout |
| Dimensions | 0.6" × 0.8" × 0.1" (15 mm × 20 mm × 3 mm) |
| Weight | 1.2 g |
The A5984 Stepper Motor Driver Carrier has 16 pins. Below is the pinout and description:
| Pin Name | Type | Description |
|---|---|---|
| VMOT | Power Input | Motor power supply (8 V to 35 V). Connect a decoupling capacitor nearby. |
| GND | Power | Ground connection for motor and logic power supplies. |
| VDD | Power Input | Logic voltage supply (3.3 V or 5 V). |
| STEP | Input | Step signal input. Each pulse advances the motor by one step. |
| DIR | Input | Direction control input. High or low determines motor rotation direction. |
| MS1, MS2 | Input | Microstepping mode selection pins. See table below for configuration. |
| ENABLE | Input | Active-low enable pin. Pull low to enable the driver. |
| RESET | Input | Active-low reset pin. Pull low to reset internal logic. |
| SLEEP | Input | Active-low sleep pin. Pull low to minimize power consumption. |
| OUT1A, OUT1B | Output | Outputs for motor coil 1. |
| OUT2A, OUT2B | Output | Outputs for motor coil 2. |
| FAULT | Output | Open-drain fault indicator. Low when a fault condition occurs. |
| REF | Input | Reference voltage for current limit adjustment. |
| MS1 | MS2 | Microstepping Mode |
|---|---|---|
| Low | Low | Full step |
| High | Low | Half step |
| Low | High | 1/4 step |
| High | High | 1/8, 1/16, or 1/32 step (default: 1/32) |
Power Connections:
VMOT pin.VDD pin.GND) are connected.Motor Connections:
OUT1A, OUT1B, OUT2A, and OUT2B.Control Signals:
STEP pin to send pulses for stepping the motor.DIR pin to set the rotation direction.MS1 and MS2 pins.Current Limiting:
REF voltage. Use the formula:Current Limit (A) = VREF / (8 × RS)
where RS is the sense resistor value (typically 0.1 Ω).Enable and Sleep:
ENABLE pin low to activate the driver.SLEEP pin low to minimize power consumption when the driver is idle.Below is an example of how to control the A5984 Stepper Motor Driver Carrier with an Arduino UNO:
// Define pin connections
#define STEP_PIN 3 // Connect to STEP pin on A5984
#define DIR_PIN 4 // Connect to DIR pin on A5984
#define ENABLE_PIN 5 // Connect to ENABLE pin on A5984
void setup() {
// Set pin modes
pinMode(STEP_PIN, OUTPUT);
pinMode(DIR_PIN, OUTPUT);
pinMode(ENABLE_PIN, OUTPUT);
// Enable the driver
digitalWrite(ENABLE_PIN, LOW); // Pull ENABLE low to activate driver
}
void loop() {
// Set direction
digitalWrite(DIR_PIN, HIGH); // Set direction to clockwise
// Step the motor
for (int i = 0; i < 200; i++) { // 200 steps for one revolution (1.8°/step motor)
digitalWrite(STEP_PIN, HIGH); // Generate a step pulse
delayMicroseconds(1000); // 1 ms pulse width
digitalWrite(STEP_PIN, LOW);
delayMicroseconds(1000); // 1 ms delay between steps
}
delay(1000); // Wait 1 second before reversing direction
// Reverse direction
digitalWrite(DIR_PIN, LOW); // Set direction to counterclockwise
// Step the motor in reverse
for (int i = 0; i < 200; i++) {
digitalWrite(STEP_PIN, HIGH);
delayMicroseconds(1000);
digitalWrite(STEP_PIN, LOW);
delayMicroseconds(1000);
}
delay(1000); // Wait 1 second before repeating
}
VMOT pin to stabilize the motor power supply.Motor Not Moving:
VMOT and VDD.ENABLE pin is pulled low to activate the driver.STEP pin is receiving pulses.Motor Vibrates but Does Not Rotate:
DIR pin is set correctly for the desired direction.Driver Overheating:
REF voltage.FAULT Pin is Low:
Can I use the A5984 with a unipolar stepper motor? No, the A5984 is designed for bipolar stepper motors only.
What happens if I exceed the maximum input voltage?
Exceeding 35 V on the VMOT pin can permanently damage the driver. Use a regulated power supply.
How do I select a microstepping mode?
Set the MS1 and MS2 pins according to the microstepping mode table provided in the technical specifications.
This concludes the documentation for the A5984 Stepper Motor Driver Carrier. For further assistance, refer to the Pololu product page or contact technical support.