I think I am having input voltage issues I need help with.

I am using an Arduino Uno as a controller for a useless box I am making as a gift. The UNO is controlling 2 servos and one on/off switch.

I have uploaded the file with the sequence of events it is to perform using the USB cable from my laptop to the UNO. When I run the sequence (while still plugged into the laptop USB) everything runs fine. The sequence of events works as it should.

I then remove the USB connection and plug in the 12V AC adapter and when I run the sequence of events, it is very erratic. It skips events, or doesn't complete events or just stops in the middle of an event and sits there doing nothing.

If I go back to using the USB and laptop, all works well again.
Why does it do this?
How can I fix it? Everything I have read says the 12V should be fine. Is that true?

Please advise
Thank you

I guess the servos are rated for 5 or 6V?

The problem is (probably) the Arduino's 5V voltage regulator which can't supply enough current for the motors. When the motors run, the 5V is probably dropping (at least temporarily).

The solution is a separate voltage regulator for the servos (preferably a switching regulator which is more efficient and won't heat-up as much).

OK...I'm confused. Below are the specs of the S3003 servo.

Are you saying that the 12V AC adapter is too much current? I don't know what the current output is on my laptop USB so I have nothing to compare it to.

Speed: 0.23 sec/60° @ 4.8V; 0.19 sec/60° @ 6V
Torque: 44 oz-in (3.2 kg-cm) @ 4.8V; 57 oz-in (4.1 kg-cm) @ 6V
Dimensions: 1.6 x 0.8 x 1.4 in (1-9/16 x 13/16 x 1-7/16 in) (40 x 20 x 36 mm)
Weight: 1.3 oz (37 g)
Connector: "J" type with approx. 5 in lead

If that is true..do they make an AC adapter that is 6V that will work on my UNO?

Can you show us a picture of how the servos are connected? Specifically, where are the servo RED wires hooked up to? If they are connected to the Arduino +5 pin, that is not correct. Servos draw more power than the +5 Volt regulator on the board can supply. DVDdoug gave you the solution to your problem in post #1. You need to provide a separate, regulated +5 Volt, 2 - 3 Amp power source for the servos.

Are you saying that the 12V AC adapter is too much current?

The 12V is too much voltage given the current you are trying to draw. The regulator has to burn up the excess power in terms of heat and it can't do it.


So, is there an AC adapter for the UNO that will work for my application (6V instead of 12V maybe)? Or is there another solution that isn't too complicated that I can use.

Thank you again for your help.

Actually yes Duo, they are plugged into the +5V pin on the UNO. That is what the schematic called for in this project. Maybe I need to find servos that need less power (if there is such a thing).

I guess what confuses me is that when I have it connected to my USB port on my laptop, everything works fine so I would think that just reducing the voltage would solve the issue but I might not have a clue as to what I am talking about! :slight_smile:

I don't know how, where to provide a separate +5V from for the servos.

... I don't know how, where to provide a separate +5V from for the servos.

Here is an easy, and straightforward way:

Be sure that the grounds of both power supplies connect to each other.

Ahhhh ... ok, so I would need two AC adapters. One to power the two servos and the other to power the UNO.

As I said previously, My AC adapter is 12V. If I understand all this correctly, the UNO and the servos only need +5V (separately). Are there 5V AC adapters that work for the UNO?

Thank you for the drawing. That is VERY helpful.

Try a 9V (ot 7.5 if you can find it) adapter for the power jack on the Arduino, and a 5 or 6 volt "wall wart" for the servos. Each servo you have will need 1 amp, so if you find a 6 volt 2 amp wart, it will be able to power two servos at most. Three would mostly still work, but when they fail, it will be at the worst possible time.

OK.. I will try those. Thank you

Understand: nothing "pushes" current into something, "against it's will", as it were. (You spoke of your power supply maybe being "too much current".)

There were hints that you might be stuggling with a misconception many people are hindered by.

Connect something to a voltage, and the resistance of the "something" will determine how much current will flow... IF the power supply can "keep up". A power supply may be labeled "12v", but it only delivers 12v if you don't connect something that wouldn't "draw" (a misleading term!) more than a certain amount of current. After that, the power supply just doesn't deliver the full 12v... and may, by the way, get dangerously hot, and/ or be damaged.

(Next level:) In the above, I said that the "resistance" was key. In simple circuits that's exactly what is key. In other circuits, e.g. ones with capacitors, or things with coils, other effects start to play a role, to, but, as a first approximation, if you think "resistance", you'll be on the right path.

Grab one of your old mobile phone chargers (I bet you have a few floating around your home collecting dust), they are normally 5V output. Can be connected directly to the Vcc/5V pin of the Arduino, and to the servo. Those chargers can often supply 1-2A and that should be enough for small servos (you didn't mention the power draw). A USB type charger also produces 5V.

If you use two such chargers, connect them as in the image in #7. Most important is that you remember to connect all the GND wires.