I am currently running 6 servo motors using the arduino uno and the output is very inconsistent. The code accepts a text input using the IDE and based on the text, outputs certain positions on the motors. Basically, sometimes it works, sometimes it doesn't, even when giving it the same input twice in a row. When I run it with 3 motors, it works perfectly every time and there is no issue.
The servos i am using are the sg90 micro servo. I have them all powered using the 5V ports on the board. So, I'm not sure if there is maybe an issue with using all the 5V ports on the board at once? Perhaps I should be powering the board in a different way?
The motors are connected to a gear train, and so have a small load on each motor.
Servos should always have a separate power supply. The 5V pins on the Arduino cannot reliably provide nearly enough current even for a single servo. You run a real risk of damaging the board.
4 x AA rechargeable batteries (Eneloop or similar) would be good.
For 6 servos you should be budgeting upto 6A, beyond even AA's. If only one moves at a time the max
current draw will be less, but if you want to move all at once 6A is about the minimum you'll get away with.
SG90 stall current is only 650mA so that's <4A for 6. NiMH rechargeable AAs can handle that easily though cheap spring-loaded battery holders still might have problems.
I have taken measurements on cheap SG90 clones and I have never seen a current as high as 650mA. I'm not sure that they every went above 150mA and unless they are all being required to move a heavy load at the same time I reckon AA alkaline cells will be fine, although NiMh cells have a much greater current capability.