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

How to Use A000079 Motor Shield: Examples, Pinouts, and Specs

Image of A000079 Motor Shield
Cirkit Designer LogoDesign with A000079 Motor Shield in Cirkit Designer

Arduino A000079 Motor Shield Documentation

1. Introduction

The Arduino A000079 Motor Shield is a versatile and user-friendly expansion board designed to simplify the control of DC motors, stepper motors, and servos. Built to integrate seamlessly with Arduino boards, this shield provides an efficient way to manage motor speed, direction, and other parameters. It is based on the L298P dual full-bridge driver, which allows for independent or simultaneous control of two DC motors or one stepper motor. Additionally, it includes headers for servo motor connections.

Common Applications

  • Robotics and automation projects
  • Motorized vehicles (e.g., cars, boats, or drones)
  • Conveyor belt systems
  • CNC machines and 3D printers
  • Home automation systems
  • Educational projects for learning motor control

2. Technical Specifications

The following table outlines the key technical details of the Arduino A000079 Motor Shield:

Specification Details
Manufacturer Arduino
Part Number A000079
Motor Driver IC L298P dual full-bridge driver
Operating Voltage 5V (logic)
Motor Supply Voltage 5V to 12V (external power supply required for motors)
Maximum Motor Current 2A per channel (peak)
PWM Frequency Up to 20 kHz
Number of DC Motors 2 (independent control)
Number of Stepper Motors 1 (bipolar or unipolar)
Servo Motor Support 2 servo motor headers (powered by Arduino's 5V pin)
Communication Uses Arduino pins D3, D5, D6, D9, D10, D11, and D12 for motor control
Dimensions 68.6 mm x 53.4 mm (fits standard Arduino form factor)
Weight 28 g

Pin Configuration and Descriptions

Pin Description
D3 PWM control for Motor A
D5 PWM control for Motor B
D6 Direction control for Motor A
D9 Direction control for Motor B
D10 Brake control for Motor A
D11 Brake control for Motor B
D12 Current sensing for Motor A
Servo 1 Header for Servo Motor 1 (powered by Arduino's 5V pin)
Servo 2 Header for Servo Motor 2 (powered by Arduino's 5V pin)
Vin/GND External power supply input for motors (5V to 12V)

3. Usage Instructions

Connecting the Motor Shield

  1. Stack the Shield: Place the A000079 Motor Shield on top of your Arduino board, ensuring the pins align correctly.
  2. Connect Motors:
    • For DC motors, connect the motor wires to the MOTOR A and MOTOR B screw terminals.
    • For stepper motors, connect the four wires to the MOTOR A and MOTOR B terminals as per the motor's datasheet.
    • For servo motors, plug the servo connectors into the Servo 1 and Servo 2 headers.
  3. Power the Motors:
    • If your motors require more power than the Arduino can provide, connect an external power supply (5V to 12V) to the Vin and GND terminals on the shield.
  4. Upload Code: Use the Arduino IDE to upload motor control code to your Arduino board.

Important Considerations

  • External Power Supply: Always use an external power supply for motors to avoid overloading the Arduino board.
  • Current Limits: Ensure the motors do not exceed the 2A per channel limit of the L298P driver.
  • Heat Dissipation: The L298P driver may heat up during operation. Consider adding a heatsink for prolonged use.
  • Pin Conflicts: The shield uses specific Arduino pins (D3, D5, D6, D9, D10, D11, and D12). Avoid using these pins for other purposes in your project.

4. Example Code

Below is an example code snippet to control two DC motors using the A000079 Motor Shield:

// Example: Controlling two DC motors with the Arduino Motor Shield (A000079)

// 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 to forward
  analogWrite(motorA_pwm, 128);   // Set speed (0-255, 128 = 50%)

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

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

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

  delay(1000);  // Wait for 1 second before repeating
}

5. Troubleshooting and FAQs

Common Issues and Solutions

Issue Possible Cause Solution
Motors not running No external power supply connected Ensure the external power supply is connected to the Vin and GND pins.
Motors running in the wrong direction Incorrect wiring or direction pin setting Reverse the motor wires or adjust the direction pin logic in your code.
Shield overheating Excessive current draw from motors Use motors within the 2A per channel limit or add a heatsink to the L298P IC.
Servo motors not working Insufficient power from Arduino's 5V pin Use an external power supply for the servo motors if needed.
Arduino not responding Pin conflict with other components Ensure the shield's pins (D3, D5, D6, D9, D10, D11, D12) are not reassigned.

FAQs

  1. Can I control more than two DC motors with this shield?

    • No, the shield is designed to control up to two DC motors or one stepper motor. For more motors, consider using additional motor shields or drivers.
  2. What is the maximum voltage I can supply to the motors?

    • The shield supports motor supply voltages between 5V and 12V. Exceeding this range may damage the shield.
  3. Can I use this shield with an Arduino Mega?

    • Yes, the shield is compatible with the Arduino Mega. However, ensure the pins used by the shield are not reassigned in your project.
  4. Do I need a separate library to use this shield?

    • No, the shield can be controlled using standard Arduino functions like digitalWrite() and analogWrite(). However, libraries like the AFMotor library can simplify complex motor control.

This documentation provides a comprehensive guide to using the Arduino A000079 Motor Shield. Whether you're a beginner or an experienced user, this shield is an excellent tool for motor control in a wide range of projects.

Explore Projects Built with A000079 Motor Shield

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 Nano-Based Remote-Controlled Dual Motor System with LiPo Battery
Image of nano shield zkbm1: A project utilizing A000079 Motor Shield in a practical application
This circuit is designed to control two GM25 DC motors using a ZK-BM1 10A motor driver, which is managed by a NANO Shield Board. The NANO Shield Board receives input signals from an R6FG receiver and is powered by an 11.1V LiPo battery.
Cirkit Designer LogoOpen Project in Cirkit Designer
Bluetooth-Controlled Robotic Vehicle with Adafruit Motor Shield
Image of motor: A project utilizing A000079 Motor Shield 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
Bluetooth-Controlled Robotic Car with L293D Motor Driver and HC-05 Module
Image of Bluetooth: A project utilizing A000079 Motor Shield in a practical application
This circuit is a Bluetooth-controlled motor driver system using an L293D driver shield and an HC-05 Bluetooth module. The system controls four hobby motors, allowing for forward, backward, left, and right movements based on commands received via Bluetooth.
Cirkit Designer LogoOpen Project in Cirkit Designer
L293D Motor Driver Shield-Based Autonomous Robot with IR and Ultrasonic Sensors
Image of Robo: A project utilizing A000079 Motor Shield in a practical application
This circuit is designed to control four DC motors and a micro servo using a DRIVER SHIELD L293D. It also includes two IR sensors and an ultrasonic sensor for obstacle detection and distance measurement.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with A000079 Motor Shield

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 nano shield zkbm1: A project utilizing A000079 Motor Shield in a practical application
Arduino Nano-Based Remote-Controlled Dual Motor System with LiPo Battery
This circuit is designed to control two GM25 DC motors using a ZK-BM1 10A motor driver, which is managed by a NANO Shield Board. The NANO Shield Board receives input signals from an R6FG receiver and is powered by an 11.1V LiPo battery.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of motor: A project utilizing A000079 Motor Shield 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 Bluetooth: A project utilizing A000079 Motor Shield in a practical application
Bluetooth-Controlled Robotic Car with L293D Motor Driver and HC-05 Module
This circuit is a Bluetooth-controlled motor driver system using an L293D driver shield and an HC-05 Bluetooth module. The system controls four hobby motors, allowing for forward, backward, left, and right movements based on commands received via Bluetooth.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Robo: A project utilizing A000079 Motor Shield in a practical application
L293D Motor Driver Shield-Based Autonomous Robot with IR and Ultrasonic Sensors
This circuit is designed to control four DC motors and a micro servo using a DRIVER SHIELD L293D. It also includes two IR sensors and an ultrasonic sensor for obstacle detection and distance measurement.
Cirkit Designer LogoOpen Project in Cirkit Designer