My current daily driver phone is a Google Pixel 6a running GrapheneOS (not the same Pixel 6a I wrote about installing GrapheneOS on in 2023). GrapheneOS is a security-focused fork of the Android Open Source Project. As such, it is only available for a selection of Google Pixel devices which are still receiving updates. GrapheneOS provides for running Google Play Services and Google Play Store in a sandbox, but I do not use either on my phone.

On January 4, 2025, I was looking for my phone info app. I inadvertently clicked the GrapheneOS info app which lists recent updates. One update caught my attention:

Phone screenshot of GrapheneOS release notes with changes since 2024121200 release. The following passage is highlighted: add support for limiting charging the battery to 80% with support for bypass charging similar to the new Android 15 QPR1 stock Pixel OS feature, although unlike the stock Pixel OS our implementation still works while using a secondary user (the limit is currently hard-wired to 80% due to that being what's fully supported for the stock OS usage, but we can eventually make it configurable.

add support for limiting charging the battery to 80% with support for bypass charging similar to the new Android 15 QPR1 stock Pixel OS feature, although unlike the stock Pixel OS our implementation still works while using a secondary user (the limit is currently hard-wired to 80% due to that being what’s fully supported for the stock OS usage, but we can eventually make it configurable.

GrapheneOS release notes for version 2024123000

I had read at some point that some new Google Pixel phones had a toggle for limiting battery charging to 80%. Unbeknownst to me, GrapheneOS added its own 80% charging toggle in its December 30, 2024 release.

(For those not in the know, keeping rechargeable batteries between 40% and 80% charge can prolong battery life, although there are different views on the best strategies for different lithium-ion batteries.)

I had already been using a free and open source app called Healthy Battery Charging to help me stay on top of my phone’s battery level. The app sends notifications when the battery drops to or hits a specified level (by default it is set to 40/80, but that can be configured). I combine this app with KDE Connect to receive a notification on my computer in the event I miss it on my phone. While this app is useful, it does not limit charging, meaning that all it does is send a reminder to unplug my phone. The new GrapheneOS toggle is more powerful since it actually stops the phone from over-charging.

The GrapheneOS update notes only noted that the battery optimization feature was added, not where one would find it. However, I was confident that I could find it without a guide. I navigated to my Settings app and from there went to Battery.

GrapheneOS Battery sub-menu in settings. Battery here is shown to be 69%. There is a menu item for "Charging optimization" which was only added recently.

The new “Charging optimization” option is fourth on the list of Battery settings.

GrapheneOS Charging optimization settings. There is a single on-off toggle. It is toggled ON in the screenshot. Text under the toggle: "To help extend battery lifespan, your phone will only charge to 80% battery. Phone will occasionally charge to 100% to recalibrate estimated capacity."

Charging optimization is off by default (which I think is the correct default setting). I turned it on.

I have tested the Charging optimization on several occasions since enabling it and have found that it keeps my battery from charging over 80%, just as promised. The Charging optimization page notes that the “[p]hone will occasionally charge to 100% to recalibrate estimated capacity,” but I have not seen this behavior in the few days I have had Charging optimization enabled. At the moment, the only option is to limit the battery charge to 80%, but the GrapheneOS release notes state that they plan to eventually make the 80% figure configurable.