

The DRV8825 is a stepper motor driver IC manufactured by Texas Instruments, designed to provide precise control of stepper motors. It supports adjustable current control, microstepping (up to 1/32 steps), and includes built-in protection features such as overcurrent, thermal shutdown, and undervoltage lockout. The DRV8825 is widely used in robotics, 3D printers, CNC machines, and other automation systems requiring accurate motor control.








The DRV8825 is a versatile and robust stepper motor driver. Below are its key technical details:
| Parameter | Value |
|---|---|
| Operating Voltage (VMOT) | 8.2V to 45V |
| Logic Voltage (VIO) | 3.3V or 5V |
| Maximum Output Current | 2.5A per coil (with sufficient cooling) |
| Microstepping Modes | Full, 1/2, 1/4, 1/8, 1/16, 1/32 |
| Step Frequency | Up to 250 kHz |
| Thermal Shutdown Protection | Yes |
| Overcurrent Protection | Yes |
| Undervoltage Lockout | Yes |
The DRV8825 is typically available in a 28-pin HTSSOP package or as a breakout module. Below is the pinout for the breakout module:
| Pin Name | Type | Description |
|---|---|---|
| VMOT | Power Input | Motor power supply (8.2V to 45V). Connect a capacitor (e.g., 100 µF) across VMOT and GND. |
| GND | Power Ground | Ground connection for motor power supply. |
| VDD | Power Input | Logic voltage supply (3.3V or 5V). |
| DIR | Digital Input | Direction control input. High or low determines motor rotation direction. |
| STEP | Digital Input | Step pulse input. Each pulse advances the motor by one step. |
| ENABLE | Digital Input | Enables or disables the motor driver. Low = enabled, High = disabled. |
| MS1, MS2, MS3 | Digital Inputs | Microstepping mode selection pins. See table below for configuration. |
| FAULT | Digital Output | Fault indicator. Low when a fault condition occurs (e.g., overcurrent). |
| AOUT1, AOUT2 | Motor Outputs | Outputs for one motor coil (A). |
| BOUT1, BOUT2 | Motor Outputs | Outputs for the other motor coil (B). |
| SLEEP | Digital Input | Puts the driver into low-power sleep mode when pulled low. |
| RESET | Digital Input | Resets the internal logic when pulled 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 | 1/2 Step |
| Low | High | Low | 1/4 Step |
| High | High | Low | 1/8 Step |
| Low | Low | High | 1/16 Step |
| High | Low | High | 1/32 Step |
To prevent overheating or overdriving the motor, adjust the current limit using the onboard potentiometer:
Below is an example of how to control a stepper motor using the DRV8825 and an Arduino UNO:
// Define control pins
#define STEP_PIN 3 // Connect to STEP pin on DRV8825
#define DIR_PIN 4 // Connect to DIR pin on DRV8825
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
}
void loop() {
// Generate step pulses
digitalWrite(STEP_PIN, HIGH); // Step pulse HIGH
delayMicroseconds(500); // Wait 500 microseconds
digitalWrite(STEP_PIN, LOW); // Step pulse LOW
delayMicroseconds(500); // Wait 500 microseconds
}
Motor Not Moving:
Overheating:
Fault Indicator (FAULT Pin Low):
Erratic Motor Movement:
Q: Can I use the DRV8825 with a 12V power supply?
A: Yes, the DRV8825 supports motor power supply voltages from 8.2V to 45V, so 12V is within the acceptable range.
Q: How do I know the correct current limit for my motor?
A: Refer to your motor's datasheet for its rated current per phase. Set the current limit on the DRV8825 to match or slightly below this value.
Q: Can I use the DRV8825 with a unipolar stepper motor?
A: The DRV8825 is designed for bipolar stepper motors. However, you can use a unipolar motor in bipolar mode by ignoring the center tap wires.
Q: What happens if I exceed the current limit?
A: The DRV8825 includes overcurrent protection and will shut down to prevent damage. However, prolonged overcurrent conditions can still cause overheating.
By following this documentation, you can effectively use the DRV8825 stepper motor driver in your projects.