A Hobby That Swallows Weekends
Last spring, I got it into my head to repurpose an old Android phone. You know the drill: you watch one video, and suddenly your junk drawer looks like a hardware store. The project ran fine, but there was a catch—the battery. Leaving a phone plugged in 24/7 is a recipe for a puffy battery, and a swollen lithium cell isn't exactly something you want sitting on your desk.
So I went down the rabbit hole. My first fix was brutal. I removed the battery entirely and used jumper wires to feed power straight to the motherboard. It worked—no more battery anxiety—but the phone looked like a science experiment. Bare board, exposed wires, zero structural integrity. Every time I walked past it, I half-expected a spark.
The Search for a Cleaner Path
After living with that ugly setup for a while, I started wondering: was there a way to get the same effect without cracking the phone open? I'd heard about a tool called Advanced Charging Controller—ACC for short—but I'd only ever used it by following tutorials blindly. This time, I decided to actually understand it.
ACC is a root-only tool that hijacks the phone's charging logic. Instead of letting the stock firmware decide when to charge, you get a manual override. You can set thresholds—say, start charging at 40%, stop at 60%—or you can go further and make the phone run directly off the charger, bypassing the battery entirely. That's the dream: a phone that acts like a mini server, no battery in the loop.
Getting Rooted (and a Little Frustrated)
First things first: you need root. The process varies by device, so I'm not going to give you a step-by-step here. I used a video from Geekerwan, a Chinese tech channel, and it worked for my Xiaomi Mi Note 3. Your mileage may vary, but the basic flow is: unlock the bootloader, flash a custom recovery, install Magisk. It took me a couple of evenings, mostly because I messed up the bootloader unlock the first time.
Once Magisk was in place, installing ACC was easy. Download the latest .zip from the project's GitHub Releases page, push it to your phone, open Magisk, tap Modules, install from local, reboot. Done. ACC runs silently in the background—no app icon, no fanfare. If you want a GUI, there are clients like ACCA or ACC Settings, but they're outdated. I stuck with Termux, a terminal emulator, because it's more reliable.
Termux Setup: The Boring but Necessary Part
Install Termux from its GitHub releases, then open it and run pkg update && pkg upgrade -y. If you're in China (or behind a restrictive network), you might hit a wall. Switching to a Chinese mirror usually fixes it: run termux-change-repo, pick a mirror group, choose a Chinese mirror, and retry. It's not glamorous, but it works.
With Termux ready, the real work begins. Type su to get root, then acc -v to check the version, and acc -u dev to make sure it's current. Plug in your charger, and run acc -t. This is the big one. ACC will test a list of charging switches—each one a command that tells the hardware to either charge or stop charging. The test takes a while, and it spits out a log file that feels like reading a dissertation.
Decoding the Test Output
When the test finished, I stared at the screen for a solid five minutes. Thirty-three switches, each with cryptic paths and numbers. The good news: you only need to find one that works. Look for the lines that end with Switch works ✅ and battIdleMode=true. That's the golden ticket—it means the switch supports idle mode, where the battery is effectively bypassed.
Here's a sample from my test:
6/33: battery/constant_charge_current_max 3300000 0
off (0) -6mA Idle
on (3300000) -6mA Idle
on (3300000) -866mA Charging
Switch works ✅
battIdleMode=true
Let's break that down. The first line names the switch and its on/off values. The next two lines show what happens when it's off and on: current stays near zero, system says 'Idle'. Then ACC tries again, and this time the current jumps to -866mA and the state flips to 'Charging'. That difference is what makes ACC call it a working switch.
In my report, I found three switches that qualified. They all do the same job, but the one with the cleanest behavior—off state that truly idles, on state that charges—was my pick. You can compare the numbers to choose the best one, but honestly, any of them will do.
Setting Your Charging Rules
Once you've picked a switch, you tell ACC to use it. For my switch, the command was:
acc -s s="battery/constant_charge_current_max 3300000 0 --"
Then you set the charge limits. I went with 50% as the ceiling and 40% as the floor, so the phone charges up to 50%, then runs on direct power until it dips to 40%, then charges again. That keeps the battery in a happy zone and avoids constant top-offs.
acc 50 40
You can verify your settings with acc -s—look for the charging_switch line to confirm.
Why This Hobby Is Worth the Time
This whole process took me a full weekend. Between rooting, installing, testing, and decoding, I probably spent ten hours. But when it was done, I had a phone that runs 24/7 without a battery bulge, without a teardown, and with the chassis still intact. It's now my little home server, chugging away on my desk.
Is it for everyone? No. If you're not comfortable with root, terminal commands, and reading log files, this will feel like a chore. But if you're the kind of person who enjoys tinkering—who likes solving puzzles with your hands and a keyboard—this is the perfect time sink. You learn a lot about how Android handles power, and you end up with something genuinely useful.
So if you've got an old phone gathering dust, consider this. It's a hobby that rewards patience. And the payoff isn't just a working gadget—it's the satisfaction of knowing you didn't have to tear it apart to make it useful again.
Comments (0)
Please sign in to post a comment.
Don't have an account? Create one
No comments yet. Be the first to comment!