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

How to Use DRV8833 Motor Driver: Examples, Pinouts, and Specs

Image of DRV8833 Motor Driver
Cirkit Designer LogoDesign with DRV8833 Motor Driver in Cirkit Designer

Introduction

The DRV8833 is a dual H-bridge motor driver designed for controlling two DC motors or a single stepper motor. It operates within a voltage range of 2.7V to 10.8V, making it suitable for low-voltage motor control applications. The DRV8833 includes advanced features such as adjustable current limiting, thermal shutdown, and overcurrent protection, ensuring reliable operation and protection for both the driver and the connected motors.

Explore Projects Built with DRV8833 Motor Driver

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Battery-Powered Motor Control System with Phototransistor and Potentiometer
Image of MotorDriver with PhotoRes: A project utilizing DRV8833 Motor Driver in a practical application
This circuit controls a DC motor using an Adafruit DRV8833 motor driver, which is powered by a 12V battery. The motor speed is adjusted via a rotary potentiometer, and the circuit is activated by a toggle switch. A phototransistor is used to provide feedback or control signals to the motor driver.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino Nano Motor Controller with DRV8833 Driver
Image of 2相4線式モーター: A project utilizing DRV8833 Motor Driver in a practical application
This circuit is designed to control a 2-phase 4-wire motor using an Arduino Nano 3.0 and a DRV8833 motor driver. The Arduino Nano provides control signals to the DRV8833, which in turn drives the motor, allowing for precise motor control.
Cirkit Designer LogoOpen Project in Cirkit Designer
Battery-Powered Motor Control System with Adafruit DRV8833 and Toggle Switch
Image of MotorDriver1: A project utilizing DRV8833 Motor Driver in a practical application
This circuit controls a hobby gearmotor using an Adafruit DRV8833 motor driver, powered by a 12V battery. A toggle switch is used to control the power to the motor driver, which in turn drives the motor based on the switch's position.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32 C3 Controlled Robot with VL6180 Time of Flight Sensor
Image of SRD-1 Rover: A project utilizing DRV8833 Motor Driver in a practical application
This circuit is designed to control a pair of DC gearmotors using a DRV8833 motor driver, with an ESP32 C3 microcontroller as the control unit. The microcontroller also interfaces with an Adafruit VL6180 Time of Flight sensor for distance measurement. The embedded code on the ESP32 C3 facilitates basic motor control (forward and backward) and reads distance data from the sensor, which is likely used for obstacle detection or range finding in a robotic application.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with DRV8833 Motor Driver

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 MotorDriver with PhotoRes: A project utilizing DRV8833 Motor Driver in a practical application
Battery-Powered Motor Control System with Phototransistor and Potentiometer
This circuit controls a DC motor using an Adafruit DRV8833 motor driver, which is powered by a 12V battery. The motor speed is adjusted via a rotary potentiometer, and the circuit is activated by a toggle switch. A phototransistor is used to provide feedback or control signals to the motor driver.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of 2相4線式モーター: A project utilizing DRV8833 Motor Driver in a practical application
Arduino Nano Motor Controller with DRV8833 Driver
This circuit is designed to control a 2-phase 4-wire motor using an Arduino Nano 3.0 and a DRV8833 motor driver. The Arduino Nano provides control signals to the DRV8833, which in turn drives the motor, allowing for precise motor control.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of MotorDriver1: A project utilizing DRV8833 Motor Driver in a practical application
Battery-Powered Motor Control System with Adafruit DRV8833 and Toggle Switch
This circuit controls a hobby gearmotor using an Adafruit DRV8833 motor driver, powered by a 12V battery. A toggle switch is used to control the power to the motor driver, which in turn drives the motor based on the switch's position.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of SRD-1 Rover: A project utilizing DRV8833 Motor Driver in a practical application
ESP32 C3 Controlled Robot with VL6180 Time of Flight Sensor
This circuit is designed to control a pair of DC gearmotors using a DRV8833 motor driver, with an ESP32 C3 microcontroller as the control unit. The microcontroller also interfaces with an Adafruit VL6180 Time of Flight sensor for distance measurement. The embedded code on the ESP32 C3 facilitates basic motor control (forward and backward) and reads distance data from the sensor, which is likely used for obstacle detection or range finding in a robotic application.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications

  • Robotics: Driving wheels or actuators in small robots
  • Consumer electronics: Motorized mechanisms in toys or appliances
  • Industrial automation: Controlling stepper motors in precision systems
  • DIY projects: Motor control for hobbyist applications

Technical Specifications

Key Technical Details

Parameter Value
Motor Voltage Range 2.7V to 10.8V
Output Current (per H-bridge) 1.5A continuous, 2A peak
Logic Voltage Range 2.7V to 5.5V
PWM Frequency Up to 250 kHz
Protection Features Overcurrent, thermal shutdown, undervoltage lockout
Package Type HTSSOP-16 or WQFN-16

