This compact expansion board plugs directly into the GPIO header on a Raspberry Pi B+, Pi A+, Pi 2, or Pi 3 and provides an easy and low-cost solution for driving a pair of small brushed DC motors. Its integrated DRV8835 dual motor driver allows it to operate from 1.5 V to 11 V, making it a great control option for low-voltage motors. The board can deliver a continuous 1.2 A (1.5 A peak) per motor, or a continuous 2.4 A (3 A peak) to a single motor when configured with both channels connected in parallel.
This motor driver kit and its corresponding Python library make it easy to control a pair of bidirectional, brushed DC motors with a Raspberry Pi Model B+, Model A+, or Pi 2 Model B or Pi 3 Model B. The expansion board features Texas Instruments’ DRV8835 dual H-bridge motor driver IC, which allows it to operate from 1.5 V to 11 V and makes it particularly well suited for driving small, low-voltage motors. The board can deliver a continuous 1.2 A per channel and tolerate peak currents up to 1.5 A per channel for a few seconds, and the channels can be optionally configured to run in parallel to deliver twice the current to a single motor. The board ships fully populated with its SMD components, including the DRV8835 driver and a FET for reverse battery protection; header pins for interfacing with a Raspberry Pi and terminal blocks for connecting motors and power are included but are not soldered in (see the Assembly with included hardware section below).
![]() |
Pololu DRV8835 dual motor driver board for Raspberry Pi, top view with dimensions. |
---|
![]() |
The board uses GPIO pins 5, 6, 12, and 13 to control the motor driver, making use of the Raspberry Pi’s hardware PWM outputs, although the pin mappings can be customized if the defaults are not convenient. Note that it is designed specifically for newer versions of the Raspberry Pi with 40-pin GPIO headers, including the Model B+, Model A+, Raspberry Pi 2 Model B and Raspberry Pi 3 Model B; it is not practical to use this expansion board with the original Raspberry Pi Model A or Model B due to differences in their pinout and form factor.
We also have a similar DRV8835 shield for Arduinos and Arduino-compatible boards and a smaller DRV8835 carrier for those using a different controller or with tighter space constraints. For a more powerful motor driver, consider the dual MC33926 motor driver for Raspberry Pi.
Although the DRV8835 itself works with a minimum motor supply voltage of 0 V, this board’s reverse-protection circuit limits the minimum to 1.5 V. If a lower motor supply voltage is required, please consider using our DRV8835 carrier with motor power supplied through the VMM pin.
![]() |
Pololu DRV8835 dual motor driver board for Raspberry Pi, top and bottom sides. |
---|
Features
Assembly with included hardware
Before the motor driver board can be plugged into your Raspberry Pi, female headers must be soldered into the appropriate holes. The kit ships with a 2×17-pin 0.1″ female header that should be mounted to the bottom of the board (the side with surface-mount components). Once the kit is assembled, it should be plugged into the leftmost position on the Raspberry Pi’s 40-pin GPIO header, leaving six pins exposed on the right, as shown in the picture below.
|
|
Three 2-pin, 5 mm terminal blocks are included for making easy motor and power connections to the board once they have been slid together and soldered to the six large through-holes. Alternatively, you can solder 0.1″ male header pins to the smaller through-holes above the terminal block holes, or you can just solder wires directly to the board.
Shorting blocks and 0.1″ male headers (not included) can be used to make some of the more advanced optional modifications to the board, such as remapping the control pins or paralleling the outputs.
A Raspberry Pi is not included.
![]() |
Driving motors with an assembled Pololu DRV8835 Dual Motor Driver Kit on a Raspberry Pi B+. A step-up/step-down regulator provides 5 V to the Raspberry Pi. |
---|
Using the motor driver
In the board’s default state, the motor driver and Raspberry Pi are powered separately, though they share a common ground and the DRV8835 receives its logic supply voltage (VCC) from one of the Raspberry Pi’s 3V3 power pins. When used this way, the Raspberry Pi must be powered via its USB Micro-B receptacle, and the motor driver board must be supplied with 1.5 V to 11 V through its large VIN and GND pads. However, the motor driver board provides a set of three through-holes where you can conveniently connect an appropriate voltage regulator, allowing the motor supply to also power the Raspberry Pi (see the Powering the Raspberry Pi from the motor driver boardsection below).
![]() |
By default, the driver is configured to operate in PHASE/ENABLE mode, in which a PWM signal applied to the ENABLE pin determines motor speed and the digital state of the PHASE pin determines direction of motor rotation. GPIO 12 and 5 are used to control the speed and direction, respectively, of motor 1, and GPIO 13 and 6 control the speed and direction of motor 2. The table below shows how the inputs affect the outputs in this mode:
Drive/brake operation in default PHASE/ENABLE mode | ||||
---|---|---|---|---|
xPHASE | xENABLE | MxA | MxB | operating mode |
1 | PWM | L | PWM | reverse/brake at speed PWM % |
0 | PWM | PWM | L | forward/brake at speed PWM % |
X | 0 | L | L | brake low (outputs shorted to ground) |
PHASE/ENABLE mode should be suitable for most applications.
Configuring the board for IN/IN mode
The operating mode of the driver is controlled by the MODE pin, which the board pulls high to VCC through a 20 kΩ resistor to select PHASE/ENABLE mode by default. The pin labeled “MODE” can be driven low (or connected directly to ground) to switch the control interface to IN/IN, which allows for slightly more advanced control options as described in the table below:
Drive/coast or drive/brake operation with MODE=0 (IN/IN) | ||||
---|---|---|---|---|
xIN1 | xIN2 | MxA | MxB | operating mode |
0 | 0 | OPEN | OPEN | coast (outputs off) |
0 | PWM | L | PWM | reverse/coast at speed PWM % |
PWM | 0 | PWM | L | forward/coast at speed PWM % |
PWM | 1 | L | PWM | reverse/brake at speed 100% − PWM % |
1 | PWM | PWM | L | forward/brake at speed 100% − PWM % |
1 | 1 | L | L | brake low (outputs shorted to ground) |
IN/IN mode is generally only useful if you only care about on/off control of the motors or if you can supply PWM signals to all four inputs. Since the Raspberry Pi Model B+ only has two hardware PWM outputs, additional work (such as setting up software PWM) is necessary to achieve speed control with IN/IN mode.
Configuring the board for single-channel mode (parallel outputs)
In order to use the two motor channels in parallel to control a single motor, it is important to ensure that both channels will always receive the same control signals, so the reconfiguration process begins with a modification to the control inputs. First, locate the 2×4 grouping of 0.1″ through-holes along the right side of the board. The traces on the underside of the PCB between each pair of holes effectively link the Raspberry Pi’s GPIO pins to the DRV8835 control pins. If you want to remap one of these control pins, you can cut the desired trace with a knife and then run a wire from the inner hole to a new GPIO pin. The remapping for single-channel mode requires you cut one PWM (12 or 13) and one DIR (5 or 6) trace. If you then solder a row of header pins along the interior row of holes, you can safely connect both PWM lines together and both DIR lines together using shorting blocks. In this configuration, the two uncut Raspberry Pi control lines determine the behavior of both motor channels.
The last step is to connect the output channels together. An easy way to do this is to solder wires to the two small holes labeled “M2A” and “M2B” above the motor outputs. You can then connect the M2A wire to the large M1A output pad and the M2B wire to the large M1B output pad, which in turn means you can get up to 3 A from the connection points for M2 (you can have your motor connected just to the M2A and M2B terminal blocks rather than trying to find a way to connect it to all four motor outputs).
Powering the Raspberry Pi from the motor driver board
On the left side of the expansion board is a set of three pins surrounded by a box and labeled “5V”, “GND”, and “VOUT”. The “5V” pin is connected to the Raspberry Pi’s 5V power rail, while the VOUT pin provides access to the driver board’s motor supply voltage after reverse-voltage protection. If a suitable voltage regulator is connected to these three pins, it can generate 5 V to power the Raspberry Pi from the board’s motor supply voltage. We suggest using our S7V7F5 switching step-up/step-down regulator, which has a 2.7 V to 11.8 V input voltage range (similar to that of the DRV8835) and can supply up to 1 A of current to the Raspberry Pi.
![]() |
S7V7F5 step-up/step-down regulator connected to an assembled Pololu DRV8835 Dual Motor Driver Kit for Raspberry Pi. |
---|
When adding a voltage regulator to the motor driver board, take care to orient it correctly: note that the motor driver board’s VOUT pin should connect to the regulator’sVIN pin, while the regulator’s VOUT pin should connect to the motor driver board’s 5V pin.
There are several considerations to keep in mind when powering the Raspberry Pi through a voltage regulator in this way:
Real-world power dissipation considerations
The DRV8835 datasheet recommends a maximum continuous current of 1.5 A per motor channel. However, the chip by itself will overheat at lower currents. For example, in our tests at room temperature with no forced air flow, the chip was able to deliver 1.5 A per channel for approximately 15 seconds before the chip’s thermal protection kicked in and disabled the motor outputs, while a continuous current of 1.2 A per channel was sustainable for many minutes without triggering a thermal shutdown. The actual current you can deliver will depend on how well you can keep the motor driver cool. Our tests were conducted at 100% duty cycle; PWMing the motor will introduce additional heating proportional to the frequency.
This product can get hot enough to burn you long before the chip overheats. Take care when handling this product and other components connected to it.
Schematic diagram
![]() |
Pololu DRV8835 Dual Motor Driver Kit for Raspberry Pi schematic diagram. |
---|
This schematic is also available as a downloadable pdf (215k pdf).
Pololu 2753 DRV8835 Dual Motor Driver Kit for Raspberry Pi
- Brand: Pololu
- Product Code:Pololu-Dual-Motor-Driver-Rpi-DRV8835
- Reward Points:8
- Availability:In Stock
- रo 786.00
-
रo 754.00
- Price in reward points:786
-
- 25 or more रo 751.00
- 38 or more रo 745.00
- 95 or more रo 711.00
Related Products
L298N Motor Driver Board
The L298N driver module, using ST' L298N chip, can directly drive two 3-30V DC motor, and provide a ..
रo 195.00
L298P 2A Motor Shield For Arduino
This DFRobot Arduino Compatible Motor Shield (2A) uses L298P chip which allow to drive two 7-12V DC..
रo 1,183.00 रo 1,364.00
L298N - Dual Full Bridge Driver
The L298N is a high voltage, high current, dual full bridge driver designed to accept standard TTL l..
रo 150.00
L298 Dual H-Bridge Motor Driver
Double H driver module uses ST L298N dual full-bridge driver, an integrated monolithic circuit in a ..
रo 2,121.00
Stepper Motor Driver A4988
A4988 is a complete microstepping motor driver with built-in translator for easy operation. This pro..
रo 140.00
1A Motor Shield for Arduino
1A Motor Shield for Arduino This Motor shield for Arduino uses L293 chip which allow to dri..
रo 1,423.00 रo 1,639.00
Stepper Motor Driver - Easy Driver A3967
Each Easy Driver can drive up to about 750mA per phase of a bi-polar stepper motor. It defaults to 8..
रo 210.00
Pololu 2134 / 2874 DRV8834 Low-Voltage Stepper Motor Driver Carrier
This is a breakout board for TI’s DRV8834 microstepping bipolar stepper motor driver. It has a pinou..
रo 602.00 रo 628.00
Pololu 2971 DRV8880 Stepper Motor Driver Carrier
This breakout board for TI’s DRV8880 microstepping bipolar stepper motor driver features adjustable ..
रo 917.00 रo 955.00
Pololu Dual 2755/2756 MC33926 Motor Driver for Raspberry Pi
This add-on board enables a Raspberry Pi B+, A+, Pi 2, or Pi 3 to drive a pair of bru..
रo 2,802.00 रo 2,919.00
Pololu 1213 Dual MC33926 Motor Driver Carrier
This dual brushed DC motor driver, based on Freescale’s MC33926 full H-bridge, has a wide operating ..
रo 2,802.00 रo 2,919.00
Pololu 1212 MC33926 Motor Driver Carrier
This breakout board for Freescale’s MC33926 full H-bridge has an operating range of 5 – 28 V and can..
रo 1,512.00 रo 1,575.00
Pololu 2130 DRV8833 Dual Motor Driver Carrier
This tiny breakout board for TI’s DRV8833 dual motor driver can deliver 1.2 A per channel continuous..
रo 754.00 रo 786.00
Pololu 2135 DRV8835 Dual Motor Driver Carrier
This tiny breakout board for TI’s DRV8835 dual motor driver can deliver 1.2 A per channel conti..
रo 376.00 रo 391.00
Pololu 2511 DRV8835 Dual Motor Driver Shield for Arduino
This small shield is an easy, economical way to control two small brushed DC motors with an Arduino ..
रo 679.00 रo 707.00
Pololu 2990 DRV8838 Single Brushed DC Motor Driver Carrier
This tiny breakout board for TI’s DRV8838 motor driver can deliver a continuous 1.7 A (1.8 A peak) t..
रo 340.00 रo 354.00
Pololu 2961 MAX14870 Single Brushed DC Motor Driver Carrier
This compact breakout board for Maxim’s MAX14870 motor driver offers a wide operating voltage range ..
रo 754.00 रo 786.00
Pololu 2960 BD65496MUV Single Brushed DC Motor Driver Carrier
This compact breakout board for ROHM’s BD65496MUV motor driver offers an operating voltage range of ..
रo 1,071.00 रo 1,275.00
Pololu 2136 DRV8801 Single Brushed DC Motor Driver Carrier
This tiny breakout board for TI’s DRV8801 provides a modern alternative to classic motor drivers suc..
रo 1,044.00 रo 1,087.00
Pololu 1112 Qik 2s12v10 Dual Serial Motor Controller
This powerful motor controller allows variable speed and direction control of two large, brushed DC ..
रo 14,110.00
Pololu 1110 Qik 2s9v1 Dual Serial Motor Controller
This small, inexpensive motor controller allows variable speed and direction control of two small, b..
रo 3,551.00
L298 Dual H-Bridge Motor Driver Module
New L298 Dual H-Bridge Motor Driver Features: Working mode: H bridge ..
रo 235.00
Pololu 3113 A-Star 32U4 Prime SV
The A-Star 32U4 Prime SV is a programmable board based on Atmel’s ATmega32U4 microcontroller and arr..
रo 2,271.00 रo 2,365.00
ULN2003 Stepper Motor Driver Board
ULN2003 Stepper Motor Driver Board A B C D four-phase LED indicates the status of the ..
रo 74.00
Pololu 707/708 VNH2SP30/VNH3SP30 Dual Motor Driver Carrier MD03A 708 707
The Pololu dual high-power motor drivers are compact carriers for the VNH3SP30 and VNH2SP30 motor dr..
रo 14,932.00 रo 17,634.00
Pololu 2133 / 2982 DRV8825 Stepper Motor Driver Carrier, High Current
This breakout board for TI’s DRV8825 microstepping bipolar stepper motor driver features adjustable ..
रo 1,286.00 रo 1,339.00
Waveshare 11820 RPi Motor Driver Board
The RPi Motor Driver Board gives your Pi the ability to drive two DC motors OR one stepper motor. It..
रo 2,195.00 रo 2,615.00
Tags: Pololu, DRV8835, Dual, Motor, Driver, Shield, Raspberry, Pi