Dual MAX14870 Motor Driver for Raspberry Pi (Assembled)

SKU: PL-3759
Price
$28.72
GST included. Shipping calculated at checkout.

Got a Question?

Give us a call on 1300 240 817

Frequently Bought Together

We Accept

American Express
Apple Pay
Google Pay
Mastercard
PayPal
Shop Pay
Union Pay
Visa
Overview

Dual MAX14870 Motor Driver for Raspberry Pi, top view with dimensions.

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 3 Model B+ and Model A+. 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. 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 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.

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; 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.

For controlling higher-power motors with a Raspberry Pi, consider our dual MC33926 motor driver add-on, and for lower-voltage motors, consider our DRV8835 dual motor driver kit. We also have a similar dual MAX14870 shield for Arduinos and Arduino-compatible boards and a single MAX14870 carrier for those with tighter space constraints or who only want to control one motor.

Dual MAX14870 Motor Driver for Raspberry Pi, top and bottom sides.

Features
  • Two single-channel H-bridge motor drivers with shoot-through protection and internal free-wheeling diodes (can each drive one DC motor)
  • Motor supply voltage: 4.5 V to 36 V
  • Output current: 1.7 A continuous (2.5 A peak) per motor
  • Board can optionally power the Raspberry Pi base directly through add-on 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
  • Reverse-voltage protection on motor power supply
  • Under-voltage lockout and protection against over-current and over-temperature
  • Surface-mount resistor can optionally be added to enable automatic current limiting
Details for item #3759

This version of the motor driver is fully assembled, with a 2×17-pin 0.1″ female header (for connecting to the Raspberry Pi’s 40-pin GPIO header) and a six-pin strip of 5 mm terminal blocks (for motor and power connections) soldered in. (See item #3758 for a kit version with connectors included but not soldered in.)

Dual MAX14870 Motor Driver for Raspberry Pi (assembled), bottom view.

A Raspberry Pi is not included.

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).

Default pin mappings

This table shows how the Raspberry Pi’s GPIO pins are used to interface with the motor drivers:

RPi
GPIO pin
Motor driver pin Description
5 EN Inverted enable input: The Raspberry Pi pulls this pin high by default, putting the motor driver IC into a low-current sleep mode and disabling the motor outputs (setting them to high impedance). EN must be driven low to enable the motor driver.
6 FAULT Fault output: When the drivers are functioning normally, this pin should be pulled high by the Raspberry Pi. In the event of an over-current or over-temperature condition, the driver IC experiencing the fault drives FAULT low.
12 Motor 1 PWM Motor speed input: A PWM (pulse-width modulation) signal on this pin corresponds to a PWM output on the corresponding driver’s motor outputs. When this pin is low, the motor brakes low. When it is high, the motor is on. The maximum allowed PWM frequency is 50 kHz.
13 Motor 2 PWM
24 Motor 1 DIR Motor direction input: When DIR is low, motor current flows from output A to output B; when DIR is high, current flows from B to A.
25 Motor 2 DIR

Simplified motor control truth table

This table shows how the drivers’ control inputs affect the motor outputs:

Inputs Outputs
EN DIR PWM MxA MxB operating mode
0 0 PWM PWM (H/L) L forward/brake at speed PWM %
0 1 PWM L PWM (H/L) reverse/brake at speed PWM %
0 X 0 L L brake low (outputs shorted to ground)
1 X X Z Z coast (outputs off)

Remapping pins

Each GPIO pin used by the board is connected to the corresponding motor driver pin by a trace on the top side of the board spanning a pair of holes. If you want to remap one of these motor driver pins, you can cut its trace with a knife and then run a wire from the lower hole to a new GPIO pin.

In addition, the EN and FAULT pins are connected between the two driver ICs by default. If you need to access each driver’s pins separately, you can cut the traces between the surface-mount jumpers labeled “EN” and “FAULT” next to the Pololu logo on the board. This leaves the right side of the jumpers and the original access points on the board connected to the EN and FAULT pins for motor 2, while the left side of the jumpers will provide access to those pins for motor 1.

Note that the default pin mappings were chosen so that the Raspberry Pi’s default GPIO pull-ups and pull-downs match the direction the motor driver pins are or should be pulled (up for EN and FAULT, down for others); if you remap the motor driver pins without paying attention to this, you might encounter issues with pins being pulled the wrong way. See the Raspberry Pi documentation for more about the default GPIO states.

