

The SparkFun Monster Moto Shield (Manufacturer Part ID: DEV-10182) is a high-power motor driver shield designed for controlling DC motors and stepper motors. It features dual H-bridge drivers, allowing it to drive two DC motors or one stepper motor with ease. The shield is compatible with Arduino boards, making it an excellent choice for robotics, automation, and other motor control applications.








The following table outlines the key technical details of the SparkFun Monster Moto Shield:
| Specification | Details |
|---|---|
| Operating Voltage | 5V (logic) from Arduino, 5.5V to 16V (motor power supply) |
| Continuous Current | Up to 14A per channel |
| Peak Current | 30A per channel (for short durations) |
| Motor Channels | 2 (dual H-bridge drivers) |
| PWM Frequency | Up to 20 kHz |
| Logic Level Compatibility | 3.3V and 5V |
| Protection Features | Over-temperature, under-voltage, and over-current protection |
| Dimensions | 68.6mm x 53.3mm (2.7" x 2.1") |
| Weight | 28g |
The Monster Moto Shield uses the following pins for communication and control:
| Pin | Description |
|---|---|
| D3 | PWM input for Motor A |
| D11 | PWM input for Motor B |
| D12 | Direction control for Motor A |
| D13 | Direction control for Motor B |
| A0 | Current sense output for Motor A |
| A1 | Current sense output for Motor B |
| VIN | External motor power supply input (5.5V to 16V) |
| GND | Ground connection |
Connect the Shield to an Arduino:
Power the Motors:
Connect the Motors:
Program the Arduino:
Upload the Code:
Below is an example sketch to control two DC motors using the Monster Moto Shield:
// Example code for controlling two DC motors with the SparkFun Monster Moto Shield
// Ensure the shield is properly connected to the Arduino UNO
// Define motor control pins
const int pwmA = 3; // PWM pin for Motor A
const int dirA = 12; // Direction pin for Motor A
const int pwmB = 11; // PWM pin for Motor B
const int dirB = 13; // Direction pin for Motor B
void setup() {
// Set motor control pins as outputs
pinMode(pwmA, OUTPUT);
pinMode(dirA, OUTPUT);
pinMode(pwmB, OUTPUT);
pinMode(dirB, OUTPUT);
}
void loop() {
// Motor A: Forward at 50% speed
digitalWrite(dirA, HIGH); // Set direction to forward
analogWrite(pwmA, 128); // Set speed (0-255)
// Motor B: Reverse at 75% speed
digitalWrite(dirB, LOW); // Set direction to reverse
analogWrite(pwmB, 192); // Set speed (0-255)
delay(2000); // Run motors for 2 seconds
// Stop both motors
analogWrite(pwmA, 0);
analogWrite(pwmB, 0);
delay(1000); // Pause for 1 second
}
Motors Not Running:
Overheating:
Erratic Motor Behavior:
Arduino Not Responding:
Q: Can the Monster Moto Shield drive stepper motors?
A: Yes, the shield can drive a single stepper motor by using both motor channels. You will need to write appropriate code to control the stepper motor.
Q: What is the maximum current the shield can handle?
A: The shield can handle up to 14A continuously per channel and 30A peak for short durations.
Q: Is the shield compatible with 3.3V logic boards?
A: Yes, the shield is compatible with both 3.3V and 5V logic levels.
Q: Can I stack other shields on top of the Monster Moto Shield?
A: Stacking is possible, but ensure the pins used by the Monster Moto Shield do not conflict with other shields.