Need help with 9 servos.

Hi. I'm new to Arduino and I need some help with wiring up nine servos to an ardunino Uno. I really don't have any experience since this is my first time using Arduino and I would appreciate the help.

Start by reading this

and this

and this

Then this

After you read the introductory stuff, next realize you cannot power 9 servos from the
Arduino board directly, and must provide a separate external power supply, such as a
series pack of 4 or 5 AA battery cells, or something else 4.8-6V at 2-3 Amps or more.

Some code and info that might be of interest.

//zoomkat 11-22-12 simple delimited ',' string parse 
//from serial port input (via serial monitor)
//and print result out serial port
//multi servos added 

String readString;
#include <Servo.h> 
Servo myservoa, myservob, myservoc, myservod;  // create servo object to control a servo 

void setup() {

  //myservoa.writeMicroseconds(1500); //set initial servo position if desired

  myservoa.attach(6);  //the pin for the servoa control
  myservob.attach(7);  //the pin for the servob control
  myservoc.attach(8);  //the pin for the servoc control
  myservod.attach(9);  //the pin for the servod control 
  Serial.println("multi-servo-delimit-test-dual-input-11-22-12"); // so I can keep track of what is loaded

void loop() {

  //expect single strings like 700a, or 1500c, or 2000d,
  //or like 30c, or 90a, or 180d,
  //or combined like 30c,180b,70a,120d,

  if (Serial.available())  {
    char c =;  //gets one byte from serial buffer
    if (c == ',') {
      if (readString.length() >1) {
        Serial.println(readString); //prints string to serial port out

        int n = readString.toInt();  //convert readString into a number

        // auto select appropriate value, copied from someone elses code.
        if(n >= 500)
          Serial.print("writing Microseconds: ");
          if(readString.indexOf('a') >0) myservoa.writeMicroseconds(n);
          if(readString.indexOf('b') >0) myservob.writeMicroseconds(n);
          if(readString.indexOf('c') >0) myservoc.writeMicroseconds(n);
          if(readString.indexOf('d') >0) myservod.writeMicroseconds(n);
          Serial.print("writing Angle: ");
          if(readString.indexOf('a') >0) myservoa.write(n);
          if(readString.indexOf('b') >0) myservob.write(n);
          if(readString.indexOf('c') >0) myservoc.write(n);
          if(readString.indexOf('d') >0) myservod.write(n);
         readString=""; //clears variable for new input
    else {     
      readString += c; //makes the string readString

I wont rant about the poor search system on this site, but just point you to a post where a long time ago I helped someone else with this problem - lots of servos.

must provide a separate external power supply, such as a
series pack of 4 or 5 AA battery cells, or something else 4.8-6V at 2-3 Amps or more.

Assuming standard servos, but the OP hasn’t said what they are. If they are micros like these then 3V can be enough.

@holahola, you might find it useful to do some tests to find the current draw by your servo… some of the servo datasheets are strangely silent on that. Simple test is to hook one servo up with an ammeter in series, and run it from a sketch like sweep then grab the servo in one hand and the horn in the other and slow it down to a stop or almost. Watch the ammeter and see what the max current is- then you can multiply that by 9 and see what you worst-case current requirement might be.

Thanks everyone for your help. My robot works now.

My robot works now.

Excellent news....We await pix of your 9-servo robot!