Optional current limiting

The MAX14870 IC features a SNS input that can be used for optional automatic current limiting. By default, this input is connected to ground for both drivers on this board, which bypasses the current regulation feature. To enable current limiting, you must first cut the traces between each pair of unpopulated 1206 resistor pads on the bottom side of the board.

Then, you will need to add your own appropriate surface-mount 1206 resistor to these pads.

Each driver tries to keep the voltage on the SNS pin from exceeding 100 mV, so for example, a 100 mΩ resistor limits the current to 1 A and a 200 mΩ resistor limits it to 0.5 A. For more information on current limiting, see the MAX14870 datasheet (492k pdf).

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 “VM”. The 5V pin is connected to the Raspberry Pi’s 5V power rail, while the VM 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 D24V10F5 or D24V22F5 switching step-down regulators, which have the same 36 V maximum input voltage as the MAX14870 (see below for details on which to choose).

When adding a voltage regulator to the motor driver board, take care to orient it correctly: note that the motor driver board’s VM pin should connect to the regulator’s VIN 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:

  • You must never connect a different power supply to the Raspberry Pi (including through its USB Micro-B receptacle) while the regulator is connected, as doing so will create a short between the voltage regulator’s output and the external power supply that could permanently damage the Raspberry Pi, the regulator, and/or the power supply.
  • Your motor power supply must be an acceptable voltage for both your regulator and the MAX14870.
  • The regulator should be able to handle the power requirements of the Raspberry Pi. The Raspberry Pi typically uses a few hundred milliamps at 5 V (depending on the specific model), although its current draw can exceed 1 A if it is also supplying power to USB devices and other peripherals. While linear regulators like a 7805 might fit in the regulator mounting location, they could generate excessive heat or shut down at higher input voltages and output currents, so we recommend using a switching regulator. We suggest using one of the following regulators.

The D24V10F5 can supply up to 1 A of current to the Raspberry Pi and should work for lower-power models (like the A+) with lighter loads. It can be soldered directly to the motor driver board with a male header to make a compact, permanent connection:

or plugged into a 3-pin female header soldered to the board for a more modular setup:

The D24V22F5 can supply up to 2.5 A and is more suitable for higher-performance Raspberry Pi models (like the Pi 3 B+), especially with demanding workloads or when powering many peripherals. Because of its larger size, it must be connected through longer headers or wires to avoid interference with the terminal blocks.

The FAQs page on the Raspberry Pi website has more information on Raspberry Pi power requirements.

Real-world power dissipation considerations

The MAX14870 datasheet recommends a maximum continuous current of 2.5 A. However, the chip by itself will typically overheat at lower currents. In our tests, a continuous current of 1.7 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. The driver’s printed circuit board is designed to help with this by drawing heat out of the motor driver chip. 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

Schematic diagram for the Dual MAX14870 Motor Driver for Raspberry Pi.

This schematic is also available as a downloadable pdf (134k pdf).

Pi Australia is operated by Little Bird, and we go to great lengths to ship your orders, often within minutes.

You can view shipping options and pricing at checkout without logging in.

For orders over 500g (such as bulky items), shipping may cost more than the initial estimate.

We deliver across Australia, and here are the options (based on your location; view them on the cart page):

  • Standard Post: Starting at $7 (6+ business days, with tracking)
  • Express Post: Starting at $11 (2+ business days, with tracking)
  • Same Day Delivery: Available for Sydney orders.
  • Non-metro WA, NT, SA, and TAS: May take an additional 2+ days.

Note: Some items, such as LiPo batteries, cannot be shipped by air. Express Post and international shipping won’t be available if these are included in your cart.

For international orders, here are rates for shipping to New Zealand (rates differ for other countries):

  • Pack and Track: Starting at $12 (3+ days, with tracking)
  • Express International: Starting at $16 (2-5 days, with tracking)

Shipping for heavier orders will depend on their weight.

Our address:
Little Bird
Unit 13,
8-12 Leighton Place
Hornsby, NSW 2077,
Australia
1300 240 817

For queries like whether we accept purchase orders (yes we sure do!) or if our prices include GST (they all do!), please hit us up via phone on 1300 240 817 or email us team@littlebird.com.au . We’re happy to assist with any product questions!

Sherpa Delivery Estimates

