Prolong your battery life!

This post applies to MacBooks (Air, pro, …) only

TL;DR (improved version)

[My initial version was thwarted by Apple’s new security measures.]

All the above hassle is only needed for the first time. If you are up to it, save the script as app. After computer restart, the charge level maximum is frequently reset to 100%.

Long read

Battery charging is a rather involved subject, recently I here referred to one good source on it. One strategy to prolong battery life (at least the Lithium ion variant) is to not keep it fully charged to 100% at all times. (In battery-operated cars there frequently is an option to stop battery charging at 80%.) When you’re planning to travel, of course you want 100%, but when you are working home or wherever and have it plugged in, the battery suffers a little always when always being 100%.

Researching this topic, I found this nice blog entry which refers to two utilities (which I have not tried), and has an Alfred Workflow which worked for me. From this I extracted the utility “smcutil”, which goes back ages and does some low-level fiddling with the Power Manager on MacBooks.

When you run it in the terminal with the -h option, it will tell you of three commands: list, read, & write. The list command will give a myriad of power manager entries, and the “BCLM” entry (presumably short for Battery Charge Level Maximum) refers to the eponymous value.

Since not everyone will have Alfred installed :), I created an AppleScript which should run everywhere. I include both the script source (which you can run in Script Editor) and a ready-to-run app. Usage should be obvious. Occasionally I found that after restart, BCLM was at 100% again, so it’s useful for me to have a fully baked and not fiddle in the terminal.

I successfully used this on a MacBook pro and a MacBook Air (all of the Intel, not M1 variant). I have no quantitative values on the actual effect size.

I’m sure there is also something comparable on the dark side of operating systems :) (Wndws). ;-)