

The Pololu DRV8874 (Manufacturer Part ID: 4035) is a compact and versatile motor driver designed to control both DC motors and stepper motors. It features a high-efficiency H-bridge design, allowing it to handle up to 3A of continuous current per channel. This driver is equipped with adjustable current limiting, making it suitable for a wide range of motor control applications. Its robust design and built-in protection features make it ideal for hobbyists, engineers, and professionals working on robotics, automation, and other motor-driven projects.








The following table outlines the key technical details of the Pololu DRV8874 motor driver:
| Parameter | Value |
|---|---|
| Operating Voltage Range | 4.5V to 37V |
| Continuous Current per Channel | 3A |
| Peak Current per Channel | 6A (for short durations) |
| Control Interface | PWM, DIR (direction control) |
| Current Limiting Range | Adjustable via potentiometer |
| Logic Voltage Range | 1.8V to 5.5V |
| Built-in Protections | Overcurrent, overtemperature, undervoltage lockout |
| Dimensions | 1.0" × 0.8" × 0.2" (25mm × 20mm × 5mm) |
| Weight | 1.5g |
The Pololu DRV8874 features a 12-pin interface. The table below describes each pin:
| Pin Name | Type | Description |
|---|---|---|
| VIN | Power Input | Motor power supply input (4.5V to 37V). |
| GND | Power Ground | Ground connection for the motor power supply. |
| OUT1 | Output | Motor output 1. Connect to one terminal of the motor. |
| OUT2 | Output | Motor output 2. Connect to the other terminal of the motor. |
| VCC | Power Input | Logic power supply input (1.8V to 5.5V). |
| GND | Power Ground | Ground connection for the logic power supply. |
| PWM | Input | PWM signal input for speed control. |
| DIR | Input | Direction control input. |
| nFAULT | Output | Fault indicator (active low). |
| nSLEEP | Input | Sleep mode control (active low). |
| VREF | Input | Reference voltage for current limiting. |
| MODE | Input | Mode selection for controlling DC or stepper motors. |
Power Connections:
VIN pin and ground to the GND pin.VCC pin and its ground to the GND pin.Motor Connections:
OUT1 and OUT2 pins.Control Signals:
PWM pin to control the motor speed by providing a PWM signal.DIR pin to set the motor's direction (HIGH for one direction, LOW for the other).Current Limiting:
VREF voltage. Refer to the datasheet for the formula to calculate the current limit.Sleep Mode:
nSLEEP pin LOW to put the driver into sleep mode.Fault Monitoring:
nFAULT pin to detect issues such as overcurrent or overtemperature conditions.Below is an example of how to control a DC motor using the Pololu DRV8874 and an Arduino UNO:
// Define pin connections
const int pwmPin = 9; // PWM pin connected to DRV8874 PWM
const int dirPin = 8; // Direction pin connected to DRV8874 DIR
const int sleepPin = 7; // Sleep pin connected to DRV8874 nSLEEP
void setup() {
// Set pin modes
pinMode(pwmPin, OUTPUT);
pinMode(dirPin, OUTPUT);
pinMode(sleepPin, OUTPUT);
// Wake up the motor driver
digitalWrite(sleepPin, HIGH); // Set nSLEEP HIGH to enable the driver
}
void loop() {
// Set motor direction
digitalWrite(dirPin, HIGH); // HIGH for forward, LOW for reverse
// Set motor speed
analogWrite(pwmPin, 128); // 50% duty cycle (range: 0-255)
delay(2000); // Run motor for 2 seconds
// Stop the motor
analogWrite(pwmPin, 0); // Set PWM to 0 to stop the motor
delay(2000); // Wait for 2 seconds
}
Motor Not Spinning:
nSLEEP pin is set HIGH to enable the driver.PWM signal and ensure it is not set to 0.Driver Overheating:
VREF pin.nFAULT Pin is LOW:
Motor Spins in the Wrong Direction:
DIR pin or swap the motor connections on OUT1 and OUT2.Q: Can the DRV8874 drive stepper motors?
A: Yes, the DRV8874 can drive stepper motors in full-step or microstepping modes. Use the MODE pin to configure the driver for stepper motor control.
Q: What happens if the current exceeds the limit?
A: The driver will enter current limiting mode to protect itself and the motor. Prolonged overcurrent conditions may trigger a fault.
Q: Is the DRV8874 compatible with 3.3V logic?
A: Yes, the driver supports logic levels from 1.8V to 5.5V, making it compatible with 3.3V and 5V systems.
Q: Can I use the DRV8874 with a battery-powered system?
A: Yes, as long as the battery voltage is within the operating range (4.5V to 37V).