IBAM, the Intelligent Battery Monitor

SourceForge Logo

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 is hosted at Sourceforge. This is the IBAM project page at sourceforge, and new versions will be announced at the project page of IBAM at freshmeat.

You may download the current version 0.5.2 here at


Most battery monitors rely on the data provided by the underlying power management system, which in most cases is quite inaccurate for many reasons: Batteries are non-linear, the capacities are wearing off, and among others the actual power usage is highly individual. As rechargable batteries expose a steep voltage drop at low capacity remaining, it is quite common and very annoying, that the reported time remaining is far larger than the actual time that is left to save your data.


IBAM generated battery and charge profile 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.


Some example output (alias screenshots... ;) from the command line interface:

The IBAM package also includes a GKrellM plugin. Besides PBButtons this is the most efficient way use IBAM since unnecessary harddisc utilization is avoided using IBAM in such graphical frontends.

Please see the current README file for detailed usage information.


Comments, improvements and ideas for ibam are very welcome, please keep me informed about articles mentioning ibam and you are strongly invited to use ibam in on of the many (GPLed) graphical battery monitor frontends, such as PBButtons for various Apple Notebooks.

Also creation and maintance of packages for various linux distributions are very appreciated, such as for Debian, Gentoo and Ubuntu. Please help me keeping this list up to date.

Sebastian Ritterbusch, 25.07.2008