What does HackerNews think of acc?

Advanced Charging Controller

Language: Shell

#18 in Android
You can reduce this risk with a Magisk module known as the "Advanced Charging Controller."

This tool will allow a limit to be placed on the charging percentage; I have my phone set at 80%, so the battery never spends time at 100% charge which is the most damaging.

https://themagisk.com/advanced-charging-controller-acc/

https://github.com/VR-25/acc

This seems to be partly a Lineage problem - with probably some Android culpability mixed in. Lineage had their own very simple to install superuser addon, but that was dropped a few versions ago. Some Android changes prompted this, but probably also their attitude against rocking the boat (no rooting, no signature spoofing, etc).

The remaining solution was Magisk. Magisk was equally easy to install, but recently deprecated that easy install method so that only patching the ROM file remains (you get that file from the ROM you run, unpack the archive, if you are unlucky you need to unpack a second payload.bin file, https://wiki.lineageos.org/extracting_blobs_from_zips#extrac...). But not only is that more complicated, it also does not persist after a Lineage upgrade, which happens every week, see https://github.com/topjohnwu/Magisk/issues/3820#issuecomment.... Totally crazy for a project not in early alpha.

I want root to properly manage my battery via https://github.com/VR-25/acc ( with ideally https://github.com/MatteCarra/AccA as Magisk module). How ridiculously complicated that is now and that the install procedure is broken without them documenting it soured me quite a bit on Magisk, but I also start to develop some bad feelings about Lineage - because it is them that would be in the best position to provide a simple root solution. But they just refuse it, and even forbid discussing such topics on their subreddit - that alone shows me that the project is very user hostile currently. I doubt with that attitude they can make a turnaround, but I'd be happy to be wrong...

Sadly the other bigger ROMs are to my knowledge not better in this category, neither /e/ with their service suite, nor DivestOS with the passionate developer nor CalyxOS or GrapheneOS with their "security" focus are interested in giving the user full access to their device. Android seems to be a dead end here, real Linux is needed.

On rooted android you can use Advanced Charging Controller (ACC) [0] to control at what levels to charge. I use it to exchange normal capacity for longevity.

[0] https://github.com/VR-25/acc/

There's also the possibility of using Advanced Charging Controller - though it requires root. Essentially you can set it up so when the battery reaches eg. 100% it stops charging, and resumes only once it reaches eg. 15%. Surprisingly the Android devices that I have still don't ever stop charging on their own, constantly keeping 100%.

[Advanced Charging Controller (ACC)](https://github.com/VR-25/acc)

[BU-808: How to Prolong Lithium-based Batteries](https://batteryuniversity.com/article/bu-808-how-to-prolong-...)

I use a Magisk module called ACC (https://github.com/VR-25/acc) to set the charge/discharge range to be between 60-75% for my permanently connected old phone. I'm using it to show a Grafana dash of my computer's resources.
Keeping them within a certain range is useful but not as much as preventing them from overheating, heat and fast charging is more dangerous, basically if you limit them to 80% it will prevent trickle charging, you can do this in hardware by monitoring the speed it charges at and shutting off when it lowers with wattage monitoring equipment. Apple has this as well, and every lithium charger has trickle charging at 80%, but not all of them are able to end charging at this percentage.

https://linrunner.de/tlp/settings/battery.html

https://support.apple.com/en-us/HT210512

The best implimentation from my understanding is this one under android.

https://github.com/VR-25/acc

By hack I mean a bypass versus your meaning of attacking the security and removing DRM, is there a reason you can't just use another chip or anything special its doing? Do you need the CPU and is the cryptography documented enough to make it easy or woth the effort? It may also be a passion project so I understand if you just want to do it to do it, and even share the information. If it is battery charging features if they're important are not special. The last 20% makes extra cycles and is the most stressful.

https://batteryuniversity.com/article/bu-409-charging-lithiu...

>Turn off the device or disconnect the load on charge to allow the current to drop unhindered during saturation. A parasitic load confuses the charger.

>Charge at a moderate temperature. Do not charge at freezing temperature. (See BU-410: Charging at High and Low Temperatures)

>Lithium-ion does not need to be fully charged; a partial charge is better. Not all chargers apply a full topping charge and the battery may not be fully charged when the “ready” signal appears; a 100 percent charge on a fuel gauge may be a lie.

>Discontinue using charger and/or battery if the battery gets excessively warm.

>Apply some charge to an empty battery before storing (40–50 percent SoC is ideal). (See BU-702: How to Store Batteries.)

If you're a tinkerer, I'd seriously recommend using something like ACC (Advanced Charging Controller). It'll automatically cut your charge off at ~80% and slow the charging if it's heating up too much. Should greatly extend the service life of your battery. You can pretty much just install with Magisk and forget it. Perhaps it's too late for your current phone/battery but maybe on the next one.

https://github.com/VR-25/acc

Pair with something like AccuBattery for visibility into battery capacity over time.