yashsingh1/xdaforums huggingface dataset:
[Nexus One Android Development] temasek:
Such thing happens when charge current went below min charge current and before u reach 100%. So your 96% -> 100% is fake. Meaning your battery will die 4% earlier.

Say example your battery is a learned battery with possible 0% battery level. During normal charge to 98% I suddenly did something to draw current so great that it dips below the min charge current of 40mA, it will jump to 100% battery level. In this case, my battery will die at 2% instead till I resume a normal charge to 100% then I can drain till 0%.

I can replicate the above scenario anytime cuz during my work time I am using usb charging from my work pc.
[Nexus One Android Development] mtw4991:
Yeah, unfortunately I know this also so I just set it back to 96% and all is good again ;), but I do need to redo the learn mode to keep it at 0% and reliable.
[Nexus One Android Development] temasek:
If u already achieved a learn battery age, you do not have to periodically redo learn cycle again cuz your battery age should auto drop.
[Nexus One Android Development] madjsp:
sigh. 6 times in a row my battery has died at 3205. It was actually at 3170, but the learn flag didn't turn on until it was auto powering off.

i give up.
[Nexus One Android Development] Smokeaire:
From what I've been reading there are batteries that can be calibrated and batteries that can't be. Is there a list or someway to tell which can be calibrated?
[Nexus One Android Development] triciopa:
Under what conditions would it be necessary to do a learn cycle again??
[Nexus One Android Development] temasek:
If you consistently unable to drain battery till 0%

, then yes you may have to redo. But seriously I can't think of an example that would result to doing learn cycle again.

Also note that even after a learn cycle, at times u

MAY

be unable to drain till 0% due to activities that require huge current resulting in higher than normal battery drainage. This is normal so not to worry and u do not have to redo learn cycle for such incident.
[Nexus One Android Development] temasek:
From the appearance one is unable to tell whether that battery can or cannot be calibrated. It's the EEPROM where one reads/edits its registers to enable battery calibration. So no, there isn't a list anywhere, at least not to my knowledge.

But,

I believe batteries from reputed companies should be able to perform calibration. Example, Mugen & Seidio.

Those from ebay, some yes (including myself) and many no. As such I really cannot recommend buying batteries (unknown brands) from ebay. Maybe the recent purchases by users were actually from the same batch of batteries (faulty EEPROM or something).
[Nexus One Android Development] Smokeaire:
.

Thanks, Temasek. As always you are the fountain of knowledge.
[Nexus One Android Development] JacksFull:
What about the ones from htcrepairparts.com?
[Nexus One Android Development] temasek:
Roger bought himself a 1600mAh battery and he calibrated it good. But another user also bought one from there and was unable to calibrate. So idk if that store is good or just pure unlucky.
[Nexus One Android Development] chowlala:
I'm still waiting for my new set to arrive from hk! Haha. Been lurking since then. Busy at work too. sigh.
[Nexus One Android Development] RogerPodacter:
7 days ago my battery age dropped AGAIN down to 97%. this thing is just getting hammered:(.
[Nexus One Android Development] mysaturdayself:
I tried twice and my battery jumps at around 86 to 100 at both times..

don't know where I did it wrong or is it possible just the battery decays? ( had it for a year or so now)
[Nexus One Android Development] RogerPodacter:
Yes the battery decays over time. That is PRECISELY what this thread determines and adjusts for. The age of the battery loses charge over time, and you need to find out what that decay degree is. Performing a learn cycle does that.

I don't know why yours failed twice now without knowing more info. Just make sure you pull more than 200mA when you reach empty volt.
[Nexus One Android Development] Omiclops:
After doing learn mode and stuff my battery age is 89% and I've had the phone since roughly July. Is that bad?
[Nexus One Android Development] temasek:
Mine still at 99% :p
[Nexus One Android Development] temasek:
Your battery is about 7 months old. So I say 89% is a good figure for a stock battery cuz stock battery starts its age at 94%.
[Nexus One Android Development] RogerPodacter:
That's pretty good age, above the average or close to it I'd say. You're good to go.
[Nexus One Android Development] RogerPodacter:
Damn and you bought your battery before I did I think! :-)
[Nexus One Android Development] temasek:
Yup. :)

Maybe I set the age capacity = full40 from day 1........
[Nexus One Android Development] Breece:
I actually even received a replacement which I was not able to calibrate.. So i cannot recommend htcrepairparts.. Ok their customer support is very good, but the batteries are not ;)

