Creating a USB fast charging profile in Tasker
This involves Tasker and some root elements although you can skip those if you do not have root or a kernel that supports USB fast charging. The idea behind this is to get your phone charged as quickly as possible before work based on the assumption you might be traveling and charging off of a laptop connection, however if you just want to ensure you’ve got a charge and engage some quiet hours at night it also works.
Before we go any further, we’re going to create a task named Fast Charge On
The root parts (USB fast charge)
When your phone is connected to a laptop or a computer it charges in a much slower mode than if connected to a wall outlet. The maximum power draw is ~500mA, which on a device with a 2500mA battery means your best possible charge time possible would be slightly over five hours (more than that likely due to things going on in the background).
If you’ve got a kernel that supports USB fast charge, you can pull about 1000mA off of a port, if not more. Only having a device that will pull one amp in general I can’t really say whether it will go higher, but the computer supports higher.
Unfortunately being in USB fast charge mode renders several things unusable via USB such as syncing and using a USB OTG drive, potentially ADB.
If you have a custom kernel that supports USB fast charge, you’ll have a file /sys/kernel/fast_charge/force_fast_charge – this file contains a “1” or a “0” depending on the status of USB fast charge. “1” is on, meaning your device will pull as much power as it can take or the computer is willing to provide.
Add a Run Shell action with the command “echo 1 > /sys/kernel/fast_charge/force_fast_charge”. Make sure to check the use root box.
The non-root parts
The object here is to minimize the amount of juice your phone is using so more of the charge can be directed toward the battery. If you have root or are running an Android version that supports it, simply create a task to put it in airplane mode.
For those that don’t, what appears to work (and isn’t telling me root is required,) is several actions that you can pick and choose whether you want to implement or not.
- Several kill app actions to remove Facebook and other known battery hogs from memory – you’ll need to choose based on what’s been using your battery the most
- Auto-Sync (off) – this will keep various apps (dropbox, google+, etc,) from syncing tons of data and using more juice while you’re attempting to charge back up.
- WiFi (off) – in some cases WiFi will be a big drain. Probably it’s minimal now that the auto sync is off, however it’s your call.
- Bluetooth (off) nothing like waking up to discover your phone’s been draining battery due to connecting to a bluetooth device downstairs.
- Radio (off) – let’s just essentially put this phone in airplane mode. You won’t get calls though.
- Notification Pulse (off) – because really, do you want to be sleeping near a strobe light?
- Auto brightness off, display brightness 0 (so if the screen does wake up for a bit, it’s using less juice)
If you did all of the above, your phone should essentially be sitting there doing next to nothing while it’s plugged in charging. This should result in the fastest possible charge a phone can have while it’s turned on. If you did everything above though, be aware the phone has the radios turned off, so you won’t be getting any phone calls.
Create an exit task for this called Fast Charge Off, or whatever you want to call it. The object is to undo everything you did above. You’ll need this to run if you want to have your phone usable without rebooting it in the morning.
- Auto-Sync on
- Wifi (on)
- Bluetooth (on)
- Radio (on)
- Notification Pulse (on)
- Auto Brightness (on)
- Run any programs that need to be re-launched
And for the root crowd, throw in a shell command “echo 0 > /sys/kernel/fast_charge/force_fast_charge” to disable USB Fast Charge mode and enable file transfers, USB syncing, etc. Make sure to run it as root.
My idea for this was a set time during weeknights (say between 2am and 6am when the only people calling you are asking you to bail them out of jail,) however to add a bit more flexibility to the profile I did the following:
New profile, State, Battery Level from 0-70 (only if the battery’s low are we going to trigger this – ignore the picture, I went with 70), Time (02:00 Till 06:00,) Date/weekdays/MTWThF.
Entry task will be Fast Charge On, exit task will be Fast Charge Off. If you’ve got decent sleeping habits you’re not going to notice anything other than (hopefully,) a fully charged phone.
The basis of the idea was also a lot of travel time is spent with a phone tethered to a laptop for power. The laptop has a charger, but I can’t count the number of times I’ve only left the state with a phone, laptop, laptop charger, and a USB cable to juice up my phone.