Acc
Advanced Charging Controller
Install / Use
/learn @VR-25/AccREADME
Advanced Charging Controller (ACC)
- DESCRIPTION
- LICENSE
- DISCLAIMER
- WARNINGS
- DONATIONS
- PREREQUISITES
- QUICK START GUIDE
- BUILDING AND/OR INSTALLING FROM SOURCE
- DEFAULT CONFIGURATION
- SETUP/USAGE
- PLUGINS
- NOTES/TIPS FOR FRONT-END DEVELOPERS
- TROUBLESHOOTING
acc -tResults Seem Inconsistent- Charging Switch
- Custom Max Charging Voltage And Current Limits
- Diagnostics/Logs
- Finding Additional/Potential Charging Switches Quickly
- Install, Upgrade, Stop and Restart Processes Seem to Take Too Long
- Restore Default Config
- Samsung, Charging Always Stops at 70% Capacity
- Slow Charging
- Unable to Charge
- Unexpected Reboots
- WARP, VOOC and Other Fast Charging Tech
- Why Did accd Stop?
- POWER SUPPLY LOGS (HELP NEEDED)
- LOCALIZATION
- TIPS
- FREQUENTLY ASKED QUESTIONS (FAQ)
- LINKS
DESCRIPTION
ACC is an Android software mainly intended for extending battery service life. In a nutshell, this is achieved through limiting charging current, temperature and voltage. Any root solution is supported. Regardless of whether the system is rooted with KernelSU/Magisk, the installation is always "systemless".
LICENSE
Copyright 2017-2024, VR25
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.
DISCLAIMER
Always read/reread this reference prior to installing/upgrading this software.
While no cats have been harmed, the author assumes no responsibility for anything that might break due to the use/misuse of it.
To prevent fraud, do NOT mirror any link associated with this project. Do NOT share builds (tarballs/zips)! Share official links instead.
WARNINGS
ACC manipulates Android low level (kernel) parameters which control the charging circuitry. The author assumes no responsibility under anything that might break due to the use/misuse of this software. By choosing to use/misuse it, you agree to do so at your own risk!
Some devices, notably from Xiaomi (e.g., Poco X3 Pro), have a faulty PMIC (Power Management Integrated Circuit) that can be triggered by acc. The issue blocks charging. Ensure the battery does not discharge too low. Using acc's auto shutdown feature is highly recommended (default shutdown_capacity is 5).
Refer to this XDA post for additional details.
lybxlpsv suggests booting into bootloader/fastboot and then back into system to reset the PMIC.
In case of bootloop, one can easily generate persistent logs and/or stop/disable acc.
ACC daemon initializes 60 seconds after the boot animation stops.
This gives plenty of time to run pkill -9 -f accd to kill the waiting process or accd -x to generate persistent logs (/sdcard/accd-*.log) for debugging the bootloop.
accd -x also sets the disable flag (/data/adb/vr25/acc-data/disable). This file prevents the daemon from starting again. It's removed manually or by the installer.
acc -t always implies -x and tries to auto-blacklist switches that trigger unwanted reboots.
DONATIONS
Please, support the project with donations (links at the bottom). As the project gets bigger and more popular, the need for coffee goes up as well.
PREREQUISITES
- Must read - how to prolong lithium ion batteries lifespan
- Android or KaiOS
- Any root solution (e.g., KernelSU, Magisk, SuperSU, etc)
- Busybox* (only if not rooted with KernelSU or Magisk)
- Non KernelSU/Magisk installs require a way of running
/data/adb/vr25/acc/service.shon boot to initialize acc. - Terminal emulator
- Root text editor (optional)
* A busybox binary can simply be placed in /data/adb/vr25/bin/.
Permissions (0755) are set automatically, as needed.
Precedence: /data/adb/vr25/bin/busybox > KernelSu's or Magisk's busybox > system's busybox
Other executables or static binaries can also be placed in /data/adb/vr25/bin/ (with proper permissions) instead of being installed system-wide.
QUICK START GUIDE
-
All commands/actions require root.
-
Install/upgrade: flash* the zip or use a front-end app. There are two additional ways of upgrading:
acc --upgrade(online) andacc --flash(zip flasher). Rebooting after installation/removal is generally unnecessary. Manual uninstall before upgrade is unnecessary. -
[Optional] run
acc(wizard). That's the main command to remember. -
[Optional] run
acc pause_capacity resume_capacity(default75 70) to set the battery levels at which charging should pause and resume, respectively. -
If you come across any issues, refer to the troubleshooting, tips and FAQ sections below. Read as much as you can, prior to reporting issues and/or asking questions. Oftentimes, solutions/answers will be right before your eyes.
Notes
Steps 2 and 3 are optional because there are default settings.
For details, refer to the default configuration section below.
Users are encouraged to try step 2 - to familiarize themselves with the available options.
Settings can be overwhelming. Start with what you understand. The default configuration has you covered. Don't ever feel like you have to configure everything. You probably shouldn't anyway - unless you really know what you're doing.
Uninstall: run acc --uninstall or flash* /data/adb/vr25/acc-data/acc-uninstaller.zip.
ACC runs in some recovery environments as well.
Unless the zip is flashed again, manual initialization is required.
The initialization script is /data/adb/vr25/acc/service.sh.
BUILDING AND/OR INSTALLING FROM SOURCE
Dependencies (Build)
- git, wget, or curl (pick one)
- zip
Build Tarballs and Flashable Zips
-
Download and extract the source code:
git clone https://github.com/VR-25/acc.gitorwget https://github.com/VR-25/acc/archive/master.tar.gz -O - | tar -xzorcurl -L# https://github.com/VR-25/acc/archive/master.tar.gz | tar -xz -
cd acc* -
sh build.sh(or double-clickbuild.baton Windows 10+, if you have Windows subsystem for Linux (with zip) installed)
Notes
-
build.shautomatically sets/correctsid=*in*.shandupdate-binaryfiles. To skip generating archives, run the build script with a random argument (e.g.sh build.sh h). -
To update the local source code, run
git pull --forceor re-download it (withwget/curl) as described above.
Install from Local Source or GitHub
-
[export installDir=<parent install dir>] sh install.shinstalls acc from the extracted source. -
sh install-online.sh [-c|--changelog] [-f|--force] [-k|--insecure] [-n|--non-interactive] [%parent install dir%] [commit]downloads and installs acc from GitHub - e.g.,sh install-online.sh dev. The order of arguments doesn't matter. For upgrades, if%parent install dir%is not supplied, the original/current is used. -
sh install-tarball.sh [module id, default: acc] [parent install dir (e.g., /data/data/mattecarra.accapp/files)]installs the tarball (acc*gz) from the script's location. The archive must be in the same directory as this script - and obtained from GitHub: https://github.com/VR-25/acc/archive/$commit.tar.gz ($commitexamples:master,dev,v2020.5.20-rc). -
One can also use a single command to download
Related Skills
node-connect
344.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
99.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
344.4kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
344.4kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