Even the "old fashioned" way with draining the battery and doing an offline recharge did not help much, battery stays at 22% for "ever"
[Nexus One Android Development] Nighthound:
My stock battery which I've been using for 1+ years is at ~82% now. I'm thinking of getting a new 1600mAh replacement. Initially I wanted to buy one off ebay, but after reading other users' experiences with faulty calibrations, I'm having second thoughts. Does anyone know of a good source to get a 1600mAh battery that is the same size as stock?
[Nexus One Android Development] waylo:
Comments anyone?

http://gizmodo.com/#!5761317/how-to-take-care-of-your-li+ion-battery
[Nexus One Android Development] temasek:
Agree on the point 1 but lmao its all common sense.

By performing calibration thru a learn cycle it allows battery to drain till 0% but no one will always drain it till 0%.

The assurance is that u know your battery can do it but not necessary need to do it.

You know when your battery will drained rather than guessing when your battery will be flat.
[Nexus One Android Development] mtw4991:
Nope, ill informed generalizations is all that is and gizmodo is all about apple..go figure lmao!

Edit: how many people know how to get a battery out of ANY apple product much less an Iphone? Just asking..
[Nexus One Android Development] dvgrhl:
Wow gizmodo sure doesn't want anyone to visit their site. What's up with that redesign?

Oh, also I think their points are pretty off-base.
[Nexus One Android Development] mtw4991:
just a heads-up, I have been trying to redo learn and have failed the last 3 times in a row:(. Then I realized that I had the dewonkifacator app running, which runs and refreshes the mic when the screen is off...I think it was killing my learn cycle right at the end.

Gonna retry in a few after uninstalling the app and report back. Might be the reasons several people lately have had problems, idk.

EDIT: redid the learn cycle successfully with the dewonkifacator app uninstalled, so it appears that the apps constant turn on/off the mic was killing learn at the top end. just an fyi if you are having issues.
[Nexus One Android Development] darock159:
Just got a new 1600 mAh battery. I was wondering what I should put in the full40 field?
[Nexus One Android Development] mtw4991:
1600 maybe? just sayin...:rolleyes: actually, just in case it is one of those mis-marked 2500mAh ones like Temasek got, I would do a capacity test first to see how much it will hold and set full40 to something like 1800-2000 but keep an eye on it. You can manually adjust higher if it starts to goes past whatever you set as full40, but if it finishes around 1600mAh, then drain to 0%, set age to 100 and full40 to 1600 and do a learn cycle.
[Nexus One Android Development] darock159:
The reason I ask is because the full40 listed in the general tab is 27306 mAh
[Nexus One Android Development] mtw4991:
Oh no! You got one of the batterys that the registers are screwed up in and can not be calibrated. sorry.
[Nexus One Android Development] RogerPodacter:
Yeah I feel bad for people who keep getting those bad batteries that cannot be programmed. If your full40 is some high number around 27000 then it means the chip in that battery is hard coded and nothing can be changed. Try to set some other value to confirm it for sure, but that's basically the answer:-(.

Us who got the regular ones must have got lucky in the beginning. We need to find a seller that we know sells good ones, even if that means paying little more.
[Nexus One Android Development] dvgrhl:
I unfortunately lost my phone in a cab last night, and it looks like I won't be getting it back. :( So, I probably won't be working any more on the calibration app as I won't be getting a Nexus One again. The project code is 100% open to anyone to do anything with, so if anyone feels like keeping up work on it just fork it: https://github.com/dvgrhl/BatteryCalibrator.

On the bright side of all of this, I guess I'll get a new phone. The Galaxy S looks like it might be worth checking out...
[Nexus One Android Development] theloginwithnoname:
Whoops!!

I feel like a port of the kernel drivers coming, just so Jon can carry on developing the app... ;)
[Nexus One Android Development] darock159:
Does any one have a recommendation on where to order a 1600 mAh battery that can be calibrated.
[Nexus One Android Development] schizophrenia:
sorry to hear about your loss......

and thanks for the app..
[Nexus One Android Development] RogerPodacter:
Trust me I check the driver for every single phone that comes out, and so far nothing else has the same methods as ours! We got so lucky with this driver I guess.

