Overview
DRV8838 Single Brushed DC Motor Driver Carrier, bottom view with dimensions.
TI SN754410 (16-pin DIP) next to the #2135 DRV8835 carrier (14-pin DIP) and #2990 DRV8838 carrier (10-pin DIP) for size reference.
Texas Instruments’ DRV8838 is a tiny H-bridge motor driver IC that can be used for bidirectional control of one brushed DC motor at 0 V to 11 V. It can supply up to about 1.7 A continuously and can tolerate peak currents up to 1.8 A for a few seconds, making it an ideal driver for small motors that run on relatively low voltages. The DRV8838 is a great IC, but its small, leadless package makes it difficult for the typical student or hobbyist to use; our breakout board gives this driver the form factor of a 10-pin DIP package, which makes it easy to use with standard solderless breadboards and 0.1″ perfboards. Since this board is a carrier for the DRV8838, we recommend careful reading of the DRV8838 datasheet (1MB pdf). The board ships populated with SMD components, including the DRV8838, and adds a FET for reverse battery protection.
Alternative driver options
This motor driver is essentially a smaller, lower-cost, single-channel alternative to our DRV8835 dual motor driver carrier and DRV8833 dual motor driver carrier, which have very similar operating voltage ranges and current ratings but offer an additional motor channel.
For higher-voltage alternatives to this driver, please consider our A4990 and DRV8801 motor driver carriers.
Features
Included hardware
Two 1×5-pin breakaway 0.1″ male headers are included with the DRV8838 dual motor driver carrier, which can be soldered in to use the driver with breadboards, perfboards, or 0.1″ female connectors. (The headers might ship as a single 1×10 piece that can be broken in half.) The right picture above shows the two possible board orientations when used with these header pins (parts visible or silkscreen visible). You can also solder your motor leads and other connections directly to the board.
Using the motor driver
Minimal wiring diagram for connecting a microcontroller to a DRV8838 Single Brushed DC Motor Driver Carrier.
Motor and motor power connections are made on one side of the board and logic power and control connections are made on the other. The driver requires a motor voltage between 0 V and 11 V to be supplied to the VIN or VM pin and a logic voltage between 1.8 V and 7 V to be supplied to the VCC pin; the logic voltage can typically be supplied by or shared with the controlling device. The VIN pin is the reverse-protected motor supply input and is the recommended point for connecting motor power. However, driver performance will start getting worse when the input voltage to the reverse-protection circuit is below a few volts, and 1.5 V is the lower limit of where the VIN pin can be used. For very low voltage applications, the motor supply should be connected directly to VM, which bypasses the reverse-protection circuit.
The DRV8838 offers a simple two-pin PHASE/ENABLE control interface, where the PHASE pin determines the motor direction and the ENABLE pin can be supplied with a PWM signal to control the motor speed. The PHASE and ENABLE control inputs are pulled low through weak internal pull-down resistors (approximately 100 kΩ). When the ENABLE pin is low, the motor outputs are both shorted to ground, which results in dynamic braking of a connected motor.
The SLEEP pin can be driven low to put the driver into a low-power sleep mode and turn off motor outputs, which is useful if you want to let the motor coast. The SLEEP pin is pulled high through a 10 kΩ pull-up resistor on the carrier board so that the driver is awake by default; the quiescent current draw of the board will be dominated by the current through this resistor when the pin is driven low to put the driver to sleep. In most applications, this pin can be left disconnected or can serve primarily as a way to enable coasting. For applications where a low-power sleep mode is desirable, the 10 kΩ pull-up resistor can be removed or the logic voltage (VCC) for the driver can be dynamically supplied by a digital output of your microcontroller.