Pololu 3758 Dual MAX14870 Motor Driver for Raspberry Pi
This motor driver expansion board and its corresponding Python library make it easy to control a pair of bidirectional, brushed DC motors with a compatible Raspberry Pi (Model B+ or newer), including the Pi 4. The expansion board features two MAX14870 H-bridge motor driver ICs from Maxim, which allow it to operate from 4.5 V to 36 V and make it well suited for driving small motors across a wide range of voltages. The board can deliver a continuous 1.7 A per channel and tolerate peak currents up to 2.5 A per channel for a few seconds.
The board’s default configuration uses five GPIO pins to control the motor drivers, making use of the Raspberry Pi’s hardware PWM outputs, and it uses one additional pin to read a fault output from the drivers. However, the pin mappings can be customized if the defaults are not convenient.
The 2×17-pin 0.1″ female header should be mounted to the bottom of the board (the side with surface-mount components). Once soldered, this header is used to connect the board to the Raspberry Pi’s 40-pin GPIO header. Alternatively, if you want to continue to have access to the Raspberry Pi’s 40 GPIO pins while the motor driver board is plugged in, you can install a stackable 2×20-pin female header (not included) instead.
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 below the terminal block holes, or you can just solder wires directly to the board.
Using the motor driver
This section explains how to use the dual MAX14870 motor driver add-on board and provides some basic information about the motor driver pins to help get you started. However, we strongly encourage you to consult the MAX14870 datasheet (492k pdf) for detailed pin descriptions, truth tables, and electrical characteristics. This expansion board is essentially a breakout board for two MAX14870 motor driver ICs, so the datasheet is your best resource for answering questions not covered here.
The board 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.
In the board’s default state, the motor driver and Raspberry Pi are powered separately, though they share a common ground. 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 4.5 V to 36 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 board section below).