Jon, that sucks man, nexus was a collector phone. If you can hold out for the galaxy 2 I'd go for that. That phone looks just insane, though I try to stay away from Samsung. My favorite is HTC but they don't have amoled screens anymore, so I'm stuck with Samsung for That. Such a tough decision.
[Nexus One Android Development] k3vink3vin:
Sorry to hear this. Thank you so much for the battery app you have created for us all, it made things a lot more user friendlier!

Exactly, my friend just chose the Galaxy S (HKD$4988) over the Desire HD (HKD$4788) due to the superior screen. It is very evident when they are put side by side.
[Nexus One Android Development] chowlala:
That sucks bro. Thanks for helping us out with everything.

I just ran into some crap as well. Just received my new replacement battery from Hong Kong today. But at the same time. My power button gave up on me today as well. I've figured out all the workarounds. But the phone dying and plug-unplug bla bla bla just really doesn't sound like a great way to mess with calibrations currently.

I might move on to another phone as well. But at this time being. I have a brand new battery, and just no mood to try out the phone yet.

Will cost me $USD 100 to fix the power button at least. HTC center in Malaysia doesn't fix Nexus One's. The repair shops do, but at slightly more than a 100.

I'm not keen on the repair because it's a permanent defect for all Nexus One's and Desire's. Sad much.
[Nexus One Android Development] navahoo:
will the calibration result be delete by flashing a new rom/kernel?

just asking coz it seems that way after updating to the latest cm nightly... :confused:
[Nexus One Android Development] theloginwithnoname:
Go on, I'll bite - how does it "seem that way"?
[Nexus One Android Development] mtw4991:
No, calibration is not undone/deleted just by flashing new roms or kernels. If your battery is getting reset to 94% after flashing a rom or kernel, that means that your calibration attempt failed at some point and will need to be redone.
[Nexus One Android Development] navahoo:
well first day after calibration i put my n1 back into the dock for the night. Got about 20% left after nearly 17 hours. This morning flashed cm7 #5 and it ran down to 30% in only 7 hours...

Pls dont bite, im just asking... ;)
[Nexus One Android Development] navahoo:
Ah ok i see! Age is indeed down to 94% again... :(
[Nexus One Android Development] theloginwithnoname:
Good answer :p

I was on the cusp of starting a rant (it's been building up...) about how long me and RP spent to get here, how painstakingly we wrote up our findings as we went, how all the legwork was efficiently encapsulated by Jon into the app, how people are downright lazy not to read the thread and understand the concepts rather than just post, etc etc!

Glad I didn't have to - phew! :D

</rant> ;) *grabs beer* *calms down*
[Nexus One Android Development] navahoo:
No offense, all good!

*grabbing a beer too*

Cheers m8! :)
[Nexus One Android Development] mtw4991:
down boy, oh and pass the 6-pack brosef :D

actually, as a new user, this app can be rather daunting to many and it was a rather good catch to notice something was amiss, he just didn't know what went wrong.
[Nexus One Android Development] mtw4991:
while you're at it, hit the Thanks button if we help...that's what it's there for:rolleyes:
[Nexus One Android Development] zeus_chingon:
I think I've been lucky. I just got mine from ebay and I was able to change the full40 to 1600 using the second tab.

If I recall correctly I can go ahead to the third tab and click detect learn mode to drain it right? and proceed to charge for 5hours or so, or I still need to adjust some registers values for the 1600 and then do the detect learn mode?

Sent from my Nexus One
[Nexus One Android Development] waylo:
That's essentially right. But you could also change your minimal voltage down to 3.201, and also decrease the minimal charge current (to maximize your charging), depending on your tastes.

http://xdaforums.com/showpost.php?p=7850480&postcount=3

Oh, what auction/buyer did you get it from? Lots of people want to know that I think.
[Nexus One Android Development] zeus_chingon:
Thanks for your reply, I just remember how I did it before lol. I'm aiming high and start with the first cycle with the full40 set at 2000. Lets see what I get from it. Minimum voltage at 3.2, and the 20mA. I'll report back tomorrow when the first cycle is done. Hopefully I won't screw the learn cycle.

The seller was one of those posted couple dozen posts back. Here's the url

http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=270650209530

I bought it on February 5th, just got it today.
[Nexus One Android Development] waylo:
Ahh the same guy I got mine from. Mine ended up about 1580 or so. I then upped my full40 to 1700, so age 94% = about the same, so in case it resets I don't have to worry about it. Never could quite get a real learn cycle, but that might be my fault. Or my kernel's.