Pin Configuration and Descriptions

The DRV8833 comes in a 16-pin package. Below is the pinout and description:

Pin Number Pin Name Description
1 AIN1 Input control for H-bridge A (logic level)
2 AIN2 Input control for H-bridge A (logic level)
3 BIN1 Input control for H-bridge B (logic level)
4 BIN2 Input control for H-bridge B (logic level)
5 VCC Logic power supply (2.7V to 5.5V)
6 GND Ground connection
7 VM Motor power supply (2.7V to 10.8V)
8 OUT1A Output 1 for H-bridge A
9 OUT2A Output 2 for H-bridge A
10 OUT1B Output 1 for H-bridge B
11 OUT2B Output 2 for H-bridge B
12 nSLEEP Sleep mode control (active low)
13 nFAULT Fault indicator (active low)
14 DECAY Decay mode selection
15 NC No connection
16 NC No connection

Usage Instructions

How to Use the DRV8833 in a Circuit

  1. Power Supply: Connect the motor power supply (VM) to the VM pin (2.7V to 10.8V). Connect the logic power supply (VCC) to the VCC pin (2.7V to 5.5V). Ensure both power supplies share a common ground.
  2. Motor Connections: Connect the motor terminals to the output pins (OUT1A, OUT2A for motor A; OUT1B, OUT2B for motor B).
  3. Control Inputs: Use the AIN1, AIN2, BIN1, and BIN2 pins to control the direction and speed of the motors. These pins accept logic-level PWM signals.
  4. Sleep Mode: To enable the driver, ensure the nSLEEP pin is pulled high. Pulling it low will put the driver into low-power sleep mode.
  5. Fault Monitoring: Monitor the nFAULT pin for fault conditions. This pin is active low and will indicate issues such as overcurrent or thermal shutdown.

Important Considerations

  • Current Limiting: Ensure the motor current does not exceed the driver’s maximum continuous current rating (1.5A per H-bridge).
  • Thermal Management: Use proper heat dissipation techniques, such as a heatsink or PCB thermal vias, to prevent overheating.
  • Decoupling Capacitors: Place a decoupling capacitor (e.g., 0.1µF) close to the VM and VCC pins to reduce noise and improve stability.
  • PWM Frequency: Use a PWM frequency of up to 250 kHz for motor speed control.

Example: Controlling a DC Motor with Arduino UNO

Below is an example of how to control a single DC motor using the DRV8833 and an Arduino UNO:

// Define motor control pins
const int AIN1 = 9;  // Connect to DRV8833 AIN1 pin
const int AIN2 = 10; // Connect to DRV8833 AIN2 pin
const int nSLEEP = 8; // Connect to DRV8833 nSLEEP pin

void setup() {
  // Set motor control pins as outputs
  pinMode(AIN1, OUTPUT);
  pinMode(AIN2, OUTPUT);
  pinMode(nSLEEP, OUTPUT);

  // Enable the motor driver by pulling nSLEEP high
  digitalWrite(nSLEEP, HIGH);
}

void loop() {
  // Rotate motor forward
  digitalWrite(AIN1, HIGH);
  digitalWrite(AIN2, LOW);
  delay(2000); // Run motor for 2 seconds

  // Rotate motor backward
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, HIGH);
  delay(2000); // Run motor for 2 seconds

  // Stop the motor
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, LOW);
  delay(2000); // Wait for 2 seconds
}

Troubleshooting and FAQs

Common Issues and Solutions

  1. Motor Does Not Spin:

    • Ensure the nSLEEP pin is pulled high to enable the driver.
    • Verify that the motor power supply (VM) and logic power supply (VCC) are within the specified voltage ranges.
    • Check the control signals (AIN1, AIN2, BIN1, BIN2) for proper logic levels.
  2. Driver Overheats:

    • Ensure the motor current does not exceed the driver’s maximum continuous current rating.
    • Improve heat dissipation by adding a heatsink or increasing PCB copper area.
  3. nFAULT Pin is Active (Low):

    • Check for overcurrent or thermal shutdown conditions.
    • Verify that the motor is not stalled or drawing excessive current.
  4. Motor Vibrates but Does Not Rotate:

    • Ensure the control signals are configured correctly for the desired motor direction.
    • Verify that the motor connections (OUT1A, OUT2A, etc.) are secure.

FAQs

Q: Can the DRV8833 drive a stepper motor?
A: Yes, the DRV8833 can drive a single bipolar stepper motor by using both H-bridges. You will need to provide appropriate step and direction signals.

Q: What happens if the motor draws more than 1.5A?
A: The DRV8833 includes overcurrent protection and will shut down the output to prevent damage. Reduce the motor load or use a motor with lower current requirements.

Q: Can I use the DRV8833 with a 3.3V microcontroller?
A: Yes, the DRV8833 supports logic levels as low as 2.7V, making it compatible with 3.3V microcontrollers.