# App showing battery charge based on its voltage

I have a xt894 with Android 4.3.

I bought an extended 3800mAh battery (Mugen) but the droid doesnt recognize it properly.

I tested a couple of battery manager apps, but I dint find what I am looking for.

I would like to know the name of an app that shows the current battery charge based on its voltage

There is no app that does that, and there never will be, because it is impossible. The voltage of a battery does not tell you how much charge a battery has, nor does any other characteristic of the battery. Battery voltage does drop as capacity drops, but the voltage drop is a function of the percentage of charge, not amount of charge.

It is impossible to directly determine the amount of charge in a battery at a given point in time, by voltage or any other means. Battery capacity tests can only be conducted by spending the battery charge, and measuring it as it is used up. The test doesn't tell you how much charge the battery currently had at any given point in time; it tells you at the end how much charge the battery had at the beginning. I suppose a smart aleck might say that at the end of the test you know how much charge the battery has at that point in time, because that charge is zero. However, you're still not determining that by measuring the charge directly; you're measuring the current, and inferring zero charge based on zero current.

It should theoretically be possible to design an app that estimates capacity by conducting a drain test, but I haven’t been able to find such an app. Maybe that’s because it would be a major pain to run the test. The test would need to start with the battery fully charged and run until it is fully drained, and in order for the test to be accurate you would need to leave the device idle for the duration of the test.

The best method I can think of to estimate battery capacity is to compare the drain rate of the stock battery (or any other battery whose specs you trust as a baseline) to the drain rate of the battery you want to measure, under circumstances that are as similar as possible.

I'm not sure exactly how Android measures the battery percentage. I've read in unofficial sources that it's supposedly based on current and/or voltage, but I've also read that due to the nearly flat voltage vs. charge percentage curve, voltage is not sufficient for determining the charge percentage of lithium ion batteries, and other characteristics need to be used, possibly in combination. In any case, I recommend starting the test from the same percentage charge for both batteries and near the middle of the range, due to the fact that some of the characteristics that can be used to estimate charge percentage (such as the voltage) have a non-linear relationship to the charge percentage, and the curve tends to be flattest near the middle.

Step by step:

1. Insert the reference battery (whose capacity rating you trust) and power up the device.
2. Set the timer for 1 hour, or some amount of time during which you expect that the battery will drain at least 20% but no more than 50%. You it to be enough to produce granular results where rounding errors won’t significantly throw it off, but no so much that you’ve almost depleted the battery and entered the steep part of the voltage curve.
3. To reduce the number of variables that can impact the power drain, run the test after a restart, turn off all network connections (airplane mode), and make sure the screen brightness is constant (by disabling automatic adjustment and screen timeout, or making sure the screen is off for the duration of the test. Running a high drain app can help get more significant results more quickly. However, to ensure that you’re reproducing the same drain rate for both batteries, choose an app with a constant rate of power usage (such as an LED flashlight app). Don’t run any other apps or interact with the device for the duration of the test.
4. Drain it to 75%. The moment it reaches 75%, start the timer.
5. When time runs out, check the battery percentage.
6. Power off, and repeat the test using the extended battery, (make sure you use the same charger and same amount of time, of course).
7. Divide the change in percentage for the extended battery by the change in percentage for the baseline battery and multiply by the baseline battery’s capacity.

For example, running my Galaxy S4 for one hour, in airplane mode with the LED flashlight, on, the screen brightness at maximum, and the timer app displayed, starting from 75% charge, the stock battery drains to 39%, and my Deep Stretch DPS430 extended battery drains to 52%. The stock battery’s capacity is 2600 mAh. So, to estimate the extended battery’s capacity based on how its drain compares to the stock battery:

``````(75 - 39) / (75 - 52) * 2600 = 4070
``````

To my surprise, that was actually pretty close to the stated capacity of 4280 mAh (keeping in mind that the test isn’t perfect, and is subject to rounding errors. In this case rounding errors could throw off the results by up to ~110 in either direction, so the actual result really should be stated as “approximately 3960 to 4180 mAh”.)

• Hi, I didnt forget, I read your post quickly, not so much time right now, however even as percentile function would be nice, anyway thanks for your answer Commented Jan 20, 2015 at 13:31

VBatt does this work best for me. It allows you to display widget that shows the current battery charge based on its voltage. App description says

Vbatt is a simple battery widget for Android smartphones and tablets. It displays the current battery voltage (Vbatt) and the remaining battery capacity (percentage) and optionally logs these values to a CSV-file.

For testing and benchmarking Vbatt provides a JBox2D** based discharger, which drains the battery and displays the clock and runtime and for CPU benchmarking the simulation frequency.

• Good find. However, the correctness of results may be impacted by a) Simulation testing b) (from app description) The upper and lower limits of the voltage bar graph are configurable because especially the lower limit (power off voltage) considerably varies from device to device and according to the battery load- to fix this I guess you would need to run app first with a new battery to arrive at lower limit correctly. It would enhance the value of answer if you can run a couple of tests showing predicted/actual values Commented Mar 20, 2016 at 15:55

There is no app that does that, and there never will be, because it is impossible. The voltage of a battery does not tell you how much charge a battery has, nor does any other characteristic of the battery.

That's not true, Battery Monitor Widget Pro has an option to choose "Calculate battery level from voltage". There are all kinds of battery meters that use voltage to measure charge condition. Admittedly it isn't as accurate as coulomb counting. However, a coulomb counter off calibration will mislead you more than voltage, and thus many modern day designs incorporate both.

It depends a lot on battery technology if voltage can be used to check the charge level. Lithium, which is what we are talking about here, works reasonably well with voltage sensing. NiCD and NiMH don't work well at all. Etc.

You could read more on BatteryUniversity for details and a graph of volt vs charge level for lithium.

• It's absolutely true. It sounds like either you're misunderstanding what those graphs mean, or you only read those first two sentences of my answer. Your use of the ambiguous terms "charge level" and "charge condition" blur the key distinction that I explained in the third sentence: voltage correlates to percentage of charge, not amount of charge. The graphs you're presumably referring to are the discharge curves, which show the relation between voltage and percentage of charge. Commented Feb 13, 2015 at 19:25
• Speaking of ambiguous terms...to avoid getting confused when reading about this subject, you should be aware that the commonly used term "state of charge" (SOC) refers to percentage, not absolute amount. So, when you read that voltage can be used to calculate the SOC of a battery, it's telling you the same thing I did. Commented Feb 13, 2015 at 19:27

Modern cellphones use lithium batteries, which have constant voltage all along their discharge time (almost), hence a 3.7V value can mean "80%" or "20%", so to properly calculate available energy it is required an "electronic fuel gauge" which measures how many mAh came out of the battery and divide them for the known total amount of mAh available in the battery, thus obtaining a number <1 which, multiplied by 100, gives State of Charhe (SoC) in terms of %. Actually, at full chrage, there is a quick lowering of voltage from 4.2 to 3.7, but this fall just represents a 10% of total charge; then, from 3.7 to 3.5, there is an 80% of the charge, and eventually from 3.5 to 3.0 there is the final 10%.

A voltage-based charge status indicator is instead possible for lead batteries, where the voltage linearly decreases from "maximum charge" value to "minimum charge" value.