This add-on board enables a Raspberry Pi B+, A+, Pi 2, or Pi 3 to drive a pair of brushed DC motors. Its dual MC33926 motor drivers operate from 5 V to 28 V and can deliver a continuous 3 A (5 A peak) per motor. The default pin mappings make it easy to get started using our provided software, but the board also exposes most of the driver chips’ I/O pins for more specialized applications.

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.

Features

  • 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

Details for item #2756

This version of the motor driver is fully assembled, with a 2×20-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. (Seeitem #2755 for a kit version with connectors included but not soldered in.)

 

Pololu Dual MC33926 Motor Driver for Raspberry Pi (assembled version) with included hardware.

 

The motor driver ships with a set of four M2.5 standoffs (11 mm length), screws, and nuts that can be used to secure the board to the Raspberry Pi at the proper height for the GPIO connector. If you decide not to use the standoffs, be careful not to allow the motor and power connections to short against the Raspberry Pi’s HDMI connector.

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.

Raspberry Pi is not included.

Using the motor driver board

This section explains how to use the dual MC33926 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 MC33926 datasheet (1MB pdf) for detailed pin descriptions, truth tables, and electrical characteristics. This expansion board is essentially a breakout board for two MC33926 motor driver ICs with additional logic circuitry to simplify the motor control, so the datasheet is your best resource for answering questions not covered here.

 

 

In the board’s default state, the motor driver outputs and the Raspberry Pi are powered separately, though they share a common ground and the board’s 3.3 V logic supply is provided by the Raspberry Pi. 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 5 V to 28 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 thePowering the Raspberry Pi from the motor driver board section below).

A reverse-voltage protection circuit helps prevent damage to the board in case the motor power supply is connected backward. The reverse-protected input voltage can be accessed for use in other circuits through the two pins labeled VOUT on the left side of the board.

The board includes logic gates that enable drive/brake operation of the MC33926 drivers with only two control pins per motor (PWM and direction). As drive/brake operation usually provides a more linear relationship between PWM duty cycle and motor speed than drive/coast operation, we generally recommend using drive/brake operation when possible.

 

Driving motors with a #2756 dual motor driver on a on a Raspberry Pi Model B+ or Pi 2 Model B. A step-down regulator provides 5 V to the Raspberry Pi.

 

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 Motor 1 SF Status flag output: When the driver is functioning normally, this pin should be pulled high by the Raspberry Pi. In the event of a driver fault , the driver IC drives SF low. If either of the disable pins (D1 or D2) is disabling the outputs, SF will also be low.
6 Motor 2 SF
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 20 kHz.
13 Motor 2 PWM
22 Motor 1 EN Enable input: This pin is internally pulled low, 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 high to enable the motor driver.
23 Motor 2 EN
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


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

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

Remapping pins

All of the Raspberry Pi’s GPIO pins are broken out along a row of numbered through-holes just below the 40-pin GPIO connector. Each GPIO pin used by the board is connected from this row to the corresponding motor driver pin by a trace on the underside of the board spanning the 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.

 

Bottom view of the dual MC33926 motor driver for Raspberry Pi, showing cuttable traces.

 

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 SF, 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.

Using additional MC33926 pins

The rest of the MC33926 inputs and outputs are not connected to the Raspberry Pi, but they are accessible through their own through-holes in case you want to use them in a more advanced application of the motor drivers. The board ties some of the inputs high or low through cuttable traces, similar to the way the remappable pins are connected, and you should cut the trace before connecting each input to anything else. This table shows the default configuration of the additional pins:

Motor driver pin Description Default configuration on board
D1 Disable input 1(active high) Tied low (inactive) through cuttable trace
D2 Disable input 2 (active low) Tied high (inactive) through cuttable trace
SLEW Slew rate selection Tied high to select fast slew rate through cuttable trace
INV Input invert Internally pulled low (non-inverted)
FB Feedback (current sense output) Connected to sense resistor and low-pass filter to output approx. 360 mV/A

