Extending Li-ion battery life for ThinkPad and Android

Li-ion batteries don’t like being fully charged. They will retain capacity significantly longer if you charge them up to 80% or less. Check this plot from Battery University:

If you usually use up all of your laptop battery during the day, gradual battery degradation is something you’ll have to live with. However, if you mostly work with AC charger plugged in, you can set lower limit to your battery charge and prolong its life.

On newer Lenovo ThinkPads in Linux you can do it with tpacpi-bat (see list of supported models). If you use Manjaro it’s available in the repos:

# pacman -S acpi_call-dkms tpacpi-bat

After installing, reboot so that acpi_call kernel module is loaded, and configure the limits to your liking in /etc/conf.d/tpacpi:

# battery is 1 for main, 2 for secondary, or 0 for either/both
# Start charging threshold (0 for default, 1-99 for percent)
# Stop charging threshold (0 for default, 1-99 for percent)

Finally enable the service:

# systemctl start tpacpi-bat
# systemctl enable tpacpi-bat

To go back to default behavior and force full charge, set both START_THRESHOLD and STOP_THRESHOLD to "0" (default) and restart the service:

# systemctl restart tpacpi-bat

Similarly, if your Android phone battery still has some juice at the end of the day (lucky you!), you may consider setting charge limits there too. There’s an open source Battery Charge Limit app for that (F-Droid, Play Store). Unfortunately, this app requires root access.

This, as well as avoiding full discharge, overheating, and high current chargers should prolong your phone’s battery life.

PS: If you decide to go this path, consider disabling any limits once per month or two so that your battery remains properly calibrated.

UPD: I’ve found another solution for Linux: Threshy allows controlling battery thresholds using TLP (which in itself is useful to have installed for power saving). There’s also a nice GUI with an option for one-time full charge.

UPD2: There’s even more sophisticated app for Android called AccA which can additionally limit charging current and control battery temperature during the process.

UPD3: KDE now natively supports setting charge limits (at least for some hardware, like Thinkpads).

Your comment: