

The DRV8833 is a dual H-bridge motor driver designed to control the direction and speed of DC motors and stepper motors. It operates with a supply voltage range of 2.7V to 10.8V and can deliver up to 1.5A of continuous current per channel. This makes it an ideal choice for robotics, automation, and other motor control applications. Its compact design and versatile functionality allow it to be used in battery-powered devices, small robots, and other embedded systems.








| Parameter | Value |
|---|---|
| Supply Voltage Range | 2.7V to 10.8V |
| Continuous Current (per channel) | 1.5A |
| Peak Current (per channel) | 2A |
| Logic Input Voltage Range | 0V to 5.5V |
| PWM Frequency | Up to 250 kHz |
| Operating Temperature | -40°C to 85°C |
| 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 1 for H-Bridge A |
| 2 | AIN2 | Input 2 for H-Bridge A |
| 3 | BIN1 | Input 1 for H-Bridge B |
| 4 | BIN2 | Input 2 for H-Bridge B |
| 5 | VCC | Motor power supply (2.7V to 10.8V) |
| 6 | GND | Ground |
| 7 | OUT1A | Output 1 of H-Bridge A |
| 8 | OUT2A | Output 2 of H-Bridge A |
| 9 | OUT1B | Output 1 of H-Bridge B |
| 10 | OUT2B | Output 2 of H-Bridge B |
| 11 | nSLEEP | Sleep mode control (active low) |
| 12 | nFAULT | Fault indicator (active low) |
| 13 | VCC | Motor power supply (duplicate pin) |
| 14 | GND | Ground (duplicate pin) |
| 15 | DECAY | Decay mode selection |
| 16 | VREF | Reference voltage for current regulation |
VCC pin and ground to the GND pin. Ensure the power supply can handle the current requirements of your motors.OUT1A, OUT2A for Motor A and OUT1B, OUT2B for Motor B).AIN1, AIN2, BIN1, and BIN2 pins to control the direction and speed of the motors. These pins accept logic-level signals (0V to 5.5V).nSLEEP pin is pulled high. Pulling it low will put the driver into low-power sleep mode.Below is an example of how to control a DC motor using the DRV8833 and an Arduino UNO:
AIN1 and AIN2 to Arduino digital pins (e.g., D9 and D10).OUT1A and OUT2A.VCC to a 5V or 9V power supply and GND to ground.nSLEEP high by connecting it to 5V.// Define motor control pins
const int AIN1 = 9; // Connect to DRV8833 AIN1
const int AIN2 = 10; // Connect to DRV8833 AIN2
void setup() {
// Set motor control pins as outputs
pinMode(AIN1, OUTPUT);
pinMode(AIN2, OUTPUT);
}
void loop() {
// Rotate motor forward
digitalWrite(AIN1, HIGH); // Set AIN1 high
digitalWrite(AIN2, LOW); // Set AIN2 low
delay(2000); // Run motor for 2 seconds
// Rotate motor backward
digitalWrite(AIN1, LOW); // Set AIN1 low
digitalWrite(AIN2, HIGH); // Set AIN2 high
delay(2000); // Run motor for 2 seconds
// Stop motor
digitalWrite(AIN1, LOW); // Set AIN1 low
digitalWrite(AIN2, LOW); // Set AIN2 low
delay(2000); // Stop motor for 2 seconds
}
VCC pin to reduce noise and stabilize the power supply.Motor Not Spinning
Cause: nSLEEP pin is low.
Solution: Pull the nSLEEP pin high to enable the driver.
Cause: Incorrect wiring of motor terminals.
Solution: Verify motor connections to the output pins.
Overheating
Fault Indicator Active (nFAULT Pin Low)
PWM Signal Not Controlling Speed
Can the DRV8833 drive two stepper motors?
What happens if the supply voltage exceeds 10.8V?
Can I use the DRV8833 with a 3.3V microcontroller?
Is it necessary to use the DECAY pin?
By following this documentation, you can effectively use the DRV8833 in your motor control projects.