Features/Planned | Screenshots | Download | Notice/Help | Changelog




from: 2015/06/08

OS: Android 2.1 or higher

type: Freeware (no ads)


Voltage and Capacity

Voltage (red)  and Capacity (green) discharging curves of a JBox2D-based discharging test. The diagram was generated from the CSV logfile with the help of gnuplot.

The main reason for developing Vbatt was the differing behaviour of replacement batteries while discharging them in daily use. On of our batteries is almost empty when a remaining capacity of 5% is displayed. Another one does not even reach this level because the phone powers off before. A third battery; however, runs for many hours even with a displayed capacity of just 1%.
For a better estimation of the remaining phone runtime the Vbatt widget displays in addition to the remaining capacity (percentage) the battery voltage. 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.


Battery Widget:

JBox2D simulation (Discharger):


Please click to enlarge picture or to start slideshow:

vbatt vbatt vbatt

Download / Install

Vbatt widget on Google Play VBatt - Download at heise apk download from xipa.de

*To allow the download and installation of Android applications from the internet, you need to enable the option "Unknown sources / Allow installation of non-Market applications" on your Android smartphone or tablet.

Notice / Help

Third Party Software

The Vbatt discharger is based on the open source software Java JBox2D physics engine, which has been ported by Daniel Murphy from the C++ Box2D physics engine, which has been developed by Erin Catto. JBox2D and C++ Box2D are released under the open source zlib license.

Creating Gnuplot diagrams from VBatt  logfiles

Voltage / Capacity diagram:

BF5X - Voltage and Capacity

Voltage (red)  and Capacity (green) curves of a Lithium Ion discharging test. This diagram was produced with the help of the gnuplot script below.

VBatt stores the charging and discharging curves in CSV format (CSV = comma-seperated values) on µSD-Card. CSV data can easily be imported and processed either by Microsoft Excel, Open/LibreOffice or with the command-line driven graphing utility Gnuplot (more details and gnuplot download here).
Please note that the first two values in the VBatt logfile are used for the time scale, the third value is the battery voltage and the fourth value the remaining capacity:
2013-11-06, 14:48:20, 3.91V, 77%
A gnuplot script for plotting the voltage and capacity curves over the time axis looks like this:

# plot-BF5X.plt - single battery: voltage and capacity curves
set title "BF5X - Lithium Ion 3.7V 1.5Ah - Discharging"
set terminal wxt size 1000,600
set nokey
set datafile sep ","
set grid xtics
set grid ytics
set grid y2tics

# x axis
set xlabel "Time"
set xdata time
set x2data time
set timefmt "%Y-%m-%d, %H:%M:%S"
set format x "%m/%d\n%H:%M"
set xrange ["2013-11-07, 17:48:28":"2013-11-07, 21:33:29"]
set x2range ["2013-11-07, 17:48:28":"2013-11-07, 21:33:29"]

# y axis
set ylabel "Voltage [V]" textcolor rgb "red"
set y2label "Capacity [%]" textcolor rgb "web-green"
set ytics nomirror textcolor rgb "red"
set y2tics textcolor rgb "web-green"
#set yrange [3.1:4.1]
set format y "%.1f"

# plot
plot "vbatt.log" using 1:3 with lines linecolor rgb "red", \
     "vbatt.log" using 1:4 with lines linecolor rgb "web-green" axes x2y2

Plotting three capacity curves in a single diagram:

3 Capacity curves in one diagram

Discharging curves of three different Lithium Ion batteries.

Plotting more than two curves with different time axis is a bit more complicated because gnuplot supports only two ranges per axis (xrange and x2range, yrange and y2range). "x3range" or "y3range" are not supported.
A simple method to bypass this limitation is to enable multiplot mode and plot each curve independently with different time axes. Please note that the time range must be equal for each curve, in the example the xrange is 4:03 hours respectively. The legend of the x axis drops away with this method or must be added manually afterwards:

# plot-3-capacities.plt - three batteries: capacity curves
set title "Lithium Ion 3.7V - Battery test"
set terminal wxt size 1000,600
set nokey
set multiplot
set datafile sep ","
set grid

# x axis
set xlabel "Time"
set xdata time
set timefmt "%Y-%m-%d, %H:%M"
#set format x "%H:%M"
set format x " "

# y axis
set ylabel "Capacity [%]"

# plot first curve
set xrange ["2013-11-07, 13:14":"2013-11-07, 17:18"]
plot "Polarcell1_131107.log" using 1:4 with lines linecolor rgb "red"

# plot second curve
set nogrid
set format x " "
set xtics 100000
set xrange ["2013-11-07, 17:48":"2013-11-07, 21:52"]
plot "BF5X_131107.log" using 1:4 with lines linecolor rgb "web-green"

# plot third curve
set xrange ["2013-11-10, 15:03":"2013-11-10, 19:07"]
plot "NoName4_131110.log" using 1:4 with lines linecolor rgb "blue"


We test our applications very carefully before we release them. However, if you find a problem please help us solving it and send us an error report.


2015/06/08, V1.1
2013/11/11, V1.0