Arduino Current Consumption -- Uno/ProMini 5V

There is an FAQ that was created from an old topic (now Read Only) on this subject, that fails to properly cover the issue:

http://forum.arduino.cc/index.php?topic=5536.0

It doesn't take into consideration outputs driving things, and what the maximum current load case might be.

[u]So, permit me to elaborate:[/u]

First I programmed an Arduino Pro Mini (5Volt) with the following minimal sketch:

#define LED 13

void setup() {
  pinMode(LED, OUTPUT);    // Just to make sure ;)
  digitalWrite(LED, LOW);  // Permanently turn off the LED on pin 13
}

void loop() {
  // Endlessly do nothing!
}

With this running, I get 17mA. A look at the ATmega328/P datasheet (Figure 34-2) shows, for a 16MHz clock and a VCC of 5V, the active current is expected to be slightly less than 10mA. And, the remaining 7mA is probably the Power Indicator LED. Tables 34-1 and 34-2 list current levels for various internal modules which contribute a small amout of current.

If I turn on the Pin 13 LED, I get a current reading of 20mA:

#define LED 13

void setup() {
  pinMode(LED, OUTPUT);    // Just to make sure ;)
  digitalWrite(LED, HIGH);  // Permanently turn on the LED on pin 13
}

void loop() {
  // Endlessly do nothing!
}

BUT, that's only part of the equation. When the Arduino outputs go high, they become current sources, and if a load is connected from the output to ground (or to a voltage lower than VCC), this will cause a current draw that will be seen at the VCC pin (or Raw input if that is being used).

Also, if a load is connected to an output and sourced from the +5 pin (i.e. the Arduino is powered via the Raw input), when that output goes low, the Arduino output will sink current and this current will contribute to the overall power draw attributed to the Arduino.

How high can this go? Once again consulting the ATmega328/P datasheet -- Figure 34-22 implies a max sink and source current of 20mA. That's probably a recommended Max because Table 32-1 specifies 40mA as the absolute max. And it's indicated that the overall Maximum current that is allowed to flow in either the Vcc pin or the Gnd pin is 200mA. Beyond that, the manufacturer warns that damage to the device may occur.

So, figure on around 20mA if you aren't driving anything of significance -- for instance you aren't driving bunches of LEDs or relays or servos, etc. In most of those cases, you'll probably be driving such things with transistors and separate power supplies.

Thanks for the discussion.

Is there a question?

Your analysis is correct. Measuring the current on either Vcc or Gnd will still get you the correct power output, assuming that there is no external power supply of some sort involved.

The regulator on the Pro Mini board also wastes a little power. People running on battery and using sleep modes will generally remove the regulator and power LED.