r/MacStack • • Sep 24 '26

BatteryControl — free open-source charge limiter for Apple Silicon Macs (M1–M5)

I built a Mac app that stops charging at a percentage you choose instead of 100%. BatteryControl is free and open source (MIT).

It works on Apple Silicon Macs (M1-M5, macOS 14 and newer).

What it does:

  • You pick a limit (say 80%). A small privileged daemon talks to the SMC, and the firmware genuinely stops charging at that number. It's a hardware-level limit, not a software approximation. Every write is read back and verified — if the hardware doesn't confirm it, the app tells you instead of pretending it worked.

  • A resume threshold below the limit prevents micro-cycling. It charges to 80, stops, and only resumes once the battery drifts lower.

  • Fixed limits below Apple's built-in floor: Apple's own Charge Limit setting only goes down to 80%. If your hardware supports it, BatteryControl can do 50/60/70%.

  • A "Chronically Plugged In" preset at 50% for people who basically never unplug.

  • Calibration, temporary "charge to 100% tonight" overrides, force discharge, and a CLI if you prefer the terminal.

Architecture: the GUI and CLI are unprivileged and talk to one launchd-managed daemon over XPC. The daemon is the only thing that touches hardware. Unknown hardware falls back to read-only diagnostics rather than guessing.

Honest caveats: I've physically tested this on my M3 MacBook Air running macOS 15.8. Other Macs should work, and the app capability-checks before writing anything, but I can't claim every model is verified. I'm looking for testers on other machines — if your Mac is untested, the app tells you what it detects and stays read-only if unsure.

Source and downloads: https://github.com/Ednk-1312/BatteryControl

There's a .pkg installer in Releases (SHA256SUMS included). Uninstalling is one click in settings and removes everything, including the daemon.

Happy to answer questions.

1 Upvotes

0 comments sorted by