Tracking laptop battery degradation

April 14, 2011

A few months ago I had to replace my laptop's battery, and I thought it would be interesting to track the inevitable degradation of its new battery.

I slapped together a script to log the current capacity of the battery, and set it as a daily cron job.

battery-tracker.sh:

#!/bin/sh

DATE=`date +%Y%m%d`
CAPACITY=`grep "last full capacity" /proc/acpi/battery/BAT0/info`
echo $DATE  $CAPACITY >> /home/james/battery.log

crontab:

0 17 * * * /home/james/scripts/battery-tracker.sh

Roughly four months later, I have enough data to plot:

Battery capacity over time
Battery capacity over time

This shows the battery's capacity as a ratio of its design capacity over time. The battery started with about 4.9% more than design capacity, and dropped to about 5.4% below design capacity after 112 days. The steep drops correspond with large charge cycles, since battery life drops as a function of how much it is recharged.

The graph was generated using gnuplot with the following commands:

gnuplot> set xlabel "Days Elapsed"
gnuplot> set ylabel "Remaining Capacity"
gnuplot> plot "battery-log.csv" notitle with lines