Advanced Charging Controller is a systemless root utility that controls charging current, voltage, temperature, and capacity thresholds, giving experienced users a configurable way to reduce time spent at stressful charging conditions.
Granular Charging Control
Apply device-supported charging limits through a background daemon, terminal commands, configuration profiles, or compatible front-end applications.
Electrical Limits
Configures supported maximum charging current and voltage values through the device's available power-supply controls.
Temperature Control
Pauses or adjusts charging according to configured thermal thresholds when compatible charging switches are available.
Pause and Resume Levels
Defines capacity thresholds at which charging stops and resumes, with a default quick-start example of 75% and 70%.
How ACC Controls Charging
ACC runs the accd daemon with root privileges and works through charging-control files exposed by the device kernel. Depending on the hardware, those interfaces can pause charging, select battery idle mode, or cap current and voltage. ACC can discover candidate control files, but the usable switch and accepted values are device-specific.
The installation is systemless regardless of whether the root solution is Magisk, KernelSU, or another supported implementation. Its persistent data and configuration are kept separately from the mounted module, allowing upgrades to retain settings and providing an uninstaller package under the ACC data directory.
Key Configuration Groups
| Setting Group | Purpose | Documented Default or Behavior |
|---|---|---|
| Capacity | Defines shutdown, cooldown, resume, and pause thresholds. | The default configuration resumes at 70% and pauses at 75%; the command acc 75 70 applies that pair directly. |
| Temperature | Pauses charging at a maximum temperature and resumes only after the configured lower threshold is reached. | The documented defaults use 50 °C as the maximum and 40 °C as the resume temperature. |
| Cooldown | Reduces sustained thermal and voltage stress by periodically pausing charging or limiting current. | Cooldown can be triggered by battery level or temperature and remains inactive unless its current or interval controls are configured. |
| Current and voltage | Sets maximum charging current and voltage through compatible kernel control files. | ACC can add discovered controls automatically when a value is supplied, but not every kernel exposes a usable interface. |
| Idle applications | Enables battery idle behavior while matching foreground applications are running. | Package-name patterns can target workloads such as navigation or games when the device supports idle mode. |
Quick Start
Install or upgrade from the official package, then run acc in a root terminal to open the configuration wizard. To set simple capacity limits directly, the project documents acc pause_capacity resume_capacity. The default configuration is usable without changing every available option.
All ACC actions require root. The upstream guide recommends starting with the defaults and changing only settings whose effect is understood; configuring every available option is neither required nor recommended.
Maintenance and Recovery
- Run
acc --helpto inspect supported commands andaccwithout arguments to enter the interactive configuration flow. - Use
acc --uninstallfor the documented command-line removal path. The project also creates/data/adb/vr25/acc-data/acc-uninstaller.zip. - If a charging switch behaves inconsistently, test another supported switch instead of forcing arbitrary values. Thermal daemons, fast-charging implementations, and kernel driver behavior can override or reset a selected control.
- Restore a conservative configuration before diagnosing charging failure, unexpected reboots, or unusually slow charging. Recovery access is important when testing low-level power controls.