IBAM is an advanced battery monitor for laptops, which uses statistical and adaptive linear methods to provide accurate estimations of minutes of battery left or of the time needed until full recharge. This software relies on either APM, ACPI, SYSFS or PMU kernel support to access the battery status.

IBAM solves this problem by creating a battery and charge profile (as seen on the right for my old laptop) from which it can compute the actual times remaining. The red graph represents the battery cycle (where the laptop is running on battery), the x-axis represents the bios-minutes (now bios-percentage), the y-axis the actual average lengths of that minute (percentage) in seconds. As you can see the bios minute was about 50 seconds long from 200 minutes to 60 minutes, and only 10 seconds long from 40 minutes to 20 minutes. No wonder I was surprised that the battery was empty so soon…

The green graph shows the charge cycle, which seems to be a bit more useful, still the same technique can be used to give the user an idea how long the charge process will need.
As soon you created initial profiles you can get the similar graphs for your computer by using the option "--plot".

Of course the computer will consume more energy on a high load and IBAM does take this into account by determining a linear adaptive method for the current cycle.

Install IBAM in Ubuntu
sudo apt-get install ibam
This will install all the required packages

Using IBAM

Charging batteries:

Laptop is running on batteries

For more available options

ibam [options]

-h, --help displays this message
-v, --version displays software version
-b, --bios show bios apm guesses
-s, --seconds displays times in seconds
-c, --correctseconds displays changes in seconds
-r, --readonly no files will be updated
-a, --all show ALL information
--battery show battery time
--batteryadaptive show adaptive battery time
--batterybios show bios battery time guess
--percentbattery show battery percentage
--percentbios show bios percentage
--charge show charge time
--chargeadaptive show adaptive charge time
--percentcharge show charge percentage
--totalbattery show total battery time
--totalbatteryadaptive show adaptive total battery
--totalcharge show total charge time
--totalchargeadaptive show adaptive total charge
--hardlowlimit[=lim] show user defined hard lower percentage limit
[and set it to value or disable <0> it]
--softlowlimit[=lim] show automatic lower percentage limit
[and lower it to value or diable <0> it]
--plot[=profiles] use gnuplot to plot battery and charge graphs
and plot the last additional profiles
--plotderivations[=profiles] same as above plus standard derivations
--import import V0.1 data from current directory
--profile enable additional yet unused profiling
--noprofile disable additional profiling
--credits to everyone contributing to ibam