Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use Arduino Motor Shield (Rev3): Examples, Pinouts, and Specs

Image of Arduino Motor Shield (Rev3)
Cirkit Designer LogoDesign with Arduino Motor Shield (Rev3) in Cirkit Designer

Introduction

The Arduino Motor Shield (Rev3) is an add-on board designed to simplify motor control in Arduino-based projects. It enables users to control DC motors, stepper motors, and servos with ease, making it ideal for robotics, automation, and other motor-driven applications. The shield features built-in protection circuits and power management, ensuring safe and efficient operation.

Explore Projects Built with Arduino Motor Shield (Rev3)

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Arduino UNO and Motor Shield Controlled Bipolar Stepper Motor System
Image of satellite: A project utilizing Arduino Motor Shield (Rev3) in a practical application
This circuit consists of an Arduino UNO microcontroller stacked with an Arduino Motor Shield (Rev3) to control two bipolar stepper motors. The motor shield interfaces directly with the Arduino UNO, receiving power from a pair of 18650 batteries. The setup is designed for applications requiring precise motor control, such as robotics or CNC machines, with the Arduino programmed to manage motor operations.
Cirkit Designer LogoOpen Project in Cirkit Designer
Bluetooth-Controlled Robotic Vehicle with Adafruit Motor Shield
Image of motor: A project utilizing Arduino Motor Shield (Rev3) in a practical application
This circuit is a motor control system that uses an Adafruit Motor Shield to drive four hobby motors, with additional sensors including an IR sensor, an ultrasonic sensor, a metal detector, and a Bluetooth module for remote communication. The system is powered by a battery case and controlled via a rocker switch.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino UNO and Adafruit Motor Shield Controlled Stepper Motor System with Push Button Interface
Image of Sophmore Vending Machine Project: A project utilizing Arduino Motor Shield (Rev3) in a practical application
This circuit consists of an Arduino UNO connected to an Adafruit Motor Shield, which controls two bipolar stepper motors. Additionally, multiple push buttons and an LED with a current-limiting resistor are connected to the Arduino for user input and visual feedback.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino UNO and Sensor Shield Controlled 12V DC Motor with Encoder
Image of Arduino with Motor Encoder: A project utilizing Arduino Motor Shield (Rev3) in a practical application
This circuit integrates an Arduino UNO with a Sensor Shield, an L298N motor driver, and a 12V DC motor encoder to control and monitor a DC motor. The Arduino UNO runs the main control code, while the Sensor Shield facilitates connections to the motor driver and encoder for power and signal management.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with Arduino Motor Shield (Rev3)

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of satellite: A project utilizing Arduino Motor Shield (Rev3) in a practical application
Arduino UNO and Motor Shield Controlled Bipolar Stepper Motor System
This circuit consists of an Arduino UNO microcontroller stacked with an Arduino Motor Shield (Rev3) to control two bipolar stepper motors. The motor shield interfaces directly with the Arduino UNO, receiving power from a pair of 18650 batteries. The setup is designed for applications requiring precise motor control, such as robotics or CNC machines, with the Arduino programmed to manage motor operations.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of motor: A project utilizing Arduino Motor Shield (Rev3) in a practical application
Bluetooth-Controlled Robotic Vehicle with Adafruit Motor Shield
This circuit is a motor control system that uses an Adafruit Motor Shield to drive four hobby motors, with additional sensors including an IR sensor, an ultrasonic sensor, a metal detector, and a Bluetooth module for remote communication. The system is powered by a battery case and controlled via a rocker switch.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Sophmore Vending Machine Project: A project utilizing Arduino Motor Shield (Rev3) in a practical application
Arduino UNO and Adafruit Motor Shield Controlled Stepper Motor System with Push Button Interface
This circuit consists of an Arduino UNO connected to an Adafruit Motor Shield, which controls two bipolar stepper motors. Additionally, multiple push buttons and an LED with a current-limiting resistor are connected to the Arduino for user input and visual feedback.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Arduino with Motor Encoder: A project utilizing Arduino Motor Shield (Rev3) in a practical application
Arduino UNO and Sensor Shield Controlled 12V DC Motor with Encoder
This circuit integrates an Arduino UNO with a Sensor Shield, an L298N motor driver, and a 12V DC motor encoder to control and monitor a DC motor. The Arduino UNO runs the main control code, while the Sensor Shield facilitates connections to the motor driver and encoder for power and signal management.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications and Use Cases

  • Robotics projects requiring precise motor control
  • Automated systems like conveyor belts or robotic arms
  • DIY RC vehicles and drones
  • Projects involving multiple motors, such as CNC machines or 3D printers

Technical Specifications

The Arduino Motor Shield (Rev3) is based on the L298P dual full-bridge driver, which allows independent or simultaneous control of two DC motors or one stepper motor. It also includes servo motor support via dedicated pins.