For more information about these pins and how they can be used, refer to the MC33926 datasheet (1MB 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 labeled “5V Regulator”. The “VOUT (REG IN)” pin provides access to the driver board’s motor supply voltage after reverse-voltage protection, while the “REG OUT” pin is connected to the Raspberry Pi’s 5V power rail through an ideal diode circuit. 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 D24V5F5 or D24V10F5 switching step-down regulators, which work at input voltages up to the 28 V maximum of the MC33926 and can supply up to 500 mA or 1 A of current, respectively, to the Raspberry Pi.

 

D24V10F5 step-down regulator connected to an assembled Pololu Dual MC33926 Motor Driver 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 (REG IN)” pin should connect to the regulator’s VIN pin, while the regulator’s VOUT pin should connect to the motor driver board’s “REG OUT” pin.

There are a few considerations to keep in mind when “back-powering” the Raspberry Pi through a voltage regulator in this way:

  • Your motor power supply must be an acceptable voltage for both the regulator and the MC33926 driver ICs.
  • The regulator should be able to handle the power requirements of the Raspberry Pi. The Model B+ typically uses a few hundred milliamps at 5 V, although its current draw can exceed 1 A if it is also supplying power to USB devices and other peripherals. While a linear regulator like a 7805 might fit in the regulator mounting location, it could generate excessive heat or shut down at higher input voltages and output currents. We recommend using a switching regulator like the ones mentioned above.

The ideal diode circuit makes it safe to have a different power supply connected to the Raspberry Pi through its USB Micro-B receptacle while the motor driver add-on and regulator are connected and powered.

Real-world power dissipation considerations

Each MC33926 motor driver IC has a maximum continuous current rating of 5 A. However, the actual current it can deliver depends on how well you can keep it cool. The motor driver board is designed to draw heat out of the motor driver chips, but performance can be improved by adding heat sinks.

Unlike many other H-bridges, the MC33926 has a feature that allows it to gracefully reduce current as the current exceeds 5 A or as the chip temperature approaches its limit. This means that if you push the chip close to its limit, you will see less power to the motor, but it might allow you to avoid a complete shutdown.

We tested this motor driver board at room temperature with no forced air flow or heat sinks. In our tests, the board was able to deliver 5 A to both channels simultaneously for about 10 s before the thermal protection started reducing the current. The board delivered 4 A on both channels for about 40 s, and at 3 A it was able to operate continuously for over 10 minutes without triggering current limiting or thermal protection.

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

A schematic diagram is available as a PDF: Pololu Dual MC33926 Motor Driver for Raspberry Pi schematic diagram (378k pdf).

Dimensions

Size: 65 mm × 56 mm
Weight: 24 g1

General specifications

Motor driver: MC33926
Motor channels: 2
Minimum operating voltage: 5 V2
Maximum operating voltage: 28 V3
Continuous output current per channel: 3 A
Peak output current per channel: 5 A
Maximum PWM frequency: 20 kHz
Reverse voltage protection?: Y

Write a review

Please login or register to review

Pololu Dual 2755/2756 MC33926 Motor Driver for Raspberry Pi

  • Brand: Pololu
  • Product Code:Pololu-Motor-Driver-MC33926-Rpi
  • Reward Points:75
  • Availability:In Stock
  • रo 7,466.00

  • Price in reward points:7466

  • 2 or more रo 7,406.00
  • 4 or more रo 7,346.00
  • 10 or more रo 7,287.00
  • 20 or more रo 7,227.00

Available Options


Related Products

L298N Motor Driver Board

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

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

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

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

Stepper Motor Driver A4988

A4988 is a complete microstepping motor driver with built-in translator for easy operation. This pro..

रo 140.00

4A Motor Shield

4A Motor Shield

The 4A Motor Shield is based on the Freescale MC33932 dual H-Bridge Power IC , which can control ind..

रo 4,619.00

USB2AX v3.2b

USB2AX v3.2b

The USB2AX is a small interface to control Dynamixel servos like the AX-12 from a computer. It plugs..

रo 5,066.00

Servo Six Board - Monk Make

Servo Six Board - Monk Make

The Servo Six board simplifies the process of connecting up to six servo motors to a Raspberry Pi or..

रo 667.00

1A Motor Shield for Arduino

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

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

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 595.00 रo 676.00

Pololu 2971 DRV8880 Stepper Motor Driver Carrier

Pololu 2971 DRV8880 Stepper Motor Driver Carrier

This breakout board for TI’s DRV8880 microstepping bipolar stepper motor driver features adjustable ..

रo 955.00

Pololu 1213 Dual MC33926 Motor Driver Carrier

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 6,932.00

Pololu 1212 MC33926 Motor Driver Carrier

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 3,730.00

Pololu 2130 DRV8833 Dual Motor Driver Carrier

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 1,275.00

Pololu 2135 DRV8835 Dual Motor Driver Carrier

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 371.00 रo 421.00

Pololu 2511 DRV8835 Dual Motor Driver Shield for Arduino

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 1,489.00

Pololu 2137 A4990 Dual Motor Driver Carrier

Pololu 2137 A4990 Dual Motor Driver Carrier

This compact breakout board makes it easy to use Allegro’s A4990 dual motor driver, which can contro..

रo 650.00

Pololu 2990 DRV8838 Single Brushed DC Motor Driver Carrier

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 336.00 रo 381.00

Pololu 2961 MAX14870 Single Brushed DC Motor Driver Carrier

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 745.00 रo 847.00

Pololu 2960 BD65496MUV Single Brushed DC Motor Driver Carrier

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

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,087.00

Pololu 1112 Qik 2s12v10 Dual Serial Motor Controller

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

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

L298 Dual H-Bridge Motor Driver Module

 New L298 Dual H-Bridge Motor Driver    Features:   Working mode: H bridge ..

रo 235.00

Pololu 2753 DRV8835 Dual Motor Driver Kit for Raspberry Pi

Pololu 2753 DRV8835 Dual Motor Driver Kit for Raspberry Pi

This compact expansion board plugs directly into the GPIO header on a Raspberry Pi B+, Pi A+, Pi 2, ..

रo 1,702.00

ULN2003 Stepper Motor Driver Board

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 1392/1394 Jrk 21v3 USB Motor Controller with Feedback

Pololu 1392/1394 Jrk 21v3 USB Motor Controller with Feedback

The jrk 21v3 motor controller is a highly configurable brushed DC motor controller that supports fou..

रo 8,533.00

Pololu 767 TReX Jr Dual Motor Controller DMC02

Pololu 767 TReX Jr Dual Motor Controller DMC02

This lower-power, smaller, and lower-cost version of the TReX is the ultimate general-purpose motor ..

रo 14,110.00

Pololu 2968 / 2969 Stepper Motor Driver Carrier, Digital Current Control MP6500

Pololu 2968 / 2969 Stepper Motor Driver Carrier, Digital Current Control MP6500

This product is a carrier board or breakout board for the MP6500 stepper motor driver from Monolithi..

रo 520.00 रo 591.00

Pololu 2966 / 2967 Stepper Motor Driver Carrier, Potentiometer Current Control MP6500

Pololu 2966 / 2967 Stepper Motor Driver Carrier, Potentiometer Current Control MP6500

This product is a carrier board or breakout board for the MP6500 stepper motor driver from Monolithi..

रo 569.00

Pololu 2519 Dual MAX14870 Motor Driver Shield for Arduino

Pololu 2519 Dual MAX14870 Motor Driver Shield for Arduino

This small shield is an easy, economical way to control two small brushed DC motors with an Arduino ..

रo 2,663.00

Pololu 707/708 VNH2SP30/VNH3SP30 Dual Motor Driver Carrier MD03A 708 707

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 17,634.00

Gravity: 2x2A Motor Shield for Arduino Twin

Gravity: 2x2A Motor Shield for Arduino Twin

Arduino product family is a great learning platform for electronics, programming and robotics. But m..

रo 1,195.00 रo 1,378.00

Tags: Pololu, Dual, MC33926, Motor, Driver, Raspberry Pi

The product is currently Out-of-Stock. Enter your email address below and we will notify you as soon as the product is available.

Name
Email
Phone
Comments