Powering Motors | Adafruit Motor Shield V2

Skip to main content Adafruit Motor Shield V2 Powering Motors
  • Overview
  • FAQ
  • Install Headers & Terminals
  • Install Software
    • Library Reference
    • Arduino Library Docs
  • Powering Motors
  • Using RC Servos
  • Using DC Motors
  • Using Stepper Motors
  • Python & CircuitPython
    • Python Docs
  • Stacking Shields
  • Resources
  • Single page
  • Feedback? Corrections?
  • Text View
Featured Products view all
  • Angled shot of a Adafruit Motor/Stepper/Servo Shield for Arduino v2 Kit connected to several different steppers and servos. Adafruit Motor/Stepper/Servo Shield for Arduino v2 Kit $19.95 Add to Cart
  • Lit Shot of the Motor party add-on pack for Arduino. Motor party add-on pack for Arduino $39.95 Add to Cart
  • Angled shot of a Stepper motor - NEMA-17. Stepper motor - NEMA-17 size - 200 steps/rev, 12V 350mA $14.00 Add to Cart
  • Angled shot of small Reduction Stepper Motor Small Reduction Stepper Motor - 5VDC 32-Step 1/16 Gearing $4.95 Add to Cart
  • Angled shot of a Small Reduction Stepper Motor. Small Reduction Stepper Motor - 12VDC 32-Step 1/16 Gearing $4.95 Add to Cart
  • DC Toy Hobby Motor DC Toy / Hobby Motor - 130 Size $1.95 Add to Cart
  • Continuous Rotation Servo with three pin cable Continuous Rotation Servo $11.95 Add to Cart
  • Standard hobby servo with three pin cable Standard servo - TowerPro SG-5010 $12.00 Add to Cart
207 Intermediate Project guide 🤖 5

Powering Motors

Motors need a lot of energy, especially cheap motors since they're less efficient.

Voltage requirements:

The first important thing to figure out what voltage the motor is going to use. If you're lucky your motor came with some sort of specifications. Some small hobby motors are only intended to run at 1.5V, but its just as common to have 6-12V motors. The motor controllers on this shield are designed to run from 5V to 12V.

MOST 1.5-3V MOTORS WILL NOT WORK

Current requirements:

The second thing to figure out is how much current your motor will need. The motor driver chips that come with the kit are designed to provide up to 1.2 A per motor, with 3A peak current. Note that the 'peak' rating is for very brief peaks such as during startup.  Peak current levels can only be tolerated for a few milliseconds.  If you will be pushing the 1.2A continuous limit you'll probably want to put a heat-sink on the motor driver, otherwise you will get thermal failure, possibly burning out the chip.

You can't run motors off of a 9V battery so don't waste your time/batteries!

Use a big Lead Acid or NiMH battery pack. Its also very much suggested that you set up two power supplies (split supply) one for the Arduino and one for the motors. 99% of 'weird motor problems' are due to noise on the power line from sharing power supplies and/or not having a powerful enough supply! Even small DC motors can draw up to 3 Amps when they stall.

 

Setting up your shield for powering Hobby Servos

Servos are powered off of the same regulated 5V that the Arduino uses. This is OK for the small hobby servos suggested. Basically, power up your Arduino with the USB port or DC barrel jack and you're good to go. If you want something beefier, cut the trace going to the optional servo power terminal and wire up your own 5-6V supply!

Setting up your shield for powering DC and Stepper Motors

The motors are powered off of a 'high voltage supply' and NOT the regulated 5V. Don't connect the motor power supply to the Arduino's 5V power pin. This is a very very very bad idea unless you are sure you know what you're doing! You could damage your Arduino and/or USB port!

There are two places you can get your motor 'high voltage supply' from.

  1. One is the DC barrel jack on the Arduino board
  2. The other is the 2-terminal block on the shield that is labeled DC Motor Power 5-12VDC.

The DC Jack on the Arduino has a protection diode so you won't be able to mess things up too bad if you plug in the wrong kind of power. The terminal block has a protection FET so you will not damage the arduino/shield if you wire up your battery supply backwards, but it wont work either!Here's how it works:

adafruit_products_mshielddiag.png

If you would like to have a single DC power supply for the Arduino and motors

Say a wall adapter or a single battery pack with 6-12VDC output, simply plug it into the DC jack on the Arduino or the 2-pin power terminal block on the shield. Place the power jumper on the motor shield. Note that you may have problems with Arduino resets if the battery supply is not able to provide constant power, so it is not a suggested way of powering your motor project. You cannot use a 9V battery for this.  Your pack must be able to handle peak current surges from the motors.  Some options are: 4 to 8 AA Alkaline batteries, 5 to 10 NiMH cells, a 7.4v to 11.1v lithium pack or a single/double lead acid battery pack.

If you would like to have the Arduino powered off of USB and the motors powered off of a DC power supply

Plug in the USB cable. Then connect the motor supply to the power terminal block on the shield. Do not place the jumper on the shield.

This is a suggested method of powering your motor project as it has a split supply, one power supply for logic, and one supply for motors

If you would like to have 2 separate DC power supplies for the Arduino and motors.

Plug in the supply for the Arduino into the DC jack, and connect the motor supply to the power terminal block. Make sure the jumper is removed from the motor shield.

No matter what, if you want to use the DC motor/Stepper system the motor shield LED should be lit indicating good motor power

 

Page last edited January 23, 2025

Text editor powered by tinymce.

Library Reference Using RC Servos Related Guides Improve the Low Speed of Brushed DC Motors By Jan Goolsbey intermediate 3D Printed Animatronic Robot Head By Rick Winscot beginner Adafruit Motor Selection Guide By Bill Earl beginner Bluetooth Controlled Motorized Camera Slider By Ruiz Brothers beginner WiFi Controlled Mobile Robot By M. Schwartz beginner All About Stepper Motors By Bill Earl beginner Your browser does not support the video tag. This links to the guide CurieBot: Arduino 101 Mini Robot Rover. CurieBot: Arduino 101 Mini Robot Rover By John Park beginner Improve Brushed DC Motor Performance By Jan Goolsbey intermediate CircuitPython Hardware: PCA9685 DC Motor & Stepper... By Tony DiCola intermediate Motorized Camera Slider MK3 By Ruiz Brothers intermediate Adafruit DS1841 I2C Logarithmic Resistor By Bryan Siepert beginner Your browser does not support the video tag. This links to the guide Best Beginner Boards for Teachers. Best Beginner Boards for Teachers By Kathy Ceceri beginner Adafruit AS7341 10-Channel Light / Color Sensor... By Bryan Siepert beginner Adafruit EYESPI Pi Beret By Kattni Rembor beginner Adafruit MPR121 12-Key Capacitive Touch Sensor Gator... By Kattni Rembor beginner
Create Wishlist
× Title Description Close Search Search
Categories

Tag » Arduino 9v Motor Control