[Sticky] How to Reset, Reprogram and Calibrate BQ20ZXX family chips after battery cells replacement
This tutorial is about full reprogramming and recalibrating BQ20ZXX family chips after battery recelling.
Before I proceed I would like to mention that you DON’T need to do it if you are not planning to recell (replacing the cells) the battery.
The BQ20ZXX family is impedance tracking gauges that rely on certain parameters in order to calculate FCC properly. The purpose of this tutorial is to show you how this complex system works. It should also be noted that this procedure is for advanced users and it requires an additional adapter EV2300 from Texas Instruments that is used for the chip reprogramming.
STEP 1: ANALYZING WHAT’S WRONG WITH THE BATTERY
As always we need to search for the core of the problem. This battery model is very popular and used in many HP laptops, the model is MU06. In this case, after connecting the battery to NLBA we can see that all 3 cell groups are at 0 volts, Cycle Count is 631, so the cells are completely dead and must be replaced. In addition, the chip is SEALED meaning that it’s password-protected so no actions can be done until the chip is UNSEALED. And there is also a PF condition /locked chip/ indicated by PFStatus = 4031. We can find this information by pressing the Read Chip Info button.
STEP 2: UNSEALING THE CHIP AND CLEARING PF
So the cells have already been replaced with new so now we need to proceed with UNSEALING and clearing PF.
Here we will be able to see the great NLBA capabilities again! We will UNSEAL the chip /hack the password/ with only 1 click. We go to the reset tab, choose the BQ20ZXX family chip from the menu. Read chip info again just to make sure that we still have the same conditions and yes we do. Press UNSEAL/BOOT button after a few seconds we will see them in the log a massage
Operation Status = Unsealed, FAS
PF Status = 0000
So the chip is now UNSEALED /password removed/ and is in FAS / Full Access Mode/ meaning that now we will be allowed to read and edit the DataFlash (EEPROM).
Also PF Status has changed to 0000 meaning that the PF was also automatically cleared. In case it was not cleared you will need to press the CLEAR CHIP ERRORS button.
Now if we go back and read the battery parameters we can see that the charging voltage and charging current have appeared again and the Output Led of NLBA is on so there is the voltage at the battery connector.
STEP 3: REPROGRAMMING THE CHIP
As I mentioned earlier in order to reprogram the chip you will need an EV2300 adapter and BqEvsw software. The software is free and can be downloaded from the TI website, the adapter costs around 100 euro.
NOTE: NLBA1 team is working to make bqEVSW working with NLBA1 device. Hope they will manage to do it.
It connects to the battery the same way like NLBA, ground, clock & data lines required.
So we connect the EV2300 adapter to the battery and we start the software. It auto-detects the chip and takes us to the initial screen. On the start screen, we press the REFRESH button and it will read all battery data similar to NLBA.
Next, we need to read the DataFlash so first press DATAFLASH button on the left and then press READ ALL. After a few seconds, we can see the contents of the DataFlash are displayed.
There are many settings that can be adjusted but we will cover only the most important ones that we need.
Press the SBS Configuration tab
Here we can change parameters.
Design Capacity – The original was 4400mah but I’m using 2400mah cells so in 3s 2p configuration the new Design Capacity will be 4800mah.
Also, reset Cycle Count to 0
Change the Manufacture Date
Remaining Capacity Alarm – Should be set to 10% of the Design Capacity so in this case 480mah.
The next step is OPTIONAL.
Here we can change the Charging Current and Charging Voltage value.
I always like to use a charging current that is about half of the design capacity in this case I will reduce it to 2500mah. The Original was 3080mah.
You can also change the charging voltage to increase cells life.
Example: If you change it to 12300mv the cells will charge to 4.1v instead of 4.2v. So if your goal is for the battery to last longer during the years you can do this.
So by undercharging cells to 4.1v, you can increase their life by 20-30%.
But in this case, I will leave it to 12600mv.
Next, go to the Gas Gauging tab.
Here we will change all the Qmax Values to be the same as Design Capacity 4800mah. Also, change Update Status to 00 and reset the Delta Voltage to 1mv.
Now we are almost done with reprograming the chip so press write all button.
The next step is to update the Chemistry information.
Press BqEASY button in the left corner.
Press Yes Enable Chemistry Selection.
In 90% of the cases, you will be fine if you select chemistry id 100, this is the default for 18650 LiCo02 cells. But just to be sure you can check the manufacturer's datasheet for your cells and choose the right chemistry id from the list.
After the proper chemistry id has been chosen press Update Fuel Gauge Dataflash. The process takes a few seconds to complete.
This is was the last step in reprograming the chip.
STEP 4: CALIBRATING THE CHIP
First, let’s move the battery back to NLBA so we can check the results so far.
We can see that the programing was successful.
Design Capacity has changed
Manufacturer Date has changed
Remaining Cap. Alarm has changed
Charging Current has changed
FCC has increased but it’s still not what we want because the chip is not calibrated yet.
Max Error is 100% this is what we want because now the chip is learning mode.
But now the NLBA output led is off and you can also see that there is no current flowing from the battery. This is ok. After the chip reprograming the charge and discharge MOSFETs are not active so we need to force them to activate.
We will do this by going to the Reset tab/ SMBus Commands and write the following command write word 0006 to register 46.
After this NLBA output led will be on meaning the MOSFETs have been successfully activated. And we can confirm this by seeing the small current consumption from the output led of NLBA.
The next step will be to discharge the battery to around 3.0v per cell. If you have the option in NLBA to ignore SOC and discharge below %0 you can use it. I don’t have it so I just use discharge until 0%.
The discharge current is your choice but I don’t recommend using more than 2 amps for a 3s 2p battery.
After the discharge is finished we need to do something very important. We need to start the IMPEDANCE TRACKING ALGORITHM.
This is used by the chip for proper self-calibration and accurate SOC readings.
We will do this by going to the Reset/ SMBus commands tab
Enter the following command write word 0021 to register 00
After the command has been sent, all the hard work is finished!
After we have enabled the impedance tracking the next step will be to fully charge the battery to 100% and let it REST FOR 2 HOURS! It’s extremely important to wait at least 2 hours after the battery is fully charged!
So after the full charge and 2 hours rest, we check the results.
We can see that FCC has magically increased and it’s very close to what we expect. That’s perfect.
Max Error value has changed to 3%. This means that the first learning cycle was successful! If FCC has not increased and the max error value is still at 100% then you need to wait at least 1 more hour!
The next step would be to fully discharge the battery to 0% and let it rest for 5 hours!
So we check the results after the battery has been fully discharged and rested for 5 hours.
We can see that FCC has been adjusted slightly one last time and the max error value is 1%.
Success! Now the chip is fully calibrated and the battery is ready for normal usage. The SOC readings will be extremely accurate just like from the factory!
Let’s do one final check with BQEvsw just to make sure everything is ok.
We can see that QMAX values have been updated properly, update status has also changed properly.
The delta voltage registered is only 8mv, this result can only be achieved with good quality brand cells!
In the end, you might think that NLBA did very little in the whole process but you are wrong. It did the most important part of the process, UNSEALING the chip. Because if you remember what I told you earlier non of these operations would be possible if the chip was SEALED. Great job NLBA team!
NOTE: As it was mentioned at the beginning, if EV2300 is missing you can contact the admin to offer a solution to use bqEVSW with the NLBA device.
You might also ask why do you need additional hardware and software to do all these settings. The answer is very simple. NLBA is the newest product on the laptop battery repair market so it will take time for the developers to implement different features. But with the speed that it’s moving forward, it’s already more powerful than much other software that is on the market for many years already and I’m confident that soon we will be able to do all these settings with just a few clicks. Keep up the good job guys.
Congratulations on such a detailed tutorial. I have EV2300 and BQEVsw. In software I have support for some chips but I dont have for 20z40r1r1. Do you have some link where I can download support in software for this chips. On Ti.com support formu all links are dead. Thanks.
I have checked just now links on TI website are not working for some reason. They are probably doing site maintenance and will be up and running soon again. If you need it urgent give me your email and i will send you the installer.
I have checked just now links on TI website are not working for some reason
TI has changed their software distribution policy.
They removed links for the software which was used for earlier generation of gas gauges and now marked as NRND (Not Recommended for New Design).
To get this software one should sent a request to their technical support with clear explanation and proofs for which purposes the software will be used.
They decline any requests from private emails, it should only be registered company or government or ... educational (student) domain email.
Also they change their community forum policy. Accounts created using private email could only read the posts without rights to post or ask a question.
It looks like a ev2300 clone.
But if it's good copy then it costs its money because genuine ev2300 costs 150USD from official distributors.
You should consider for most of the batteries on the market additional payware software could be required.
With free software you could repair only about 1% of available batteries on the market using ev2300 even its genuine.
Looking at the chip support i would say that it's pretty much useless and not recommended to buy it.
The most common chip families like BQ20ZXX, BQ304XX, BQ208XX are not supported.
I would recommend to buy the genuine EV2300 to ensure proper functionality.
But still like it was mentioned by @djibattworkshop the hardware is only one small part of the whole picture.
In order to work with certain chip you will need the software that works with it BqEvsw or BqStudio.
This software can be obtained from Texas Instruments only and is different for every chip and it's almost impossible to get even if you wan to pay for it. They don't sell it.
They provide it only to certified battery pack makers etc.
A few years ago it was relatevely easy to get it but recently TI have changed the distribution policy.
So I added an original to my shopping cart. I will have a good ev2300 but the software is really a problem. The links are dead. EV2300 without software will be like a corpse coat. I only downloaded 6082.bqEVSWSetup00.09.59_bq20z45R1v1.05R1.exe. I did not find the installation for another series BQ20ZXX, BQ304XX, BQ208XX. I can request installation files. I only have it for my own purposes. The battery I refurbished goes, but it shows lasting 104 hours 40 minutes, which is bullshit.
I can request installation files. I only have it for my own purposes.
They will not give you the installation files. This is what i was explaining to you.
The battery I refurbished goes, but it shows lasting 104 hours 40 minutes, which is bullshit.
You can open a dedicatet topic about this battery and we can try to help you.