

The DRV8835 Shield Carrier, manufactured by Pololu (Part ID: DRV8835), is a compact and efficient motor driver shield designed for controlling DC motors and stepper motors. It features dual H-bridge outputs, enabling bidirectional control and speed regulation. This shield is ideal for low-voltage motor control applications and is compatible with microcontroller platforms like Arduino.








The DRV8835 Shield Carrier is designed to provide reliable motor control with the following specifications:
| Parameter | Value |
|---|---|
| Operating Voltage Range | 2 V to 11 V |
| Continuous Output Current | 1.2 A per channel (2.4 A total) |
| Peak Output Current | 1.5 A per channel (short duration) |
| Control Interface | PWM and direction pins |
| Logic Voltage Range | 1.8 V to 7 V |
| Motor Channels | 2 (independent or combined for stepper) |
| Dimensions | 1.9" × 0.9" × 0.1" (without headers) |
| Weight | 1.2 g (without headers) |
The DRV8835 Shield Carrier has the following pin layout:
| Pin Name | Description |
|---|---|
| M1A | Motor 1 output A |
| M1B | Motor 1 output B |
| M2A | Motor 2 output A |
| M2B | Motor 2 output B |
| Pin Name | Description |
|---|---|
| VIN | Motor power supply (2 V to 11 V) |
| GND | Ground |
| VCC | Logic voltage supply (1.8 V to 7 V) |
| DIR1 | Direction control for Motor 1 |
| PWM1 | Speed control (PWM) for Motor 1 |
| DIR2 | Direction control for Motor 2 |
| PWM2 | Speed control (PWM) for Motor 2 |
VIN pin (2 V to 11 V) and ground to the GND pin. Ensure the supply voltage matches the motor's requirements.VCC pin. This is typically supplied by the microcontroller.M1A, M1B, M2A, and M2B pins. For a single stepper motor, use both channels.DIR1, PWM1, DIR2, and PWM2 pins to control motor direction and speed. These pins can be connected to a microcontroller's GPIO or PWM outputs.The following example demonstrates how to control two DC motors using the DRV8835 Shield Carrier with an Arduino UNO.
// DRV8835 Motor Driver Example Code for Arduino UNO
// This code controls two DC motors using PWM and direction pins.
#define DIR1 7 // Direction pin for Motor 1
#define PWM1 6 // PWM pin for Motor 1
#define DIR2 4 // Direction pin for Motor 2
#define PWM2 5 // PWM pin for Motor 2
void setup() {
// Set motor control pins as outputs
pinMode(DIR1, OUTPUT);
pinMode(PWM1, OUTPUT);
pinMode(DIR2, OUTPUT);
pinMode(PWM2, OUTPUT);
}
void loop() {
// Motor 1: Forward at 50% speed
digitalWrite(DIR1, HIGH); // Set direction forward
analogWrite(PWM1, 128); // Set speed (0-255, 128 = 50%)
// Motor 2: Reverse at 75% speed
digitalWrite(DIR2, LOW); // Set direction reverse
analogWrite(PWM2, 192); // Set speed (0-255, 192 = 75%)
delay(2000); // Run motors for 2 seconds
// Stop both motors
analogWrite(PWM1, 0);
analogWrite(PWM2, 0);
delay(1000); // Wait for 1 second before repeating
}
Motors Not Running:
M1A, M1B, M2A, and M2B pins.DIR and PWM) are correctly configured in the code.Overheating:
Erratic Motor Behavior:
No Response from Shield:
VCC) is supplied and matches the microcontroller's logic level.Q: Can the DRV8835 Shield Carrier drive stepper motors?
A: Yes, the DRV8835 can drive a single bipolar stepper motor by using both motor channels. Ensure proper wiring and control sequencing.
Q: What is the maximum current the DRV8835 can handle?
A: The DRV8835 can handle up to 1.2 A continuously per channel and 1.5 A peak for short durations.
Q: Is the shield compatible with 3.3 V logic microcontrollers?
A: Yes, the DRV8835 supports logic voltages as low as 1.8 V, making it compatible with 3.3 V and 5 V systems.
Q: Can I use the shield with a Raspberry Pi?
A: Yes, the DRV8835 can be controlled by a Raspberry Pi, but additional software libraries may be required for PWM control.