[UTILITY] Battery calibration tools

Search This thread

pgr1979

Senior Member
May 10, 2009
81
4
very strange, I checked with root explorer and I have this dir with files inside (CM7 nightly 11 15 2011), but with battery calibrator seems that I am not able to modify anything... :-(
 

Dr Byte

Senior Member
Oct 22, 2010
205
104
Just did a calibration run on my newish battery, because it was at least 9% off at empty. Yet another bust. Will see if it runs down below 9% this time.

ACR Adjustment is really hit-and-miss on my phone; it works about one time in 20 or more. Both batteries.

I tried pushing values into register 10 to compensate to make sure it ran all the way down to 3.416V, but this never registered on the first panel. Age, AEV, and Min.Charge.Current all changed properly.

On a whim, I tried pushing "10" into register 10, and lo! it did change the "remaining mAh", to about 1716mAh (from zero)... both times I tried it. One time, it stayed at zero but showed at 1716 after I restarted the calibration app.

Same result though as the other battery: resultant age was 100%, 1438mAh. Either my phone or BOTH my batteries have a data-path problem with writing to the chip. :(

I'll need to do another calibration run because the battery was quite hot when I started this one, and it took five attempts to get learn mode to trigger (because ACR adjustment didn't kick in, and register 10 didn't work with values <10). It simply powered off. :(

Code:
[19659.051849] batt:  91%, 4182 mV, 24 mA (24 avg), 31.0 C, 1307 mAh, CM=1
[19709.371520] batt:  91%, 4182 mV, 24 mA (24 avg), 31.0 C, 1307 mAh, CM=1
[19759.482940] batt:  91%, 4182 mV, 23 mA (24 avg), 31.0 C, 1307 mAh, CM=1
[19809.619445] batt:  91%, 4182 mV, 23 mA (22 avg), 31.0 C, 1307 mAh, CM=1
[19867.305145] batt: 100%, 4182 mV, 24 mA (17 avg), 31.0 C, 1440 mAh, CM=1
[19867.350280] batt: charging BATTOFF [FULL]
[19917.465301] batt: 100%, 4177 mV, 0 mA (0 avg), 31.0 C, 1440 mAh, CM=3
[19967.664306] batt: 100%, 4177 mV, 0 mA (0 avg), 31.0 C, 1440 mAh, CM=3
[20017.789123] batt: 100%, 4177 mV, 0 mA (0 avg), 31.0 C, 1440 mAh, CM=3

However, in CurrentWidget.log overnight, I am seeing values down as low as -1mA quite frequently now - possibly because this operation failed, but mostly because I now operate the phone in "3G voice only" mode while I sleep, reaching 5d 18h on the marathon run where it died at 9%.

Edit: No, the reason is that the app left the phone in Airplane mode, and that 'stuck' after a reboot. Still notable that it is recording 1mA where Airplane was 2-3 before. Hmmmmmm. However, "Overnight" mode is back to 3mA with an occasional 4mA. KNEW it was too good to be true :)

I don't think a 40ish-cycle battery used for about 80 days could possibly have aged to 90% already, let alone run for the better part of six days without a charge. Something is not right in the state of Denmark, as they say.

I know it's not the software, because plenty of others use the same .apk I do, so it must be something to do with my hardware... but damn, this phone is a pain to calibrate!

PS: anyone know of a "filter" program to convert the timestamps in a kernel log to time-since-boot or wall-clock time?
 
Last edited:

boardlord

Senior Member
Apr 16, 2006
266
56
Hello!

I'm one of the few unlucky whose replacement battery cannot be calibrated
(full 40: 27 306). As I surmised from this thread this doesn't necessarily mean that my battery is a knock-off (is there a way to check this definitely?).

However, the battery's charge is decreasing at a phenomenal rate (for ex: more than 12% in airplane mode in ~7 hours!). I wiped the battery stats when it was charged to 100%. This kind of drain does not happen with my 2year-old original battery...

So, either the reported stats are way off despite the wipe, or I have a knock-off, right?

The packaging seemed kosher to me (but that doesn't count anything in today's world...).
 

Attachments

  • CameraZOOM-20120106093844284.jpg
    CameraZOOM-20120106093844284.jpg
    89.4 KB · Views: 154
  • CameraZOOM-20120106093928672.jpg
    CameraZOOM-20120106093928672.jpg
    79.9 KB · Views: 153

boardlord

Senior Member
Apr 16, 2006
266
56
Hi!

Here it is: P/N 35H00132-05M.
Since the drain continued today (from 86% to 25% between 7am and 1pm with minimal usage) I decided to have it replaced. The new one will arrive next Tuesday or Wednesday and hopefully it will work as expected and it will be able to be calibrated...
 

7_michel

Senior Member
Oct 3, 2011
55
17
78michel.unblog.fr
In my opinion battery calibration is only necessary when the battery get old and has lost some significant amount of its original capacity ( like the xxx-01M and xxx.05M shown in my analysis). Normally a stock battery should be calibrated when its came.
As an example the ''unbranded battery'' I checked for comparison come calibrated too. I am using it without any problem since then.....
 

Dr Byte

Senior Member
Oct 22, 2010
205
104
Second calibration run on new battery

Just completed a second calibration run on the "new" genuine HTC battery, and I'm more than a little disappointed.

It only has about 40-50 cycles on it at most, but the capacity is down to 91% (1310mAh) already :( That's about the same as my nearly 2yo battery.

For the first time ever (and about the fourth time including #1 battery) the App started the calibration on the first attempt. As above, I pushed "10" into register 10 to make absolutely sure it didn't shut down from "0mAh" before the voltage hit AEV.

The voltage swung up normally for a USB charge, but the capacity topped out at 1310mAh. I'm even thinking of throwing it back at HTC for a replacement. However, I plan to get a Galaxy Nexus or equivalent pretty soon anyway, so I guess it's pretty moot.

Once again, pushing a value of <10 into register 10 didn't work. No effect.

Once again, maintaining a perfect record, the age at the end was 100% :( - out of 30-40 attempts on two batteries, I have never seen the age set :(

I find when I set the "age" on my batteries <100, I get less "useful" capacity from a charge - so I guess I just have to live with knowing that my batteries will die at 11% and 9% for the 2yo and 4mo respectively! With light usage, the new one will go 3-4 days easily, but I have tuned the power usage to within an atto-erg of its optimum :)
 

boardlord

Senior Member
Apr 16, 2006
266
56
Hi!

Here it is: P/N 35H00132-05M.
Since the drain continued today (from 86% to 25% between 7am and 1pm with minimal usage) I decided to have it replaced. The new one will arrive next Tuesday or Wednesday and hopefully it will work as expected and it will be able to be calibrated...

I got my replacement battery, and this one gives normal data in the app fortunately. However there is something strange going on. As I burn the battery so that the learn cycle can begin, when the capacity falls to around 160 mAh, the current jumps to -2200 mA, and after that the capacity jumps up to 250 mAh. This repeats 3 times, and only after this will the battery go down to zero. After two calibration runs the age stays 100%.

However, it still discharges quicker than my 2-year-old orig Nexus battery... I need to wait a few charge cycles until I see a better performance that my old battery? Thanks
 
Last edited:

trschober

Member
Jul 29, 2010
44
9
Santiago
I got my replacement battery, and this one gives normal data in the app fortunately. However there is something strange going on. As I burn the battery so that the learn cycle can begin, when the capacity falls to around 160 mAh, the current jumps to -2200 mA, and after that the capacity jumps up to 250 mAh. This repeats 3 times, and only after this will the battery go down to zero. After two calibration runs the age stays 100%.

However, it still discharges quicker than my 2-year-old orig Nexus battery... I need to wait a few charge cycles until I see a better performance that my old battery? Thanks

as per the first post, that is completely normal, the app will raise the capacity automatically:

c. if Capacity/mAh drops to near empty prior to 3201mV being reached, the app will automatically raise capacity by 200mAh so phone doesn't auto-shutdown prior to reaching 3201mV
 
  • Like
Reactions: boardlord

boardlord

Senior Member
Apr 16, 2006
266
56
*facepalm* :) thanks!

Now the only question is why does the new battery discharge faster than the old one? The calibration affirms that its new, since the age is 100%...
 

freddylam

Senior Member
Feb 26, 2008
119
14
I have problem with the capacity test.

Not original battery.
So at the start of the calibration, I set the full40 at 1650 (orginally 1452)
after finishing calibration the batt age was 94%, but the battery starts at 100%, dies at 0%, so I think it's calibrated.

Then I proceeded to capacity test and I noticed that the battery jumped from 72% directly to 100%.

At 100%
Capacity continue to go up with >300 current (See attached image)
It plateau at 1985mAh but didn't drop back to the set full40 (1650)


What actually going on?


Thanks!!
 

Attachments

  • Screenshot_2012-01-25-20-09-25.jpg
    Screenshot_2012-01-25-20-09-25.jpg
    36 KB · Views: 236
  • Screenshot_2012-01-25-20-11-51.jpg
    Screenshot_2012-01-25-20-11-51.jpg
    39 KB · Views: 233
Last edited:

falconyx

Senior Member
Jan 1, 2011
238
38
Sofia
Guys, I'm really sorry if this has been asked, but thread is really huge and I dont have that much time: when trying to drain my stock battery and waiting for learn mode to activate I always get my battery to 10-11% and then it jumps back to 17%. Now I read through guide quite a few times and realize that this is probably normal but I don't really know how to proceed...should I just keep waiting?

Also, what is the best way to drain battery so that I can quickly enough see that learn mode is achieved and immediately plug in charger? I figured maybe watching youtube in portrait view since then I can also see my battery %. Thanks for any tips!

P.S. I've set all values in the learn prep tab correctly, that I double checked!
 

hchao

Member
Feb 4, 2012
19
3
[Q] battery showing 1% but well above 3600mV

My Desire HD always shows battery to be well above 3600mV when the battery meter is at 1%..0%.

When fully charged, the battery is at 4211mV.

Is this normal?
I read from this thread and the instructions for the Battery calibration tool that the battery should go down to 3201mV to be at 0%. 3600mV to 3201mV is a quite wide range, so I'm wondering if a large portion of the battery capacity is wasted and not used.

I have tried various calibration methods, but it's still the same.
The "[UTILITY] Battery calibration tools" downloaded from Market does not work on my DHD. The tool is for batteries with the ds2784 chip, but my DHD is showing it has a ds2746 chip--from the driver directory.

I have tried to let the battery reach 0% and have a forced shutdown, and after that, I boot into recovery and let it stand for more than 10 minutes. And then after a reboot, the battery would be at below 3400mV. I could repeat the same procedure again, but I was afraid of deep discharging the battery to below 3201mV and damaging it.

Is there any way to calibrate the battery so that it's below 3300mV when the battery meter shows 1% (short of using the tool offered in this thread)?

Thanks.
 

theloginwithnoname

Senior Member
Mar 19, 2010
669
48
[snip]
The "[UTILITY] Battery calibration tools" downloaded from Market does not work on my DHD. The tool is for batteries with the ds2784 chip, but my DHD is showing it has a ds2746 chip--from the driver directory.
I'd be amazed if there were vast differences between them - there's no reason why you couldn't work out the registers for your battery and add in the various functions (as we did) into the kernel code that return the values in those registers, which would make it compatible with (and therefore you could use) this tool.

What kernel are you running BTW?
 

RogerPodacter

Senior Member
Apr 12, 2010
5,654
425
Los Angeles, CA
My Desire HD always shows battery to be well above 3600mV when the battery meter is at 1%..0%.

When fully charged, the battery is at 4211mV.

Is this normal?
I read from this thread and the instructions for the Battery calibration tool that the battery should go down to 3201mV to be at 0%. 3600mV to 3201mV is a quite wide range, so I'm wondering if a large portion of the battery capacity is wasted and not used.

I have tried various calibration methods, but it's still the same.
The "[UTILITY] Battery calibration tools" downloaded from Market does not work on my DHD. The tool is for batteries with the ds2784 chip, but my DHD is showing it has a ds2746 chip--from the driver directory.

I have tried to let the battery reach 0% and have a forced shutdown, and after that, I boot into recovery and let it stand for more than 10 minutes. And then after a reboot, the battery would be at below 3400mV. I could repeat the same procedure again, but I was afraid of deep discharging the battery to below 3201mV and damaging it.

Is there any way to calibrate the battery so that it's below 3300mV when the battery meter shows 1% (short of using the tool offered in this thread)?

Thanks.

Yes i looked at drivers for the ds2746, but these tools wont work unless you modify the driver. Also look at the ds2746 data sheet cause its a little different than the ds2784. Would be a great project.

I'd be amazed if there were vast differences between them - there's no reason why you couldn't work out the registers for your battery and add in the various functions (as we did) into the kernel code that return the values in those registers, which would make it compatible with (and therefore you could use) this tool.

What kernel are you running BTW?

Howdy noname, yeah i'm trying to remember details but its been so long. Remember all those pdfs we found? Well some of those were for ds2746 showing all the registers and calculations. So its def possible. A DHD owner would need to edit their driver and test on their device. Then we could even update the app in this thread to work for both drivers. All the code is still up on github for anyone to use. This was a great project.
 

hchao

Member
Feb 4, 2012
19
3
I'd be amazed if there were vast differences between them - there's no reason why you couldn't work out the registers for your battery and add in the various functions (as we did) into the kernel code that return the values in those registers, which would make it compatible with (and therefore you could use) this tool.

What kernel are you running BTW?

Hi, thanks for answering my quest. Very true that there should be no reason to not be able to make a tool work with the battery on DHD, given the info. and source code available here. But I'm no kernel hacker, and the last time I touched anything UNIX/Linux related was over 10 years ago. It's just natural laziness to ask first in the hope that something might be available already. :p

I'm running an older (3.4) version of Leedroid kernel, and I've switched between 3.4 and 4.0. 3.4 seems to be a little more power conserving: I normally get -1ma with standby in flight mode.

---------- Post added at 01:09 AM ---------- Previous post was at 01:07 AM ----------

Yes i looked at drivers for the ds2746, but these tools wont work unless you modify the driver. Also look at the ds2746 data sheet cause its a little different than the ds2784. Would be a great project.

Howdy noname, yeah i'm trying to remember details but its been so long. Remember all those pdfs we found? Well some of those were for ds2746 showing all the registers and calculations. So its def possible. A DHD owner would need to edit their driver and test on their device. Then we could even update the app in this thread to work for both drivers. All the code is still up on github for anyone to use. This was a great project.

Thank you for answering my quest as well.

I don't know how to edit the driver. If you want to make this tool work with ds2746, and I can get help to jump-start the kernel and battery driver side, I'd be more than happy to work with you and test on DHD.

---------------------

Yesterday I experienced something very strange: my DHD was on standby for 7+hours, and the power stayed at 8% (3723mv) for that entire period. Normally with an already very power-saving Leedroid kernel, it would consume ~1% every two hours or so on standby. After I resumed the DHD and used it for over an hour, it finally shut down itself. But when I recharged it, it's almost full and reached 4209mv when the battery meter showed the battery was 80% full, and it then jumped to 100% (4211mv) in 10 minutes. This happened after I booted into recovery and let the device shut down by itself after it had automatically shut down on 0% battery on a regular run, and then I plug in the cable for a full charge. (I did check the battery, and it was about 3500mv when it rebooted from the discharge in recovery.) But when it's fully charged again, I didn't do a battery stats wipe. Looks like I managed to lower the lower boundary (used to be well above 3600mv at 0%), but the higher boundary/percentage got messed up (now 4209mv for 80%).

I don't know if it's just an aged battery or I really need a battery calibration tool like the one this thread offers. I'll do another full charge+battery stats wipe to see how it goes.
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 35
    I'm using the latest app with Pershoot's latest kernel. found no issue so far, the apps works very well :D
    on "Learn Prep" page this time I'm able to set both age to max and Full40 value, before the release I could only set age to max.

    by the way, may I ask a question please :)
    I'm using Nexus One OEM battery, what Full40 value would you suggest to use?
    Also, recently my phone powers off before learn flag goes on, voltage was at around 3.42v, is this normal?

    How to calibrate your battery using the Battery Calibrator App....
    1. Use the battery calibrator app v.1.3.0 to do the following:
    a. Open the app and go to menu>settings and check all boxes. Auto-on airplane mode is optional
    b. set your age to 100 using the battery app under the Learn Prep tab and press Save
    c. set your full40 to 1452mAh in the same tab if using the stock capacity OEM battery and press Save
    NOTE: set your full40 to 1650mAh or higher if using an aftermarket battery and save

    2. In the Learn Prep tab:
    a. set your aEvolts to 3201 (type on each line: Register:0x 66 Value: a4 and press save)
    b. set your stop charging current to <20mA (Register:0x 65 Value: 06 and press save)
    c. if Capacity/mAh drops to near empty prior to 3201mV being reached, the app will automatically raise capacity by 200mAh so phone doesn't auto-shutdown prior to reaching 3201mV

    3. Achieving Learn Mode with the app:
    a. turn learn mode on in Learn Mode tab
    NOTE: to hit learn mode you must keep your current mA above -200mA draw at the empty point! The app will automatically enable GPS polling to keep you above the required minimum current draw.
    b. wait for mV to drop to 3201mV (the learn mode pop-up box will appear & learnf button will light up)
    c. insert charger IMMEDIATELY! (You will see a pop-up message saying Learn Mode is active.)
    d. turn off and close any open apps you have running, but leave Battery Calibrator open.
    e. put phone into airplane mode so that you don’t get unexpected current draw near the full point.
    f. set SetCPU profile to disable overclocking. (set min/max to the same value, ie. 998\998max)
    g. charge for a full 4 hrs with stock battery and screen off, 5 hrs for larger capacity batterys.
    NOTE: if you want to, you can actually use your phone until the charge reaches 80-90%, then use airplane mode and DO NOT touch the phone, peek, turn on the screen....DO NOTHING but walk away til time is up.
    h. unplug and reboot, your new age should be set automatically. Learn is now complete and your phone should now charge to 100% and die at 0-1%. Also, some have reported having to manually power down/power up with the new app to have age reset by the application. If age isn’t change upon reboot, try power off/power on.

    4. Learn Failure:
    If your new age shows 94% upon rebooting, then learn mode failed and you need to do it again, paying close attention as charging nears 80% and above. This is where learn mode can be lost by rogue apps, auto-updates, calls, etc pulling the current down below the minimum prematurely.

    Note1: As current gets close to <50-60mA don't touch the phone or you may artifically increase the current draw pulling it below 20mA and it will end the learn cycle prematurely. Airplane mode helps prevent that.

    Note2: Learn mode cannot be achieve with the phone off. Leave the phone on until learn is complete and the battery status register shows 0x81. Done!

    How to perform a Capacity Test for your battery. Credit goes to the infamous Temasek!

    Prepare for another learn cycle
    This time we will do what I call a capacity test.
    Perform another learn cycle.
    Once cycle completed do not reboot. Check your battery log using an app like OS Monitor. See your highest achieved capacity at 99-100% before it completed its charge. The capacity should drop below your full40. Read the log properly. The highest achieved capacity before it drop below your full40 will be your new full40 value.
    With your new full40 value, perform yet another learn cycle.
    Enjoy your new calibrated battery!

    Congrats to Roger, Login and Jon...the app is FREE in the Market now!!!
    13
    progress status and useable findings

    status

    we have made mods to the kernel code (based on 2.6.35.x) to
    • make any register writable
    • make the following registers readable: AGE, Vae (ACTIVE_EMPTY_VOLT), and Status Reg (STS)
    • allow read/write of these registers via virtual files
    • remove pseudo-extended battery charging
    • edit 2010/11/17: created a "dumpreg" file to show all registers and their current values
    edit 2010/11/17:
    work is being done on a GUI app with the following initial functionality:

    • show when learn mode is hit
    • save age when learn mode is complete
    the following functionality may be in:

    • option to restore age when app launched


    HOW-TO

    mtw4991 said:
    How to calibrate your battery using the Battery Calibrator App....
    (original text: http://xdaforums.com/showpost.php?p=9583271&postcount=340)

    1. Use the battery calibrator app v.1.3.0 to do the following:
    a. Open the app and go to menu>settings and check all boxes. Auto-on airplane mode is optional
    b. set your age to 100 using the battery app under the Learn Prep tab and press Save
    c. set your full40 to 1452mAh in the same tab if using the stock capacity OEM battery and press Save
    NOTE: set your full40 to 1650mAh or higher if using an aftermarket battery and save

    2. In the Learn Prep tab:
    a. set your aEvolts to 3201 (type on each line: Register:0x 66 Value: a4 and press save)
    b. set your stop charging current to <20mA (Register:0x 65 Value: 06 and press save)
    c. if Capacity/mAh drops to near empty prior to 3201mV being reached, the app will automatically raise capacity by 200mAh so phone doesn't auto-shutdown prior to reaching 3201mV

    3. Achieving Learn Mode with the app:
    a. turn learn mode on in Learn Mode tab
    NOTE: to hit learn mode you must keep your current mA above -200mA draw at the empty point! The app will automatically enable GPS polling to keep you above the required minimum current draw.
    b. wait for mV to drop to 3201mV (the learn mode pop-up box will appear & learnf button will light up)
    c. insert charger IMMEDIATELY! (You will see a pop-up message saying Learn Mode is active.)
    d. turn off and close any open apps you have running, but leave Battery Calibrator open.
    e. put phone into airplane mode so that you don’t get unexpected current draw near the full point.
    f. set SetCPU profile to disable overclocking. (set min/max to the same value, ie. 998\998max)
    g. charge for a full 4 hrs with stock battery and screen off, 5 hrs for larger capacity batterys.
    NOTE: if you want to, you can actually use your phone until the charge reaches 80-90%, then use airplane mode and DO NOT touch the phone, peek, turn on the screen....DO NOTHING but walk away til time is up.
    h. unplug and reboot, your new age should be set automatically. Learn is now complete and your phone should now charge to 100% and die at 0-1%. Also, some have reported having to manually power down/power up with the new app to have age reset by the application. If age isn’t change upon reboot, try power off/power on.

    4. Learn Failure:
    If your new age shows 94% upon rebooting, then learn mode failed and you need to do it again, paying close attention as charging nears 80% and above. This is where learn mode can be lost by rogue apps, auto-updates, calls, etc pulling the current down below the minimum prematurely.

    Note1: As current gets close to <50-60mA don't touch the phone or you may artifically increase the current draw pulling it below 20mA and it will end the learn cycle prematurely. Airplane mode helps prevent that.

    Note2: Learn mode cannot be achieve with the phone off. Leave the phone on until learn is complete and the battery status register shows 0x81. Done!

    How to perform a Capacity Test for your battery. Credit goes to the infamous Temasek!

    Prepare for another learn cycle
    This time we will do what I call a capacity test.
    Perform another learn cycle.
    Once cycle completed do not reboot. Check your battery log using an app like OS Monitor. See your highest achieved capacity at 99-100% before it completed its charge. The capacity should drop below your full40. Read the log properly. The highest achieved capacity before it drop below your full40 will be your new full40 value.
    With your new full40 value, perform yet another learn cycle.
    Enjoy your new calibrated battery!

    HOW-TO2:
    http://xdaforums.com/showpost.php?p=24599586&postcount=284 (as requested by St4hli)
    6
    reference material

    battery manufacturer technical info
    1. DS2784 data sheet - http://datasheets.maxim-ic.com/en/ds/DS2784.pdf
    2. Storing Fuel Gauge Parameters in the DS2784 - http://pdfserv.maxim-ic.com/en/an/AN4043.pdf
    3. Lithium-Ion Cell Fuel Gauging with Maxim Battery Monitor ICs - http://pdfserv.maxim-ic.com/en/an/AN131.pdf
    code


    app availability


    reference info


    related apps


    specific code references
    (with reference to the manufacturer battery info above)
    • 1 - CONTROL REGISTER FORMAT - page 12 - UVEN—Undervoltage Enable
    • 1 - CAPACITY ESTIMATION ALGORITHM - page 21 - Figure 3: Top-Level Algorithm Diagram
    • 1 - page 24
      • from Active Empty Voltage (VAE) - includes Aging Capacity (AC) and Age Scalar (AS)
      • CAPACITY ESTIMATION OPERATION - Learn Function ("A continuous charge from empty to full results in a learn cycle." then "First, the active empty point must be detected."!!)
    • 1 - page 25 - STATUS REGISTER FORMAT
    • (to be completed)


    with thanks to RogerPodacter for his help in compiling this list
    4
    This thread is for those following the battery calibration thread that would like to help build tools to read and set some advanced battery values, and ultimately recalibrate in learning mode.

    It takes its inspiration from this forum thread over at precentral :

    http://forums.precentral.net/palm-pre/256967-find-out-how-good-bad-your-battery.html

    See HOW-TO in post 3 below, or in-thread post from mtw4991, for instructions on using app to calibrate
    4
    So basically ,
    after the first calibration, We just need to set full40 = 1180,
    Register : 0x 65 , value HEX
    0x66: value HEX
    Is that how it should be done?
    Thanks for your help =)

    1180 is my example - you can find this out by copying the Capacity (mAh) value at the first page of the app, after the calibration is completed.

    Another thing, don't set Full40 to 1180 (capacity value), but set it to 1180 / 0.94 - it should be slightly higher. (if your cap. is 1200; you should set it to 1200/0.94 = 1276.5 --> 1276)

    You don't need to reset 65 and 66 again, but maybe 62 and 63 - the values to write there is [ Capacity * 15 / 6.25 ]. You should convert this to hex and write to 62 and 63.

    Example:

    Say, I have 1452 mAh battery. I've calibrated it (exactly like described) and turned out my battery age is 75%.

    Now, my actual capacity, then, turns out to be 1452 * 0.75 = 1089.

    My new Full40 value becomes: 1089 / 0.94 = 1158.5 ~ 1159.

    Now, we're setting the age back to 94% - it's because the phone does this when charged off anyway.

    Now, setting Full40 value to our new Full40 -> 1159.

    ---- Note: I've seen that following part is actually not necessary, but if you want to give it a shot, go ahead: -----------------

    Now, the hard part, we must set "Aged capacity" because this value is used when you charge your phone off (Correction: I thought this way but it wasn't the case). First, we find the value to write, then convert it to HEX.

    1- Calculate the value to write: 1089 * 15 / 6.25 = 2613.6 --> 2613
    2- Convert it to Hex: 2613 ---> 0A35
    3- Write it to registers (from the second page of application):
    a) Register 0x62 -> 0A -> press Save
    b) Register 0x63 -> 35 -> press Save

    DONE! Now you have permanently set your calibration!