5

I have both an Arduino Uno and an Arduino Nano but I can't decide which one to use for my project. My aim is to maximize battery lifetime. I have also implemented an 8-second watchdog timer to periodically sleep and wake up the ATMega328P.

  • Option 1: Arduino Uno R3 + DHT11 sensor: The board is powered on by 4 * 1.25V (2700 mAh) Nickel Metal Hydride batteries and the 3.3V output voltage of the Arduino is supplied to VCC of DHT11. (Arduino Uno specification DC Current per I/O Pin 40 mA, DC Current for 3.3V Pin 50 mA).

  • Option 2: Arduino Nano + DHT11 sensor. The board is powered on by 4 * 1.25V (2700 mAh) Nickel Metal Hydride batteries and the 3.3V output voltage of the Arduino is supplied to VCC of DHT11. (Arduino Nano specification: DC Current per I/O Pin: 40 mA but NO information for DC current for 3.3V or 5V).

I would like to know which one will be more power-efficient.

7
  • DHT11 can work from 5V. Why did you choose 3.3V?
    – AltAir
    Dec 28, 2017 at 23:58
  • DHT11 works for both. What difference it makes if 5V is used? Dec 29, 2017 at 0:01
  • Voltage regulator at 3.3 volts dissipates part of the energy. What battery lifetime do you have? What do you want to achieve?
    – AltAir
    Dec 29, 2017 at 0:13
  • Both these boards draw a lot of extra current due to LEDs, regulators, etc. An alternative solution is to simply turn the board on/off: electronics.stackexchange.com/questions/266716/… Dec 29, 2017 at 0:13
  • I am currently using Arduino Uno and running overnight successfully. With 2700 mAh batteries, I expect will last more than 3 days but I found in many forums sleeping only ATmega328p with watchdog timer of 8s will not save much power. How much do you think battery life time will be? So let's say I power using only battery and deploy in a place where NO power mains is available, it is going to last only 3 to 4 days?? This is a MAJOR issue I am facing. Dec 29, 2017 at 0:16

2 Answers 2

12

A Uno which isn't doing anything useful except being turned on will use about 50 mA of current from the power jack at 9V.

If you use 3 x alkaline AA batteries (giving a nominal voltage of 4.5V) directly into the 5V pin of the Arduino then you might get 2500 mAh which would be 50 hours at 50 mA per hour.

You can save a considerable amount of power by using sleep modes as I describe on my page about power. It also helps to use a bare processor (no voltage regulator, no LEDs).

I made a temperature and humidity sensor which runs from 3 x AA batteries. Using sleep mode, plus various other techniques, that is running for over a year without needing new batteries.


I would like to know which one will be power efficient?

Both the Uno and the Nano use the same Atmega328P processor. Thus the technical considerations would be the same. Both have a voltage regulator and a "power on" LED which alone would use a lot of current, compared to everything else.


It's not that hard to make a minimal board. I have a page about doing that. Example of all you need:

Minimal Arduino


If you use a deep sleep mode, combined with using the watchdog timer to wake every 8 seconds (and check the time, say every 10 times it wakes) you can reduce power consumption right down.

My temperature sensor uses an average of 42 µA which is a lot less than 50 mA. (A thousand times less). Thus your 50 hours run time becomes 50,000 hours which is 2083 days. Your batteries will probably self-discharge sooner. :)

9
  • Thank you for your detailed answer. Just a quick question: how do we supply 3.3 v or 5 v to temperature sensor because we will remove the voltage regulator from the chip? Can we use ftdi adapter which gives 3.3v or 5v output? Dec 29, 2017 at 5:47
  • In that case will FTDI adapter too NOT consume current? Dec 29, 2017 at 5:54
  • Well, if you are powering the processor you can power the temperature sensor, can't you? Did you read my page about my temperature sensor?
    – Nick Gammon
    Dec 29, 2017 at 6:06
  • Yes. I read it. It seems you are powering the processor and temperature sensor sensor with FTDI? Correct me if I am wrong. My question is: does FTDI not pull the current from battery like voltage regulator of other arduino boards do?I agree we can get rid of led power consumption. Dec 29, 2017 at 6:30
  • No, I am powering them from a battery. The FTDI connection is just for reprogramming it.
    – Nick Gammon
    Dec 29, 2017 at 6:36
1

Don't use either use something with no USB, regulator - e.g. Pro Mini (run from 3.3V)

Just running the Arduino (or indeed most digital circuitry) from a lower voltage will already reduce power consumption - admittedly at a slight cost in processor speed. The Atmega328P will run at 12MHz on 3.3V, although the Pro Mini uses the more conservative 8MHz.

5
  • I thought of using pro mini but I found that I have to work on making circuit as pro mini is not much user friendly (in terms of loading code etc) than Arduino nano and uno. Also pro mini does not give output voltage 3.3V or 5V which can be supplied to DHT11 vcc pin easily. So Dec 29, 2017 at 0:34
  • I found more work to be done from HW side. I am not good at HW making as my background is programming only. Dec 29, 2017 at 0:37
  • Can we supply Vcc of pro mini to DHT11 vcc? Dec 29, 2017 at 0:42
  • yes, run it all from 3.3v, using a dc-dc buck (smps) to get 3.3v instead of an LDO
    – dandavis
    Dec 29, 2017 at 5:25
  • @JyotiRajSharma You miss my point - run the Pro Mini from 3.3V, and use the same source to run your peripherals, avoiding any lossy linear regulators. It really isn't that hard to use a USB-serial dongle to program (which is done when connected to computer) rather than a power hogging on-board converter you aren't using.
    – Milliways
    Dec 29, 2017 at 7:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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