8.5 hours of SOT on Android!

I love Android phones but I don’t always enjoy the short battery life that I get on my phones. I hate that I have to charge my phone at least 2 times a day if I want to use it the way I want (always browsing the web, checking Facebook, watching Youtube, and have some background tasks running all the time)
I do not run heavy games or apps that require a lot of processing power so I thought I could use the flexibility of Android to get more hours from one charge.

My device:

I have a Oneplus One. Here are the specs of that device. Basically it has an average battery capacity and screen size. So there is nothing special about the hardware that makes this possible.

My phone is rooted and has a custom recovery.

What I did:

  • Flashed to the latest CyanogenMod ROM CM13
    CM13 is the beta Marshmallow (Android 6.0) for Oneplus One. Android M is known to have a good battery optimization by the newly introduces Doze mode. This optimization works on most apps when the phone is stationary and the screen is off for sometime where the system attempts to conserve battery by restricting apps’ access to network and CPU-intensive services.
    This is great but my problem is mainly that the phone drains the battery very fast while the screen is on. To solve this here comes the next step
  • Flashed a custom Kernel
    I researched and tried a lot of kernels that are (can be) optimized for better battery. I decided to use Boeflla Kernel. This kernel stays very close to stock kernel to avoid major issues, but it allows a good level of customization. Boeflla kernel also comes with a configuration app, that makes it easy to create different profiles and change the values.
  • Created a battery saving profile
    In this profile I underclocked the CPU and GPU and undervolted CPU.
    I also changed the CPU governor to a more power conservative governor.

Here are some screenshots of my profile:

bc1Governor: zzmoove
Governor profile: zzmoove battery extreme yank
Scheduler: zen
Readahead buffer: 1024

bc2Max frequency: 1574
Min frequency: 300Hotplug profile: zzmoove native 2 cores max
CPU tweaks: Aggressive
UV Profile: undervolt heavy

bc3GPU Governor: powersave
GPU Max frequency: 389
GPU Min frequency: 27

I only changed input boost frequency [MHz] to 883

System tweaks: Boeffla tweaks

The result:

As a result I get about 17 hours of life on one full charge.
(from 7pm to 12:15pm the next day)


And an amazing 8.5 hours of screen on time!

2 thoughts on “8.5 hours of SOT on Android!”

    1. I was using CyanogenMod 13 and the custom Kernal I used that allows me to make the changes is Boeflla (which comes with an app that allows you to easily change the settings) Read the steps above for more details.

Leave a Reply