Apparently some people have also gotten bad batteries from the seller too, though, so maybe each batch varies.
[Nexus One Android Development] zeus_chingon:
The funny thing is that when i got it it was at 0%, so i couldn't boot on. I plug the charger 10 secs and booted on, checked if i could change the full40, then went to activate the learn mode and the acr as soon as posible, disconnected the charger. I've been draining it for the past 3 hours, can't get it to 3.2v.... it is holding strong at 3.6v, started at arround 3.75.
[Nexus One Android Development] zeus_chingon:
did you change the aged capacity reg values? or you just left it with the stock values (1393).
[Nexus One Android Development] temasek:
Try setting age capacity = full40. It retards aging.
[Nexus One Android Development] zeus_chingon:
For a 1600 battery, how long did it took you to completely charge it during the learn cycle. My stock 1452 battery takes about 3:45min. Should I give it 6 hours charge? I'm trying not to let it charge too long or else the record will be gone from the OSmonitor dsmeg log.
[Nexus One Android Development] temasek:
4-5 hrs is a good estimate.
[Nexus One Android Development] chowlala:
Temasek. How do you change age capacity = full40?

My full40 is currently set at 3000. Aged capacity at 1393.

I don't know how to change aged capacity and search function isn't working right now. Meh.
[Nexus One Android Development] temasek:
Registers of age capacity is 62 and 63. Input as per full40 values in setreg

0x62 xx

0x63 yy

xx and yy being hex values of full40

To find out hex values of your full40, easiest way is check the apps under register 6a and 6b

Edit: Oops forgot. You can use the battery app to input register and its values now instead of using setreg. :D
[Nexus One Android Development] chowlala:
Heh. I don't see 6a or 6b in my registers.

Could you give me the string for 3000? Lol.

First learn test charge up. XD
[Nexus One Android Development] temasek:
LOL I'm not too good in calculating it myself. You may wanna post your register dump. Its in there.
[Nexus One Android Development] chowlala:
Sure. Here it is. Lol.
[Nexus One Android Development] temasek:
Your full40 hex values are 1c and 20

So you input age capacity register as follows in the apps

Register 62

Value 1c

Register 63

Value 20
[Nexus One Android Development] chowlala:
Ons. Thanks.

Don't have enough time to do a full calibration now. Will get back to it later tonight. Swapping battery out for stock first now. Sigh. Stupid new battery is hard to down to 3.201. Lol.
[Nexus One Android Development] temasek:
Hard to bring down to 3.201 means your battery capacity has potential.

Good Luck. :)
[Nexus One Android Development] chowlala:
I hope so. =) And I hope I don't have the -1 mV thing once it hits the 100%. Haha.
[Nexus One Android Development] temasek:
Btw can u link me to your battery u purchased?
[Nexus One Android Development] chowlala:
Same buyer you sent me.
[Nexus One Android Development] temasek:
Wtf! 3000mAh??? Omfg
[Nexus One Android Development] chowlala:
No no no no. HAhahahahahaha. I bought the 1600 mAh one. Same as yours. I'm just too lazy to wanna monitor calibrations and bla bla bla. So I figured I'd just give it a big cap and watch where it jumps. Then I'll recalibrate to that point on the second learn. Hahaha. CHILL YO! /slap :cool:
[Nexus One Android Development] zeus_chingon:
My learn cycle failed. At 78% the phone shutoff for some reason and it finished charging with the phone off. So I can't tell what's the max capacity. I'll try to switch to a different cm build.

Sent from my Nexus One
[Nexus One Android Development] chowlala:
Bro. Just in case.

What's the value for 1600 and 1400? In case I revert. Lol.
[Nexus One Android Development] chowlala:
What build are you on? CM7?

Shouldn't have anything to do with the builds.

Use the right kernels, and switch to airplane mode when learn mode is hit so that nothing interferes with the charging.
[Nexus One Android Development] temasek:
1600mAh is 0f and 00

1452mAh is 0d and 9d

Actually you don't have to convert to hex now that u can directly input full40 into app in mAh value.

Then extract the hex from register dump and use it to input age capacity. Easier
[Nexus One Android Development] zeus_chingon:
Cm7 build 5 stock kernel. I was using it just now and it shut off no warning. it was in airplane mode when it was charging.

