Motor Shield Frequently Asked Questions
How many motors can I use with this shield?

You can use 2 DC servos that run on 5V and up to 4 DC motors or 2 stepper motors (or 1 stepper and up to 2 DC motors)

Can I connect more motors?

No, at this time it is not possible to stack the shield or otherwise connect it up easily to control 4 steppers, for example.

What is the LED for?

The LED indicates motor power. If it is not lit, then the DC/Stepper motors will not run. The servo ports are 5V powered and does not use the DC motor supply

Im trying to build this robot and it doesn't seem to run on a 9V battery....

Please read the user manual for information about appropriate power supplies

Can this shield control small 3V motors?

Not really, its meant for larger, 6V+ motors. In theory you should be able to get it working with 3V motors but I have no information on how to do so or whether it will work

What is the power connector on the shield for? How do I power my motors?

Please read the user manual for information about appropriate power supplies

My Arduino freaks out when the motors are running! Is the shield broken?

Motors take a lot of power, and can cause 'brownouts' that reset the Arduino. For that reason the shield is designed for seperate (split) supplies - one for the electronics and one for the motor. Doing this will prevent brownouts. Please read the user manual for information about appropriate power supplies

What pins are not used on the motor shield?

All 6 analog input pins are available. They can also be used as digital pins (pins #14 thru 20)

Digital pin 2, and 13 are not used.

Digital pin 11: DC Motor #1 / Stepper #1
Digital pin 3: DC Motor #2 / Stepper #1
Digital pin 5: DC Motor #3 / Stepper #2
Digital pin 6: DC Motor #4 / Stepper #2
These pins are in use only if the DC/Stepper noted is in use

Digital pin 4, 7, 8 and 12 are used to drive the DC/Stepper motors via the latch
These pins are in use if any DC/steppers are used

Digitals pin 9: Servo #1 control
Digital pin 10: Servo #2 control
These pins are used only if that particular servo is in use

I get the following error trying to run the example code:
"error: AFMotor.h: No such file or directory...."

Make sure you have installed the AFMotor library

How do I install the library?

Download the latest Arduino library file and uncompress the folder. Place the folder AFMotor into the Arduino/hardware/library folder. That is, find your Arduino install folder, then open up hardware & library and drag AFMotor into it. Inside AFMotor should be a AFMotor.c and AFMotor.h file

I have two stepper motors and I want to run them simulaneously but the example code can only control one and then the other?

The stepper motor library step() routine does not have the ability to run both motors at a time. Instead, you will have to 'interleave' the calls. For example, to have both motors step forward 100 times you must write code like this:

for (i=0; i<100; i++) {
motor1.step(1, FORWARD, SINGLE);
motor2.step(1, FORWARD, SINGLE);
}

What are some 'suggested motors'?

Most people buy motors from surplus shops and no motor will make everyone happy

However, since its a popular question, I suggest buying motors from Pololu (DC Servos, DC motors) or Jameco (all sorts!) As well as the many surplus webshops.

November 3, 2008 23:00