This motor driver board is an add-on for the Raspberry Pi Model B+, Model A+, Pi 2 Model B, or Pi 3 Model B that lets it easily control a pair of bidirectional, brushed DC motors. The expansion board uses a pair of Freescale MC33926 motor drivers, which operate from 5 to 28 V and can deliver a continuous 3 A per channel (up to 5 A per channel for a few seconds). Other features include a reverse battery protection circuit and logic gates that reduce the number of I/O pins required to control the driver ICs effectively. The board ships fully populated with its SMD components; it is available either as a partial kit, with a female header and terminal blocks included but not soldered in, or fully assembled with these connectors soldered to the PCB.
The board’s default configuration uses six GPIO pins to control the motor drivers, making use of the Raspberry Pi’s hardware PWM outputs, and it uses two additional pins to read status outputs from the drivers. However, the pin mappings can be customized if the defaults are not convenient, and other control inputs and outputs of the MC33926 ICs are accessible on the board for more advanced applications.
Note that this motor driver add-on 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. The board matches the Raspberry Pi HAT (Hardware Attached on Top) mechanical specification, although it does not conform to the full HAT specifications due to the lack of an ID EEPROM. (A footprint for adding your own EEPROM is available for applications where one would be useful; pull-ups on SDA, SCL, and WP are provided.) 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 dual MC33926 shield for Arduinos and Arduino-compatible boards and basic single and dual MC33926 carriers for those using a different controller or with tighter space constraints. For a smaller, lower power, and lower cost alternative, consider the DRV8835 Dual Motor Driver for Raspberry Pi.
- Wide operating voltage range: 5 V to 28 V
- Output current: 3 A continuous (5 A peak) per motor
- PWM operation up to 20 kHz, which is ultrasonic and allows for quieter motor operation
- Motor indicator LEDs show what the outputs are doing even when no motor is connected
- Board can optionally power the Raspberry Pi base directly through added regulator (not included)
- Python library makes it easy to get started using this board as a motor driver expansion board
- GPIO pin mappings can be customized if the default mappings are not convenient
- Remaining motor driver pins are exposed for advanced use
- Reverse-voltage protection on motor supply
- Robust drivers:
- Transient operation (< 500 ms) up to 40 V
- Internal peak-current limiting gracefully reduces the output power if the current or temperature get too high
- Under-voltage shutdown
- Output short-to-ground and short-to-Vcc protection
- Prototyping space for easier/cleaner construction of custom circuits