I heard that charging li-ion batteries to less voltage value heavily increases number of (charge-discharge) cycles, while decreasing phone work time(energy return from charge) only for a little.

enter image description here

Charging only a half of capacity increases number of charges 3x, so there is 1.5x outcome in energy that i could get from battery for its life. I have 5000 mAh battery, and a huge power bank. It is very big capacity, and i am ready to sacrifice some working time to prolong battery life for years as much as possible.

So for now it could charge to 4.2V to 100%, and i want to "reconfigure" or "recalibrate" BMS. It should "think" for example that 3.9V is 100% charge and stop charging it, and 3.6V is a 0% and is a device shutdown voltage.

How to set this in Android?

  • Graph appears to be from Battery University (from memory). In any case it doesn't hurt, rather it is recommended to link the source
    – beeshyams
    Commented Oct 9, 2018 at 20:20
  • @beeshyams energymag.net/dod-depth-of-discharge
    – xakepp35
    Commented Oct 9, 2018 at 20:34
  • Thanks. But the graph is for Nickel-Iron. Android devices use Li-ion or Li-Po so the values may be wrong for this discussion (while the trend is similar) . See Battery University and sources quoted in the linked answers (the last one)
    – beeshyams
    Commented Oct 9, 2018 at 20:41
  • That's not the right chart for what you're doing — that's a chart for if you charged after discharging your phone to 50% instead of 0%. Limiting the voltage the battery is charged to is much more effective; your increase for charging to 3.9V is ≈8x. See batteryuniversity.com/learn/article/… for details.
    – derobert
    Commented Oct 11, 2018 at 20:18
  • @derobert, I want to set 3.9V as 100% of battery instead of 4.3V to not ruin it! But i haven't rooted my phone yet, this seems ti be required to set upper limit.
    – xakepp35
    Commented Oct 16, 2018 at 10:20

1 Answer 1


For starters your device needs to be rooted ( see )

One way could be to fool the system by pretending you have a smaller mAh capacity battery so that it stops charging prematurely (relative to actual capacity) but that's tough because the battery capacity files are hard coded into the kernel, so you need to "cook" your kernel. See
Where are the battery capacity files located?

Practical alternative is to stop charging at a level that matches your desired voltage.


Also see Ideal charging / discharging percentage for maximum battery life?

Rather than actually figuring out the voltage levels at which you want to charge / shutdown , it is easier to go by battery charged level and stop charging


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .