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

How to Use DRV8825: Examples, Pinouts, and Specs

Image of DRV8825
Cirkit Designer LogoDesign with DRV8825 in Cirkit Designer

Introduction

The DRV8825 is a high-performance stepper motor driver designed to control bipolar stepper motors with precision and efficiency. It supports microstepping, allowing for smoother and more accurate motor movements. With adjustable current control, over-temperature protection, and the ability to drive up to 2.5A per phase, the DRV8825 is a versatile component widely used in robotics, 3D printers, CNC machines, and other automation systems.

Explore Projects Built with DRV8825

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
ATmega328P Microcontroller-Driven Stepper Motor with DRV8825
Image of Shutter for laser: A project utilizing DRV8825 in a practical application
This circuit is designed to control a bipolar stepper motor using a DRV8825 stepper motor driver, which is interfaced with a Nano 3.0 ATmega328P microcontroller. The microcontroller sends step and direction signals to the DRV8825, which in turn drives the stepper motor's coils. Power is supplied to the system through a 5V adapter for the logic and a DC power source for the motor, with an electrolytic capacitor for voltage smoothing on the motor supply.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Controlled Miniature Golf Course with Interactive Features
Image of aiden: A project utilizing DRV8825 in a practical application
This circuit is designed for an interactive miniature golf course feature, which includes a stepper motor controlled by a DRV8825 driver for a rotating windmill obstacle, two IR sensors for detecting the presence of a golf ball, and two LED strips for visual effects. An ESP32 microcontroller is programmed to manage the sensors, control the stepper motor, drive the LED strips, and interface with a DFPlayer Mini MP3 module for sound effects. The circuit is powered by a 12V power supply with a buck converter to step down the voltage for the logic components, and electrolytic capacitors are used for voltage smoothing.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Powered Wi-Fi Controlled Robotic Car with OLED Display and Ultrasonic Sensor
Image of playbot: A project utilizing DRV8825 in a practical application
This circuit is a battery-powered system featuring an ESP32 microcontroller that controls an OLED display, a motor driver for two hobby motors, an ultrasonic sensor for distance measurement, and a DFPlayer Mini for audio output through a loudspeaker. The TP4056 module manages battery charging, and a step-up boost converter provides a stable 5V supply to the components.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Controlled Weather Station with BME280 Sensor and Rain Detection
Image of WEATHER: A project utilizing DRV8825 in a practical application
This circuit features an ESP32 microcontroller interfaced with a DRV8825 stepper motor driver to control a bipolar stepper motor, an Adafruit BME280 sensor for environmental monitoring, and a YL-83 rain sensor for detecting precipitation. The ESP32 uses I2C communication to interact with the BME280 sensor and digital/analog signals to read from the rain sensor's control board. Power management is handled by a solar charger power bank connected to the DRV8825 and a capacitor for voltage smoothing.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with DRV8825

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 Shutter for laser: A project utilizing DRV8825 in a practical application
ATmega328P Microcontroller-Driven Stepper Motor with DRV8825
This circuit is designed to control a bipolar stepper motor using a DRV8825 stepper motor driver, which is interfaced with a Nano 3.0 ATmega328P microcontroller. The microcontroller sends step and direction signals to the DRV8825, which in turn drives the stepper motor's coils. Power is supplied to the system through a 5V adapter for the logic and a DC power source for the motor, with an electrolytic capacitor for voltage smoothing on the motor supply.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of aiden: A project utilizing DRV8825 in a practical application
ESP32-Controlled Miniature Golf Course with Interactive Features
This circuit is designed for an interactive miniature golf course feature, which includes a stepper motor controlled by a DRV8825 driver for a rotating windmill obstacle, two IR sensors for detecting the presence of a golf ball, and two LED strips for visual effects. An ESP32 microcontroller is programmed to manage the sensors, control the stepper motor, drive the LED strips, and interface with a DFPlayer Mini MP3 module for sound effects. The circuit is powered by a 12V power supply with a buck converter to step down the voltage for the logic components, and electrolytic capacitors are used for voltage smoothing.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of playbot: A project utilizing DRV8825 in a practical application
ESP32-Powered Wi-Fi Controlled Robotic Car with OLED Display and Ultrasonic Sensor
This circuit is a battery-powered system featuring an ESP32 microcontroller that controls an OLED display, a motor driver for two hobby motors, an ultrasonic sensor for distance measurement, and a DFPlayer Mini for audio output through a loudspeaker. The TP4056 module manages battery charging, and a step-up boost converter provides a stable 5V supply to the components.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of WEATHER: A project utilizing DRV8825 in a practical application
ESP32-Controlled Weather Station with BME280 Sensor and Rain Detection
This circuit features an ESP32 microcontroller interfaced with a DRV8825 stepper motor driver to control a bipolar stepper motor, an Adafruit BME280 sensor for environmental monitoring, and a YL-83 rain sensor for detecting precipitation. The ESP32 uses I2C communication to interact with the BME280 sensor and digital/analog signals to read from the rain sensor's control board. Power management is handled by a solar charger power bank connected to the DRV8825 and a capacitor for voltage smoothing.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications:

  • Robotics and automation systems
  • 3D printers
  • CNC machines
  • Camera sliders and gimbals
  • Precision positioning systems

Technical Specifications

Key Technical Details:

  • Motor Type Supported: Bipolar stepper motors
  • Operating Voltage: 8.2V to 45V
  • Maximum Current per Phase: 2.5A (with sufficient cooling)
  • Microstepping Modes: Full-step, 1/2, 1/4, 1/8, 1/16, 1/32
  • Logic Voltage: 3.3V or 5V
  • Over-Temperature Protection: Yes
  • Over-Current Protection: Yes
  • Adjustable Current Control: Yes (via potentiometer)
  • Step Frequency: Up to 250 kHz

Pin Configuration and Descriptions:

The DRV8825 module typically has 16 pins. Below is the pinout and description:

Pin Name Type Description
VMOT Power Input Motor power supply (8.2V to 45V). Connect a capacitor close to this pin.
GND Power Ground Ground connection for motor power supply.
VDD Power Input Logic power supply (3.3V or 5V).
GND Power Ground Ground connection for logic power supply.
STEP Input Step signal input. Each pulse moves the motor one step.
DIR Input Direction control input. High or low determines motor rotation direction.
ENABLE Input Enable/disable the driver. Low = enabled, High = disabled.
MS1, MS2, MS3 Input Microstepping mode selection pins.
RESET Input Resets the driver when pulled low.
SLEEP Input Puts the driver into low-power sleep mode when pulled low.
FAULT Output Indicates fault conditions (e.g., over-temperature, over-current).
A1, A2 Output Connect to one coil of the stepper motor.
B1, B2 Output Connect to the other coil of the stepper motor.

Microstepping Configuration:

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 High High 1/32 Step

Usage Instructions

How to Use the DRV8825 in a Circuit:

  1. Power Connections:

    • Connect VMOT to the motor power supply (8.2V to 45V) and GND to the power ground.
    • Add a capacitor (e.g., 100 µF) close to the VMOT and GND pins to reduce voltage spikes.
    • 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 A1, A2, B1, and B2. Ensure the correct pairing of motor wires.
  3. Control Signals:

    • Connect the STEP pin to a microcontroller or pulse generator to control the motor steps.
    • Use the DIR pin to set the motor's rotation direction.
    • Configure the microstepping mode using the MS1, MS2, and MS3 pins.
  4. Adjusting Current Limit:

    • Use the onboard potentiometer to set the current limit. This prevents overheating and protects the motor.
    • Measure the reference voltage (VREF) on the potentiometer and calculate the current limit using the formula:
      Current Limit = VREF × 2
      
  5. Enable/Disable and Sleep Mode:

    • Pull the ENABLE pin low to enable the driver or high to disable it.
    • Pull the SLEEP pin low to put the driver into low-power mode.

Example: Connecting DRV8825 to Arduino UNO

Below is an example of how to control a stepper motor using the DRV8825 and Arduino UNO:

Circuit Connections:

  • VMOT: Connect to a 12V power supply.
  • GND: Connect to the power supply ground and Arduino GND.
  • VDD: Connect to Arduino 5V.
  • STEP: Connect to Arduino pin 3.
  • DIR: Connect to Arduino pin 4.
  • MS1, MS2, MS3: Set to desired microstepping mode (e.g., all LOW for full step).
  • A1, A2, B1, B2: Connect to the stepper motor coils.

Arduino Code:

// Define pin connections
#define STEP_PIN 3  // Pin connected to STEP
#define DIR_PIN 4   // Pin connected to DIR

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
}

Important Considerations:

  • Always set the current limit before connecting the motor to avoid damage.
  • Use a heatsink or cooling fan if driving motors at high currents.
  • Ensure proper decoupling capacitors are used to prevent voltage spikes.

Troubleshooting and FAQs

Common Issues and Solutions:

  1. Motor Not Moving:

    • Check the power supply connections and ensure VMOT and VDD are properly powered.
    • Verify the STEP signal is being sent to the driver.
  2. Overheating:

    • Ensure the current limit is set correctly using the potentiometer.
    • Use a heatsink or cooling fan for high-current applications.
  3. Fault Pin Active:

    • Check for over-temperature or over-current conditions.
    • Reduce the motor current or improve cooling.
  4. Motor Vibrates but Does Not Rotate:

    • Verify the motor coil connections (A1, A2, B1, B2) are correct.
    • Check the microstepping configuration.

FAQs:

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

  • Q: What is the maximum step frequency?
    A: The DRV8825 supports step frequencies up to 250 kHz.

  • Q: How do I calculate the current limit?
    A: Measure the VREF voltage on the potentiometer and use the formula:
    Current Limit = VREF × 2.

  • Q: Can I use the DRV8825 with a 24V power supply?
    A: Yes, the DRV8825 supports motor power supplies from 8.2V to 45V.