Introduction: Tutorial for Monster Motor Shield VNH2SP30


VNH2SP30 is a full bridge motor driver intended for a wide range of automotive applications. The device incorporates a dual monolithic high side driver and two low side switches. The high side driver switch is designed using the STMicroelectronic’s well known and proven proprietary VIPower M0 technology which permits efficient integration on the same die of a true Power MOSFET with an intelligent signal/protection circuitary. The VIN and motor out are pitched for 5mm screw terminals, making it easy to connect larger gauge wires. INA and INB control the direction of each motor, and the PWM pins turns the motors on or off. For the VNH2SP30, the current sense (CS) pins will output approximately 0.13 volts per amp of output current.


  • Voltage Range : 5.5V - 16V
  • Maximum Current rating : 30A
  • Practical Continuous Current: 14 A
  • Current sense output proportional to motor current
  • MOSFET on-resistance: 19 mΩ (per leg)
  • Maximum PWM frequency: 20 kHz
  • Thermal Shutdown
  • Undervoltage and Overvoltage shutdown

Step 1: Material Preparation

Before getting started, make sure to prepare all of below:

1. Arduino Uno Board and USB
2. Monster Motor Shield VNH2SP30
3. 2 DC Motor 12V
4. Jumper Wires / Crocodile Clip
5. Adapter / Battery (5.5V - 16V)

Step 2: Pinout Details

Hardware Pinout

A0 : Enable pin for motor 1

A1 : Enable pin for motor 2

A2 : Current sensor for motor 1

A3 : Current sensor for motor 2

D7 : Clockwise (CW) for motor 1

D8 : Counterclockwise (CCW) for motor 1

D4 : Clockwise (CW) for motor 2

D9 : Counterclockwise (CCW) for motor 2

D5 : PWM for motor 1

D6 : PWM for motor 2

Truthtable to make motor to rotate :

Motor 0

STOP : D7 0, D8 0 & D7 1, D7 1
CCW : D7 0, D8 1
CW : D7 1, D8 0

Motor 1

STOP : D4 0, D9 0 & D4 1, D9 1
CCW : D4 0, D9 1
CW : D4 1, D9 0

Step 3: Attach Your Monster Motor Shield VNH2SP30 to Arduino Uno Board

Step 4: Connect DC Motor

Connect Motor 1 to VNH2SP30 Monster Motor Shield VNH2SP30 A1:B1 and Motor 2 to VNH2SP30 Monster Motor Shield A2:B2

Step 5: Power Supply

Connect your Monster Motor Shield VNH2SP30 board to a power supply in range between 5.5V to 16V. We use a 9V power adapter.

Step 6: Assembled Circuit

You will have the whole circuit like this after following previous step. Now, connect your Arduino Uno Board to your computer using the USB.

Step 7: Sample Source Code

This is a sample source code for the circuit, you may download, open and and upload it into your Arduino Uno Board. Make sure to go Tools and select the correct board and port.

Step 8: Serial Monitor

After you have finished compiling the sample source code into your arduino uno board, go to Tools > Serial Monitor and you will get a serial monitor as shown in the picture above.

Step 9: Result

This is the result of this tutorial :

i. when user enter number '2', dc motor start to rotate forward and serial monitor will print forward.
ii. when user enter '3', dc motor start to reverse and serial monitor will print reverse.
iii. when user enter '1', dc motor stop from rotating and serial monitor will print stop.
iv. when user enter '+', dc motor's speed increase by 10 and serial monitor will print the motor's speed. However, dc motor maximum speed is 255, thus, when user enter '++' more it will still print 255 and never more than 255 (as shown in the pic).
v. when user enter '-', dc motor's speed decrease by 10 and serial monitor will print the motor's speed. However, dc motor minimum speed is 0, thus, when user enter '--' more it will still print 0 and never less than 0 (as shown in the pic).

Step 10: Video

This video demonstration show how the DC motor function according to the sample source code.