

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.








| 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 |
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 |
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
}
Motor Does Not Spin:
Driver Overheats:
nFAULT Pin is Active (Low):
Motor Vibrates but Does Not Rotate:
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.