I want to measure the power consumption not in theory but in time (after one day of use).

I don't have equipment to measure the power consumption but I have a battery charger that reports mA charged and "arduino" devices that report voltage.

Can I use the batteries, then charge them to measure the power consumption according to the indication from battery charger? Voltage measurement is more accurate or neither methods are acceptable of good estimate for battery life? My device I will hope to draw less than 1mA

Here real data from a device at ~25mA (according to data sheet) and battery capacity 2400mA (NiMH - eneloop type, low self-discharge)


uptime  Voltage
 0d0h    4.3 (start)
 0d0h    4.15
 0d1h    4.12
 0d2h    4.08
 0d3h    4.04
 0d4h    4.02
 0d5h    4.01
 0d6h    3.99

Device at ~1mA (according to data sheet) and battery capacity 350mA (LiPo) (I can't measure the mA of charging in this device)

 0d0h    4.19 (start)
 0d2h    4.02
 0d3h    4.02
 0d5h    4.01
 0d6h    4.01
 0d7h    4.01
 0d8h    4.01
 0d9h    4.01
 0d10h   4.01
 0d11h   4.01
 0d12h   4
 0d13h   4
 0d14h   4
 0d15h   4
 0d16h   4
 0d17h   4
 0d18h   4
 0d19h   4
 0d20h   4
 0d21h   4
 0d22h   4
 0d23h   3.99
 1d0h    3.99
 1d1h    3.99
 1d2h    3.99
 1d3h    3.99
 1d4h    3.99
 1d6h    3.98
 1d7h    3.98
 1d8h    3.98
 1d9h    3.98
 1d10h   3.98
 1d11h   3.98
 1d12h   3.98
 1d13h   3.98
 1d14h   3.98
 1d16h   3.98
 1d17h   3.97
 1d18h   3.97
 1d19h   3.97
 1d20h   3.97
 1d21h   3.97
 1d22h   3.96
 1d23h   3.96
 2d0h    3.96
 2d1h    3.96
 2d2h    3.96
 2d3h    3.96
 2d4h    3.96
 2d5h    3.96
 2d6h    3.96
 2d8h    3.96
 2d9h    3.96
 2d10h   3.95
 2d11h   3.95
 2d12h   3.95
 2d13h   3.95
 2d14h   3.94
 2d16h   3.94
 2d17h   3.94

According to Voltage we have a clear indication in 6 hours that the first device draws more power, but can I measure for battery prediction?

I know that chargers check the voltage to stop / start charging e.t.c. but the mA measurement is reliable / accurate?

  • \$\begingroup\$ Your statement is confusing: you mention an Ni-MH cell information, but then list Li-Ion cell voltages. Which one is it? \$\endgroup\$ Apr 24, 2020 at 8:04
  • \$\begingroup\$ @EdinFifić sorry, different devices, different batteries e.t.c. Let's called device A (sheet ~25mA, NiMH, 2200mA), device B (sheet ~1mA, LiPo, 350mA). I can change the batteries, but I already began measurements / testing. \$\endgroup\$
    – krg
    Apr 24, 2020 at 8:22

1 Answer 1


Your theory is a OK, but here are the issues with Ni-MH cells you need to be aware of:

1.) Whatever the energy (mAh) you put into an Ni-MH, it will have to be around 150% of its rated capacity because its charging efficiency is around 66%-70% (2/3 actually go into the cell, 1/3 is wasted).

2.) The self-discharge of the Ni-MH cell would not be an issue if you are testing its capacity with a larger current, but with small currents on the order of a few mA or less, the self-discharge rate will significantly skew your results; the lower the load current, the larger the error of your method.
To quote Wikipedia:"The self-discharge is 5–20% on the first day and stabilizes around 0.5–4% per day at room temperature. But at 45 °C it is approximately three times as high."

There are low self-discharge Ni-MH cells that hold their charge significantly longer, but they have a slightly lower capacity. I think that for your scenario where the power draw is fairly low, their long-time useful capacity would actually turn out to be higher than that of the standard ones, so they would be better for your use (also, the longer periods between charges and thus fewer cycles per year will result in a longer lifetime).
They retain about 70-85% of their charge after being stored for one year at 20°C, while the regular ones only retain about 50%.

  • Li-Ion cells are much more efficient - about 95%+ charge efficiency, and 1.5-2% self-discharge per month (vs. up to 30% per month for standard NiMH), but the low self-discharge NiMH batteries now lose only about 0.08–0.33% per month, according to Wikipedia.
  • In short, your method might be OK if you used a high-drain load which would discharge the battery within a few hours, but the longer it takes to discharge, the larger the error in your estimated capacity.
    The best method is to charge a cell fully (to around 1.5-1.6V) and then discharge at a fairly constant current (could use a resistor while assuming the average voltage of about 1.25V) which would discharge the cell in no more than 3-10 hours down to around 1.0V (~1.0V is taken as empty with no load or very light load, ~0.9V when under some "average" load).

  • Another method to use, since you have Arduino devices which "report" voltage(s) is to place a known value resistor (of sufficient power) of a low value in series with your device and measure the voltage across it: the voltage divided by the resistance will give you the current. You would need a voltage source high enough to account for the resistor voltage drop and provide your device with the needed voltage, but you would risk damaging the device. If your Arduino devices can show low voltages (less than 1V), it would help greatly.

  • \$\begingroup\$ Thank you, didn't knew #1 Forgot to write: eneloop type NiMH. (Edited with specs - they don't write about self-discharge :( ) 2. According to [gammon.com.au/power] the self-discharge is low 1mA. And if my devices matches the self-discharge of the battery, I have success. :-) So can I: 1. Charge batteries 2. Leave them one day off 3. Use them 4. Charge them and substract 1/3 of mA charged? 2b. Alternative: What if leave them on day off (or more) and to recharge them to calculate self-discharge? \$\endgroup\$
    – krg
    Apr 24, 2020 at 9:43
  • \$\begingroup\$ If no other method is available to you, you should try all of those, in this order: 1.) charge them up, leave them for a day (24 hours); 2.) charge them and note the mAh used to charge; 3.) now use them with your load for 24 hours; 4.) charge again and note the mAh used to charge. The difference between this (4th) step and the 2nd step should indicate your average current consumption in mA. \$\endgroup\$ Apr 24, 2020 at 19:09
  • \$\begingroup\$ Thanks! Allready started second run and the drop voltage is so low that I am expecting ~1mA consumption. But I will verify with the charger. Just saw your last bullet. To much creative / scary for me. I am newbie on electronics and my device is expensive, but your suggestion seems the best. Will keep it in mind when I buy modular arduino with replaceable parts! \$\endgroup\$
    – krg
    Apr 24, 2020 at 21:22
  • \$\begingroup\$ The last suggestion method is almost always done with a very low resistance so that the voltage drop is negligible, so I wouldn't really suggest it if your Arduino voltmeter can't show voltages lower than 1V. Normally, such voltage (across the current sense resistor) is actually kept at less than 100mV. \$\endgroup\$ Apr 25, 2020 at 9:04

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.