

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 is equipped with advanced features such as adjustable current limiting, thermal shutdown, and overcurrent protection, ensuring reliable and efficient operation.








| 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 Number | Pin Name | Description |
|---|---|---|
| 1 | AIN1 | Input control for H-bridge A (logic high/low for motor direction or PWM) |
| 2 | AIN2 | Input control for H-bridge A (logic high/low for motor direction or PWM) |
| 3 | BIN1 | Input control for H-bridge B (logic high/low for motor direction or PWM) |
| 4 | BIN2 | Input control for H-bridge B (logic high/low for motor direction or PWM) |
| 5 | VCC | Logic voltage 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, pull high to enable the driver) |
| 13 | nFAULT | Fault indicator (active low, open-drain output) |
| 14 | DECAY | Decay mode selection (fast or slow decay) |
| 15 | NC | No connection |
| 16 | NC | No connection |
Power Connections:
Motor Connections:
Control Signals:
Optional Features:
Below is an example code to control two DC motors using the DRV8833 and an Arduino UNO:
// Define motor control pins
#define AIN1 9 // Connect to DRV8833 AIN1 pin
#define AIN2 10 // Connect to DRV8833 AIN2 pin
#define BIN1 5 // Connect to DRV8833 BIN1 pin
#define BIN2 6 // Connect to DRV8833 BIN2 pin
void setup() {
// Set motor control pins as outputs
pinMode(AIN1, OUTPUT);
pinMode(AIN2, OUTPUT);
pinMode(BIN1, OUTPUT);
pinMode(BIN2, OUTPUT);
}
void loop() {
// Motor A: Forward
digitalWrite(AIN1, HIGH);
digitalWrite(AIN2, LOW);
// Motor B: Reverse
digitalWrite(BIN1, LOW);
digitalWrite(BIN2, HIGH);
delay(2000); // Run motors for 2 seconds
// Stop both motors
digitalWrite(AIN1, LOW);
digitalWrite(AIN2, LOW);
digitalWrite(BIN1, LOW);
digitalWrite(BIN2, LOW);
delay(2000); // Wait for 2 seconds
}
Motors Not Spinning:
Overheating:
Fault Indicator (nFAULT Pin) is Active:
Motor Vibrates but Does Not Rotate:
Q: Can I use the DRV8833 to control a stepper motor?
A: Yes, the DRV8833 can control a single bipolar stepper motor by connecting the two coils to the H-bridge outputs and using appropriate stepper motor control logic.
Q: What happens if the motor current exceeds the maximum rating?
A: The DRV8833 includes overcurrent protection, which will disable the outputs temporarily to protect the driver. Reduce the motor load to prevent this condition.
Q: Can I use the DRV8833 with a 3.3V microcontroller?
A: Yes, the DRV8833 supports logic voltages as low as 2.7V, making it compatible with 3.3V microcontrollers.