Advanced Charging Controller
The Advanced Charging Controller (ACC) is a powerful tool for Android devices that is mainly used to improve battery life and performance. It does this by intelligently controlling important charging factors like voltage, temperature, and current. ACC installs in a way that doesn’t change the system partition, so it works with different rooting methods like KernelSU, Magisk, and others.
Necessary System Requirements
To properly use and set up ACC, make sure your setup meets these basic requirements:
- Basic knowledge of how to care for batteries, as described in this in-depth guide on extending lithium-based battery life.
- A working Android or KaiOS device.
- A way to root your device that works (like KernelSU, Magisk, or SuperSU).
- The Busybox suite is required for roots that aren’t KernelSU or Magisk.
- A way to run
/data/adb/vr25/acc/service.shat boot time if you install it outside of the normal frameworks. - A command-line terminal app.
- An editor that can be run as root for changes.
For Busybox, put a binary in /data/adb/vr25/bin/ so that ACC can handle permissions automatically. It gives paths like /data/adb/vr25/bin/busybox higher priority than built-in or system versions. This directory also has room for other binaries that are only used in that area.
Setup and Operation Basics
ACC works perfectly with its standard setup, which means that you don’t have to make many changes at first. The main command “acc” starts a wizard that helps you set things up.
There are a number of front-ends that can be used instead of CLI for people who like GUIs. To make advanced changes, you need to edit /data/adb/vr25/acc-data/config.txt to follow the default setup instructions.
Core Commands Overview
Run acc --help for exhaustive command details.
Enhancing with Extensions
Plugins made by the community change behaviors and variables to make experiences more personal. Put them in the folder /data/adb/vr25/acc-data/plugins/.
- Loaded alphabetically.
- No spaces in filenames.
- Ignores hidden or non-
.shfiles.
Plugins that are unstable in /dev/.vr25/acc/plugins/ disappear when you reboot, but they take priority. After making changes, restart the daemon. One-liners are enough; see default setup for examples.
Expert Recommendations
Restricting Current for Aged Batteries
To make batteries last longer, limit the charging current to 750–1000mA for normal use and 500mA for extra safety. If native limits aren’t available, use chargers that don’t use a lot of power.
Universal Device Advice
Enable rapid charging via: apply_on_boot="/sys/kernel/fast_charge/force_fast_charge::1::0 usb/boost_current::1::0 charger/boost_current::1::0".
Pixel-Specific Enhancements
For compatible wireless chargers: apply_on_plug=wireless/voltage_max::9000000. Harmless if ineffective on certain models.
Config Management
Export: acc -s > /sdcard/Download/config.txt. Import: acc -s /sdcard/Download/config.txt. Partial shares possible, e.g., acc -sp curr,volt > file.
Capacity Overrides
Update charge_full_design in /sys/class/power_supply/*/ for larger batteries via apply_on_boot.
Sensor Corrections
Fix faulty thermistors: acc -c d temp_cool; acc -c a ':; for i in */temp_cool */temp_cold; do [ -f $i ] || continue; chown 0:0 $i && chmod 0644 $i && echo "-999" > $i && chown 0444 $i || :; done'.
Common Queries Addressed
Reporting Problems? Submit via GitHub, Telegram, or XDA with details and logs from
acc -le(attach/sdcard/Download/acc-logs-*.tgz).
Device Compatibility Issues? Support varies; research custom kernels and share logs to aid development.
Calibration Needs? Rarely required; follow smart battery calibration if issues persist.
Voltage vs. Percentage Limiting? Combine for optimal results: voltage caps reduce stress, percentage cycles minimize high-charge exposure. Use cooldowns. Profiles: Night (40-60%/3900mV), Day (75-80%/4100mV), Travel (95%/4200mV).
Full Charge Override? Use
-f|--force|--full [capacity]for temporary max charging without config changes.
Updating ACC and GUIs? Send core ACC updates via ZIP. Keep GUIs like AccA up to date so they work with the latest versions, but stable setups can wait.
Offline Functionality? Requires OS; works in recovery. Offline control under exploration.
Wakelock Fixes? Select wakelock-free switches or set resume slightly below pause (e.g., 74/75%).
Idle Mode Setup? Bypasses battery for direct power draw (0mA indicator). Ideal for extended plugged use at 40-60%. Emulate via voltage limits, thresholds, or narrow windows if unsupported.
Smart Profiles? Schedule via:
acc -c a ": day profile; at 6:00 \"acc -s pc=75 mcc= mcv=4100; acc -n 'Switched to day profile'\""; acc -c a ": night profile; at 22:00 \"acc -s pc=50 mcc=500 mcv=3900; acc -n 'Switched to night profile'\"".
Access the Software
To delve deeper, ACC’s GitHub repository at https://github.com/VR-25/acc offers scripts like service.sh for daemon management, config.txt for defaults, and plugins for customizations. These enhance understanding of its modular design, allowing users to adapt charging logic via bash scripts and variables.
Module Info
- Module By
- Root SupportMagisk KernelSU APatch
- Latest Update
- Word Counter 730
- Character Counter 7299
Advanced Charging Controller is a Module that supports installation on Magisk, KernelSU, APATCH, KSUNext