Location Estimated Delivery Time
Sydney Metro Same Day

Auspost Express Post Delivery Estimates

Location Estimated Delivery Time
Canberra 1 Day
Sydney Metro 1 Day
NSW Outer Metro 1 Day
NSW VIC Border 2 Days
NSW Rural 2-3 Days
Melbourne Metro 1 Day
VIC Other 2-3 Days
VIC Rural 2-3 Days
Brisbane Metro 1 Day
QLD Gold Coast 1 Day
QLD Outer Metro 1-2 Days
QLD Other 2-3 Days
QLD Rural 3-4 Days
Adelaide Metro 1 Day
SA Other 2-3 Days
SA Rural 3-4 Days
Perth CBD 1 Day
Perth Metro 2 Days
WA Other 3-4 Days
WA Rural 4-6 Days
Tas Metro 1 Day
Tas Devonport 1-2 Days
Tas Country 2-3 Days
Tas Remote 4 Days
Darwin & Katherine 3-4 Days
Alice Springs 4 Days
NT Rural 4-5 Days

Auspost Parcel Post Delivery Estimates

Location Estimated Delivery Time
Sydney Metro 2 Days
NSW Country 3-4 Days
Canberra 2 Days
Melbourne Metro 2-3 Days
VIC Country 3-5 Days
Brisbane Metro 2-3 Days
QLD Near Country 2-4 Days
QLD Far Country 3-5 Days
Far North QLD 5-7 Days
Far North QLD Remote 7-12 Days
Adelaide Metro 2-4 Days
SA Country 2-5 Days
Perth Metro 4-5 Days
WA Country 5-8 Days
WA Country Far 7-10 Days
Tasmania 3-5 Days
Tasmania Remote 4-8 Days
Darwin 4-7 Days
Alice Springs 6-9 Days
NT Other 12-13 Days

    Recommended for You

    Buy with Confidence

    We're Australia's only Raspberry Pi approved reseller in Sydney, Australia.

    Meet the Pi Powered Robot that ships other Pis

    This is our secret to shipping the Dual MAX14870 Motor Driver for Raspberry Pi (Assembled) out so fast to you!

    FAQ

    How do you Ship your Raspberry Pis?

    We ship via Australia Post eParcel from our Sydney warehouse.

    Australia Post picks up from us daily.

    All shipping methods we use have tracking.

    Do you ship from Sydney, Australia?

    All our products ship from our warehouse in Sydney, Australia.

    What payment methods do you accept?

    We accept all major credit cards, Apple Pay, Google Pay and PayPal.

    We also accept purchase orders from educational and government institutions on 30-day terms.

    You're automatically approved if you're a school, university, or state or federal government department or agency.

    What is your return, exchange and warranty policy?

    Returns

    We accept returns for faulty products, but will first work with you to help get your Raspberry Pi working again.

    99% of the time there it is not the Raspberry Pi that is faulty.

    If you need help, reach out to us on help@littlebird.com.au.

    Change of Mind

    We are happy to accept a return for a "change of mind", however, you will need to cover the cost of any merchant fees associated with the return. Goods need to be in an "as new" state.

    What's the warranty on your Raspberry Pis?

    You can have peace of mind knowing that Raspberry Pi is backed by a 1-year warranty, and thanks to rigorous quality assurance testing in the UK factory, you can be sure that your Raspberry Pi will stay in good working condition.

    How long does shipping and delivery take?

    At our Sydney, Australia warehouse, we provide fast and reliable shipping. To go even further, we have created our own Raspberry Pi powered Robot called Bishop.

    How long does delivery take?

    Australia Post picks up from us daily. If you're within the Australia Post next day network you can usually expect your order to arrive the next day if ordered with Express Post before 2pm.

    80% of Australian addresses covered and you probably already know if you're in the network.

    How can I track my order?

    When we ship your order (which we do daily), we send you a tracking link.

    If you haven't received a tracking link, please email us on help@littlebird.com.au .

    How do I contact customer service?

    You can call us on 1300 240 817 or email help@littlebird.com.au .

    Do you have a secure website?

    Yes, our website is secure and we use the latest security features to ensure your data is always kept safe.

    Can I get my order shipped to a PO Box or Parcel Locker?

    If you want to ship to a PO Box, Parcel Locker or another otherwise anonymising delivery address, we need you to use Paypal at checkout.