So, I have a 5V Arduino Pro Mini, which is running the logic behind a multi-DHT22 sensor array, and using that input to control a 12v 24mm fan (12v, 0.16 A).

This is currently a working board on an Arduino Nano with two separate power supplies (1 to USB, 1 to fan). I want to simplify it and make a more permanent installation.

What I'm keen to do is something like the following:

Wall Wart (12v, 500mA) ------------------------> Relay -> Fan
                \ (1) -> Arduino Pro Mini @5V -> /

In order to power the Arduino efficiently at 5V, and avoid drawing power all the time (i.e. when the Arduino is asleep), is the best way to apply a Linear (or Switching) Regulator with minimal burn when idle at (1) in the diagram, and power the Pro via its VCC line, or is it better to just run via the internal regulators and RAW?

Will this actually just generate a high burn whenever the arduino is on to convert the 12v-5v? What is the most power efficient approach here?

  • 1
    Can you see what's the part number of the regulator on the Mini? You can then loop up the Quiescent current (sometimes called bias current) of that part. But my guess is it's negligible. Also note that the arduino is only using around 5mA, so that is only 60mW of power. Even if the quiescent current of the regulator is 5mA, you only use 0.12W. If you want to safe power, it think you could better use a mosfet instead of a relay to switch the fan (as relays use quite a bit of power to keep energized). This also means you can PWM the fan, so you can have basic speed control. – Gerben Feb 27 '15 at 14:25

If you want to minimize power usage, the best thing would be to start with devices that use more power! :D

It's time for math! I'm going to use the generic L7805CV 5V, 1A linear regulator. Poking in the datasheet, we find that the quiescent (standby) current is max of 6 mA. I'm assuming this power drawn is 12V, not 5V.

Since a linear regulator is basically a variable resistor, we can figure out that the efficiency is:

Vout / Vin

...thus, our efficiency in this application is...

5V / 12V = 0.416666667% efficiency

... Read more here.

So, we can use the inverse of the efficiency function (Vout / VinVin / Vout) to establish the amount of power it'll use. Final equation:

Power Used (W) = (12V / 5V) * Current Draw + (0.006A * 12V)

...which simplifies to:

Power Used (W) = 2.4 * Current Draw + 0.072 W

So, all we need to find is the power consumption of the Arduino. This forum post states the power consumption of different sleep modes:

  • SLEEP_MODE_ADC: 6.5 mA

Let's give the Arduino a generous 15mA to sleep:

Power Used (W) = 2.4 * 0.025 + 0.072 W = 0.132 W

So, 132 milliwatts, idle. A bit further, we can calculate that, if your wall wart has an efficiency of 10%, it will actually draw 1.32 W from your wall socket. Using a general cost per killawatt hour ($0.125), we can calculate that it will cost you about $1.45 a year for that Arduino to be ran in sleep mode 24/7 (given that we used the maximums for everything).

It's pretty cheap, so I wouldn't worry about that power. A good switching regulator will cost more than to run it for a few years with a linear regulator. I'd use the onboard one.

If you still want to optimize things, the wall wart or the fan should be looked at first. Consider getting a switching wall wart instead; this will give you a higher return on your investment since both the fan and the logic use this.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.