ACC: Extending Your Android Battery Life
2,308 stars
Do you charge your phone to 100% every night? After a year, the battery capacity noticeably decreases. ACC (Advanced Charging Controller) solves this problem by providing fine-grained control over the charging process.
What does ACC do?
This is a system module for rooted devices that:
- Stops charging when a specified level is reached (e.g., 80%)
- Monitors battery temperature
- Controls charging current and voltage
- Supports "idle mode" for constantly connected devices
Key Features
1. Smart Charge Stop
# Заряжать до 75%, возобновлять при падении до 70%
acc 75 70
ACC operates at the kernel level, so it:
- Saves 20-40% of charge cycles
- Prevents overheating
- Preserves battery capacity for years
2. Full Parameter Control
# Установить ограничение тока 500mA и напряжения 3900mV
acc -s mcc=500 mcv=3900
Supported features:
- Manual current/voltage settings
- Automatic cooling
- Scheduled operation
3. Non-Standard Scenario Support
- Always-on devices (kiosks, servers)
- Gaming sessions with AC power
- "Night" profiles with gentle charging
How Does It Work Technically?
ACC interacts with:
- Linux kernel power_supply interface
- Control parameter files in /sys/class
- System daemons via hooks
Architecture:
- Main daemon accd
- Configuration in /data/adb/vr25/acc-data
- Plugin system for customization
Practical Applications
-
For regular users:
- Install via Magisk/KernelSU
- Launch
accto configure - Forget about battery overcharging
-
Custom firmware developers:
- Integrate ACC into builds
- Custom plugins for exotic chipsets
-
Enthusiasts:
- Fine-tune charging profiles
- Experiment with operation modes
ACC is a must-have for:
- Flaghip owners who want to preserve their battery
- Embedded solution developers
- Anyone using their phone as a GPS navigator
The project is actively developed, supports most devices, and genuinely extends battery life. If you have root access — definitely give it a try!
Tip: Start with conservative settings (75% max charge) and observe your device's behavior.
Related projects
How to Turn an AI Assistant into a Cloud Engineer for Azure
Shell
How to Organize Your Audio Library on Android with Lyrico
Kotlin
How to Search Torrents on Android Without Ads and Browser Redirects
Kotlin
A Practical Path to Arch Linux for Those Tired of Server Dogmas
Shell
How to organize a dozen running Claude Code sessions in tmux
Shell
How to Intercept HTTPS Traffic on Android Without Certificates and Manual Proxy Configuration
Kotlin