Key Technical Details

  • Operating Voltage: 5V (from Arduino) or external power supply (up to 12V)
  • Motor Driver IC: L298P
  • Maximum Current per Channel: 2A (peak)
  • PWM Frequency: Up to 20 kHz
  • Control Pins: Digital pins 3, 5, 6, 9, 10, 11
  • Servo Control Pins: 5V, GND, and signal pins for up to 2 servos
  • External Power Input: 6V to 12V via screw terminal or barrel jack
  • Dimensions: 68.6mm x 53.4mm

Pin Configuration and Descriptions

The Arduino Motor Shield (Rev3) uses the following pin configuration:

Pin Function
Digital 3 PWM control for Motor A
Digital 5 PWM control for Motor B
Digital 6 Direction control for Motor A
Digital 9 Direction control for Motor B
Digital 10 Brake for Motor A
Digital 11 Brake for Motor B
Servo 1 Signal pin for Servo 1 (connected to Arduino pin 9)
Servo 2 Signal pin for Servo 2 (connected to Arduino pin 10)
External Power Screw terminal or barrel jack for external motor power (6V to 12V)
GND Ground connection for external power supply

Usage Instructions

How to Use the Arduino Motor Shield (Rev3) in a Circuit

  1. Mount the Shield: Place the Arduino Motor Shield (Rev3) on top of an Arduino board, ensuring the pins align correctly.
  2. Connect Motors:
    • For DC motors, connect the motor terminals to the MOTOR A and MOTOR B screw terminals.
    • For stepper motors, connect the motor's four wires to the MOTOR A and MOTOR B terminals.
    • For servos, connect the servo's signal wire to the Servo 1 or Servo 2 pin.
  3. Power the Motors:
    • If the motors require more power than the Arduino can provide, connect an external power supply (6V to 12V) to the screw terminal or barrel jack.
  4. Program the Arduino:
    • Use the Arduino IDE to write a sketch that controls the motors. The shield uses PWM signals for speed control and digital signals for direction.

Important Considerations and Best Practices

  • Power Supply: Ensure the external power supply matches the voltage and current requirements of your motors.
  • Heat Dissipation: The L298P driver may heat up during operation. Use a heatsink if necessary for prolonged use.
  • Avoid Overloading: Do not exceed the maximum current rating of 2A per channel to prevent damage to the shield.
  • Servo Power: Servos draw power from the Arduino's 5V pin. Ensure the Arduino's power supply can handle the additional current.

Example Code for Arduino UNO

Below is an example sketch to control two DC motors using the Arduino Motor Shield (Rev3):

// Example code to control two DC motors with the Arduino Motor Shield (Rev3)

// Define motor control pins
const int motorA_pwm = 3;  // PWM pin for Motor A
const int motorA_dir = 6;  // Direction pin for Motor A
const int motorB_pwm = 5;  // PWM pin for Motor B
const int motorB_dir = 9;  // Direction pin for Motor B

void setup() {
  // Set motor control pins as outputs
  pinMode(motorA_pwm, OUTPUT);
  pinMode(motorA_dir, OUTPUT);
  pinMode(motorB_pwm, OUTPUT);
  pinMode(motorB_dir, OUTPUT);
}

void loop() {
  // Motor A: Forward at 50% speed
  digitalWrite(motorA_dir, HIGH);  // Set direction
  analogWrite(motorA_pwm, 128);   // Set speed (0-255)

  // Motor B: Reverse at 75% speed
  digitalWrite(motorB_dir, LOW);  // Set direction
  analogWrite(motorB_pwm, 192);  // Set speed (0-255)

  delay(2000);  // Run motors for 2 seconds

  // Stop both motors
  analogWrite(motorA_pwm, 0);
  analogWrite(motorB_pwm, 0);

  delay(2000);  // Wait for 2 seconds before repeating
}

Troubleshooting and FAQs

Common Issues and Solutions

  1. Motors Not Running:

    • Ensure the shield is properly seated on the Arduino board.
    • Check the motor connections and ensure they are secure.
    • Verify that the external power supply is connected and within the required voltage range.
  2. Motors Running in the Wrong Direction:

    • Swap the motor's terminal connections or adjust the direction control pins in the code.
  3. Arduino Resets When Motors Start:

    • This may occur if the motors draw too much current. Use an external power supply to power the motors.
  4. Servo Motors Not Responding:

    • Ensure the servo signal wire is connected to the correct pin.
    • Verify that the Arduino's 5V pin can supply enough current for the servos.

FAQs

Q: Can I control more than two DC motors with this shield?
A: No, the Arduino Motor Shield (Rev3) is designed to control up to two DC motors or one stepper motor. For additional motors, consider using multiple shields or a different motor driver.

Q: Can I use this shield with an Arduino Mega?
A: Yes, the shield is compatible with the Arduino Mega. However, ensure the pins used for motor control match the Mega's pinout.

Q: Is it possible to control both DC motors and servos simultaneously?
A: Yes, the shield supports simultaneous control of two DC motors and up to two servos.

Q: What happens if I exceed the current limit?
A: Exceeding the 2A per channel limit may damage the L298P driver. Always ensure your motors operate within the specified current range.