4.b. Board Connections

Dual VNH5019 motor driver shield connected to a microcontroller (gray connections are optional).

The above diagram shows the minimum connections typically required to interface this motor driver with a microcontroller.


The following table explains the board pins in detail. See the VNH5019 datasheet (1MB pdf) for even more detailed information about these pins, including the truth table that explains how the MxPWM and MxINA/B pins affect the MxA/B motor outputs.

PIN Default State Description
VIN   The connection point for the positive side of the 5.5 – 24 V motor power supply. Since the overvoltage protection can be as low as 24 V, we do not recommend using 24 V batteries for VIN.
VDD   The connection point for the positive side of the logic power supply (typically 2.5 – 5 V). The only function of this pin is to power the internal pull-ups on the enable lines, M1EN/DIAG and M2EN/DIAG.
VOUT   This pin gives you access to the motor power supply after the reverse-voltage protection MOSFET (see the board schematic in Section 5). It can be used to supply reverse-protected power to other components in the system, but it should not be used for high currents. This pin should only be used as an output.
GND   Ground connection points for logic and motor power supplies. The controlling device and the motor driver must share a common ground.
MxA/B   Output of half-bridge A/B. Each half-bridge connects to one terminal of a DC motor.
MxPWM LOW Pulse-width modulation input: a PWM signal on this pin corresponds to a PWM output on the corresponding driver’s motor outputs. When this pin is low, the motor outputs are high impedance. When it is high, the output state is determined by the states of the MxINA/B and MxEN/DIAG pins.
MxINA FLOATING Motor direction input A (“clockwise” input).
MxINB FLOATING Motor direction input B (“counterclockwise” input).
MxCS   Current sense output. The pin voltage is roughly 140 mV per amp of output current when the CS_DIS pin is low or disconnected. The current sense reading is more accurate at higher currents. (Note that while the CS voltage can potentially exceed 3.3 V at high currents, the current sense circuit should be safe for use with many 3.3V analog inputs. Most MCUs have integrated protection diodes that will clamp the input voltage to a safe value, and since the CS circuit has a 10 kΩ resistor in series with the output, only a few hundred microamps at most will flow through that diode.)
MxEN/DIAG HIGH Combination enable input/diagnostic output. When the driver is functioning normally, this pin acts as an enable input, with a logical high enabling the motor outputs and a logical low disabling motor outputs. When a driver fault occurs, the IC drives this pin low and the motor outputs are disabled. Note that the VNH5019 actually has separate EN/DIAG pins for each half bridge (ENA/DIAGA and ENB/DIAGB), but these are tied together on the board by default to create a single enable input/diagnostic output for each driver. See Section 6.b for information on how to individually access ENA/DIAGA and ENB/DIAGB pins (this is typically not necessary).
MxCS_DIS LOW Disables the current sense output, MxCS, when high. Can be left disconnected in most applications.

Power Considerations

Dual VNH5019 motor driver shield power buses when not used with an Arduino shield.

The shield must be supplied with 5.5 to 24 V through the large VIN and GND pads on the right side of the board. A high-side reverse-voltage protection MOSFET prevents the shield from being damaged if shield power is inadvertently connected backwards (for supply voltages up to 16 V; higher voltages can damage the driver if connected in reverse).

Note that the motor driver features over-voltage protection that can kick it at voltages as low as 24 V, so we do not recommend using it with 24 V batteries (such batteries can significantly exceed 24 V when fully charged).

It is important that you use a power source that is capable of delivering the current your motors will require. For example, alkaline cells are typically poor choices for high-current applications, and you should almost never use a 9V battery (the rectangular type with both terminals on the same side) as your motor power supply.

Logic power at the same level as your controlling device should be supplied to the VDD pin. This will typically be between 2.5 and 5 V, but the VNH5019 motor drivers are guaranteed to treat any logic input voltage over 2.1 V as high. The only purpose of the VDD pin is to power the pull-up resistors on the EN/DIAG lines.

Motor Considerations

The motor considerations are the same as those detailed in Section 3.c.

Related Products

Pololu Dual VNH5019 Motor Driver Shield for Arduino (ash02a)
Pololu Dual VNH5019 Motor Driver Shield for Arduino
Log In
Pololu Robotics & Electronics
Shopping cart
(702) 262-6648
Same-day shipping, worldwide
Shop Blog Forum Support
My account Comments or questions? About Pololu Contact Ordering information Distributors