Here’s how to work it out:

First you need to know how much current your Arduino uses when it’s running your program. You can measure this or you can make a guess. A standard Uno will use about 100mA, depending on if you are lighting any LEDs. Then add the current required by the servo. (Thanks for the helpful link.) It can use anything between 5mA and 3200mA. I can already tell you that’s not going to work but let’s just use the “running at no load” current of 300mA to do some calculations and see why it’s not going to work.

So total current so far is 400mA. If we look at the basic specification for the 5V regulator on the Uno, it claims to be able to supply 1000mA so we should be OK right? No, we are not OK.

The “problem” is that this is a **linear regulator** The current output equals the current input (minus some insignificant losses.) So to produce 400mA output at 5V it needs 400mA input at 12V. Remember that energy is conserved - we can’t create or destroy energy. So let’s work out how much power is going in and how much power is going out.

400mA * 5V = 2000mW

400mA * 12V = 4800mW

There’s a 2800mW (milliwatt) difference between input and output. Were does that power go? Well, it has to be turned into heat in the regulator. 2800mW is going to make that little regulator very hot indeed.

So to determine how hot it’s allowed to get, we need to go to the datasheet for the regulator. You would think that this specification would be one of the important ones on the Arduino Uno product page but it isn’t. You have to open up the PDF schematic, find the regulator and then type its part number into your favourite search engine. NCP1117ST50T3G is the part. Here is its datasheet.

Hmmm… it has a table of “absolute maximum ratings” and it says it has a maximum power dissipation but it doesn’t give you a number. It gives a formula to work it out based on the ambient temperature. Plugging in an assumed temperature inside your box of 35 degrees C, then the maximum power dissipation is 875mW A long way from the 2800mW required!

That’s why so many people have problems running the Uno off 12V. It can just run by itself but as soon as you add an LCD screen or a few LEDs, then it overheats the regulator.

Remember this was starting from an unrealistic assumption about the servo power. You need to find a 12V to 5V converter capable of providing the full 3200mA (3.2A) plus some headroom over that. Looking at Pololu’s regulator page we can see that they have a few for 3.5A or more. These are all “switching” regulators, which means current out is not equal to current in. The efficiency column tells you how much power is converted into heat - much less than the linear regulator which would show worse than 40% efficient in this application.