[Droid Incredible Android Development] Neo:
Undervolting with Incredicontrol

A month or so ago I had talked about a certain project I had taken on. I was determined to find the lowest stable undervolted settings for each specific cpu frequency in an effort to further maximize the phone’s battery life.

I began by setting my governor on the latest Incredikernel to performance, so that it would run at the maximum setting. I then set both the minimum and maximum governor frequencies identically. This would ensure that my system was only running at that exact frequency. Then, I ran a cpu stress test, along with Pandora actively streaming music, all the while either playing Angry Birds or jumping in and out of forum threads as a means to put the maximum demand on the cpu. If after a few minutes of this the phone continued to respond normally, I would then undervolt that particular frequency’s Max volt by -25 (save) within Incredicontrol. I continued with this process testing each undervolt dropping every few minutes until my phone became “unstable”. If I started getting app force closes, screen freezes, reboots, or an overall system lock up, I would know that I had undervolted too far. I did this testing with every frequency available and compiled a list of those specific undervolts.

Now, knowing that everyone’s Incredible is different, I added an additional +50 to my currently stable undervolt settings for the volt maximum’s to ensure that most (if not every user) would be able to benefit from my hard work without complications. If you feel like a dare devil however and want to further drop those max settings more, by all means you’re welcome to. However, I can not guarantee that you won’t have problems either immediately or hours later..

I do know that Chad compiled a max script himself but I do not know how he went about testing the frequencies. I do know that my phone was unable to handle his aggressive-script settings at the time. This is a modified version of one of his scripts.

If you currently use Incredicontrol, you will need to select the “Restore Defaults” button at the very bottom of the HAVS section and reboot your phone. This will eliminate any current “at boot” settings that will prevent my script from making the proper settings. After the reboot, go into Incredicontrol just to be sure the defaults have been restored. Now, reboot into recovery and flash the script. That’s it! I hope this works for you. Let me know what you think and if you notice any power saving difference. Since we’re dealing with a literal power control, there will be a power saving difference whether it be immediately noticeable or long term.

Please note that you are not required to run the Incredikernel for Incredicontrol to work. You just need to be on a Kernel that supports HAVS.

Thank you Chad for creating Incredicontrol and I hope at some point that you are given enough free time to further improve this excellent app.

EDIT: Some users are experiencing boot loops when trying to flash my script so since Incredicontrol IS a user controllable app, I can just post the frequencies if people are having problems with the script.

Here they are:

Freq.__ Min Max

128000 700 875

245000 700 900

384000 700 925

422400 700 950

460800 700 950

499200 700 975

537600 700 1000

576000 700 1025

614400 700 1025

652800 700 1050

691200 700 1075

729600 700 1100

768000 700 1125

806400 700 1150

844800 700 1175

883200 700 1175

921600 700 1200

960000 700 1200

998400 700 1225

1036800 700 1250

1075200 700 1275

1113600 700 1300