Sent from my Nexus One
[Nexus One Android Development] temasek:
Search my post on calibration. You are not doing it right.
[Nexus One Android Development] mtw4991:
I've had some random reboots myself so I don't think he is doing anything wrong. I think the phone is just rebooting on him.
[Nexus One Android Development] RogerPodacter:
i have this happen to me all the time, i charge my battery full, then leave it in my car for a week. when i pop it back in my phone, the mAh has depleted to zero, so there is no available charge, but the voltage is still at 4.000 volts.

then i read the data sheet and it somehow counts down "external" charge estimation i.e. natural resistance and loss over time just sitting idle. so all these batteries for sale likely sit around for weeks or months, causing this issue.

i just trick the battery and write the ACR back up to full, since the voltage is still full:)..
[Nexus One Android Development] temasek:
Not talking about the reboot thingy.

He should perform a learn cycle first and not thinking about capacity test yet. Capacity test comes on 2nd cycle but who knows, there maybe a better way to so it. :p
[Nexus One Android Development] heinz gruber:
i can't find the path:

Navigate to sys>devices>platform>ds2784-battery>setreg

i'm using and explorer
[Nexus One Android Development] temasek:
U don't need to input anything to setreg now. Use the app for any register inputs.
[Nexus One Android Development] heinz gruber:
i'm refer to this tutorial http://xdaforums.com/showpost.php?p=9583271&postcount=340

is there a new one?

EDIT: ah, i found it. so i've to type in the app:

Register: 0X66

Value: a4
[Nexus One Android Development] temasek:
In the battery calibrator app, u can input any register's values within the app itself. Check out 2nd tab in the app. The instructions were written before the function was in the app.
[Nexus One Android Development] heinz gruber:
what menas tunr off in this step?

e. turn off and close any open apps.

exit the battery calibrator?
[Nexus One Android Development] zeus_chingon:
The reason I'm skipping the learn cycle and going straight to capacity test is that both seems to be the same, only differing in the target full40 that it aims to achieve. In other words I see the full40 set prior to the learn detect is just a variable that sets how it charges (slowing the charge rate when approaching the value of full 40). So if the assumption is true then the extra capacity beyond the full40 will charge painfully slow. Just imagine charging 20ma from 1600-1800 or whatever is your actual capacity.

Anyways, what killed my learn cycle wasn't a reboot but a total shutdown. Got 3 more of those, where it just goes off when I'm using it and it stays off. I might just flash back my very stable 6.1.1nandroid and do the learn cycle from there.

One more question, I'm curious to know whether I can calibrate a stock battery and then adjust the full40 accounting the 94% bug and give it to another nexus one stock non rooted rom user and them having the benefits of the calibrated battery.

EDIT: despite the failed learn cycle, when I booted on the phone and checked the battery calibrator info section it showed 100% life and 1895mah capacity. I'll keep an eye and see if all the 1895 mash is useable. So far I'm at 868mah with wifi tethering on(nothing connected to it) non stop since the morning.

Sent from my Nexus One
[Nexus One Android Development] heinz gruber:
and what means that:

f. you can use the phone normally until charging current drops to <100mA, then put phone into airplane mode so that you don’t get unexpected current draw near the full point and prematurely end the learn cycle

the current value in the learn mode screen? the value is switch permanently. or is it a value on the gerneral screen?
[Nexus One Android Development] mtw4991:
ah, my bad, I misunderstood.
[Nexus One Android Development] zeus_chingon:
When it is in the learn mode I don't use the phone. I just put it aside on airplane mode. I don't even touch it for a god 5 hours.

I meant the capacity at the general info section.

Sent from my Nexus One
[Nexus One Android Development] mtw4991:
I probably need to update the instructions huh?
[Nexus One Android Development] mtw4991:
just close any apps that you were running to keep current above -200mA. you can leave the calibrator app open if you want to until you get around 90% charged, then close the app and put the phone into airplane mode and turn the screen off (not shutdown though)

yes, the current value is on both the general tab and the learn mode tab. You just don't want something like a phone call or text or app update to pull more power thus drawing the current below 20/40/80mA, ie whatever you set it to. If the current draw drops below your Min Chg Curr(mA) for 2 consecutive cycles, learn mode will end and charging stops. If you haven't reached true full charge before that happens, learn cycle will fail to complete successfully.
[Nexus One Android Development] chowlala:
First charge. 1550 mAh. let's see if this battery gets better over the next few days. Haha.
[Nexus One Android Development] zeus_chingon:
I am sad to say that I got almost the same as you. 1560. I'll give it a second try after a week of use.