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+. 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).
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 the Model B+ version of the Raspberry Pi; it is not practical to use this expansion board with a 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.