Advanced Charging Controller

VR25

Magisk KernelSU APatch
v2023.10.16
Version
1.96 KB
Size
Oct 17, 2023
Updated

Module Info

  • Contributors VR-25, Babilinx, romanegunkov, H-xiaoH, breakdowns
  • Source Code View Repository
  • Tags
    #Advanced Charging Controller #ACC #Battery Charging #Charge Limit #Battery Temperature #Magisk Module #KernelSU #APatch

About this module

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

Important Advanced Charging Controller setting groups
Setting GroupPurposeDocumented Default or Behavior
CapacityDefines 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.
TemperaturePauses 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.
CooldownReduces 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 voltageSets 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 applicationsEnables 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.

# acc
# acc 75 70
# acc --help

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 --help to inspect supported commands and acc without arguments to enter the interactive configuration flow.
  • Use acc --uninstall for 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.