This motor driver shield and its corresponding Arduino library make it easy to control a pair of bidirectional, brushed DC motors with an Arduino or compatible board, such as the A-Star 32U4 Prime. The 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 shield 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 shield ships fully populated with its SMD components, including the DRV8835 driver and a FET for reverse battery protection; header pins for interfacing with an Arduino and terminal blocks for connecting motors and power are included but are not soldered in (see the Assembly with included hardware section below).
The shield uses digital pins 7, 8, 9, and 10 for its control lines, though the control pin mappings can be customized if the defaults are not convenient. It should be compatible with any board that has a standard Arduino pin arrangement and the ability to generate PWM signals on pins 9 and 10. Compatible control boards include:
- A-Star 32U4 Prime
- Arduino Uno
- Arduino Leonardo
- Arduino Due
- Arduino Mega 2560
This shield is intended to provide a low-cost, basic motor driver option for Arduinos, so it is much smaller than typical Arduino shields and does not include pass-through, stackable headers. For higher-power drivers with more configuration options, see our larger MC33926 and VNH5019 motor driver shields.
For a higher-voltage alternative to this shield, please consider the A4990 dual motor driver shield. We also have a similar DRV8835 motor driver kit for the Raspberry Pi, as well as a smaller DRV8835 carrier (and an even smaller single-channel DRV8838 carrier) for those using a different controller or with tighter space constraints.
Although the DRV8835 itself works with a minimum motor supply voltage of 0 V, this shield’s reverse-protection circuit limits the minimum to 1.5 V. If a lower motor supply voltage is required, please consider using our DRV8835 carrier with motor power supplied through the VMM pin.
- Dual-H-bridge motor driver: can drive two DC motors or one bipolar stepper motor
- Motor supply voltage: 1.5 V to 11 V
- Logic supply voltage 2 V to 7 V
- Output current: 1.2 A continuous (1.5 A peak) per motor
- Motor outputs can be paralleled to deliver 2.4 A continuous (3 A peak) to a single motor
- PWM operation up to 250 kHz (ultrasonic frequencies allow for quieter motor operation)
- Two possible interface modes: PHASE/ENABLE (default – one pin for direction, another for speed) or IN/IN (outputs mostly mirror inputs)
- Shield can optionally power the Arduino base directly when motor supply voltage is suitable
- Arduino library makes it easy to get started using this board as a motor driver shield
- Arduino 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
Assembly with included hardware
Before the shield can be plugged into your Arduino, header pins must be mounted to the bottom of the board (the side without any components or text) by soldering them into the appropriate holes. The shield ships with a 15-pin 0.1″ straight breakaway male header strip that can be broken into smaller pieces and used for this purpose. Four holes along the left side of the board (VCC, GND, GND, and AVIN) and all five holes along the right side of the board (digital pins 6 – 10) should be assembled with male header pins so that the shield will make the appropriate connections to the Arduino. Once assembled, one easy way to ensure that you are plugging the shield properly into the Arduino is to align the gap between pins 7 and 8 on the shield with the gap between pins 7 and 8 on the Arduino’s female headers.
If you want the option of powering the Arduino from the shield, you can solder two male header pins to the lower-left corner of the board (in the silkscreen box next to the VOUT label). These pins should point up, away from the Arduino. If you then place the included blue shorting block across these pins (as shown in the above assembled picture), reverse-protected shield power will power the Arduino through it’s VIN pin. See the Using the shield section below for more information on this, including some important warnings.
Three 2-pin, 5 mm terminal blocks are included for making easy motor and power connections to the shield 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 above the terminal block holes, or you can just solder wires directly to the shield.
Additional shorting blocks and header pins beyond what is included can be used to make some of the more advanced optional modifications to the shield, such as remapping the control pins or paralleling the outputs.
An Arduino is not included.