This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Introduction to bq20zXXX Multi-Cell Gas Gauges

Other Parts Discussed in Thread: BQ20Z40, BQMTESTER

(This post is for legacy bq20zXX fuel gauges.  A future post will cover newer gauges like bq40zXX.)

Welcome to the gas gauge forum! This sticky note is intended for introducing new users to multi-cell gas gauges and for troubleshooting common problems. These parts include the ones tagged in the post; although this may be a helpful resource for other related parts, we can not guarantee that the information will be identical for similar TI gas gauges. Please look through this note before posting to the forum.




Quick Start Guides

The Quick Start Guide and Impedance Track Gas Gauges for Novices are helpful resources for first time users that explain the basic operation of the part. Additionally, two other documents, EVM user's guide which can be found in each device's EVM product folder (e.g. bq20z65EVM-001 Impedance Track Technology Enabled Batt Mgt Solution from bq20z65EVM product folder) and Gas Gauging Basics Using TI's Battery Monitor ICs are recommended to understand the evaluation modules and general purpose of the parts respectively.

Common Terms and Acronyms

Attached to the post is a file titled Common Terms and Acronyms (in the .zip file) that contains common terms users should be familiar with.

What needs to be done before evaluation?

The part needs to be calibrated and configured before evaluation. Additionally, you must select a chemistry and run a learning cycle.

For newer users we recommend using bqEASY, when available, to perform the necessary pre-evaluation steps; bqEASY software is a plug-in in the device EVSW.

1. Calibration

The calibration screen in the EVSW provides instructions to correctly calibrate the gas gauge before use.  There are a few things to consider when calibrating.

a)   To calibrate each setting, users should check the box for the measurement they are trying to calibrate and click the calibrate button.  Before calibrating the next measurement, the previously calibrated setting needs to be unchecked.

b)   Voltage calibration must be done with an external measurement across each cell voltage or pack voltage, as specified.  NOTE: this measurement must be done when the cell is in rest.  

c)   Board offset calibration requires no current flowing, therefore it is good practice to do current calibration before the board offset calibration.  The most precise way to calibrate current is to go straight through the sense resistor.  When the current is being applied directly through the sense resistor, 「off bypass」 should be unchecked when given the option to do so.

Here is the document for Calibration of bq20zxx using EVSW

Here is the document if the customer want to develop software for calibration

2. Configuration

In addition to bqEASY, more experienced users can use the Data Flash screen in EVSW to configure the part manually. Please refer to the Data Flash section of the TRM (see section below) or the app notes such as Configuring the bq20z40/bq20z45 Data Flash. Similar app notes can be found for other parts.

3. Chemistry Selection

Users can select the chemistry of their battery through bqEASY or bqCHEM.  If the battery's chemistry is not one of the chemistries in our database, bqEASY and bqCHEM automatically match for the best ChemID, reporting the top 3.  If a chemistry matches within 3% error, it is an acceptable ChemID.  For chemistries that do not match within 3%, you will need to have TI create a custom ChemID.

Alternative method to match for ChemID is documented here using MathCAD tool.

4. Learning Cycle

Users must run a learning cycle for the gas gauge to learn the characteristics of the battery.  Running a chemistry selection cycle performs the same function so only one cycle will be necessary.  This can be done by following the steps in bqEASY or by charging the battery to full, relaxing for 2 hours, discharging the battery at >C/10 (e.g. C/5) until termination, and relaxing for 5 hours.

Running a learning cycle is necessary for the board to update Qmax and Ra tables.

Here is the application note describing the detail of the learning cycle.

Where do I find the Technical Reference Manual (TRM) for my part?

1)      Go to

2)      Use the search by part number feature in the top right corner of the page to find your gas gauge.

3)      Click on the desired version of the part.

4)      Look for technical reference or TRM either under Datasheet or Technical Documents.



File Extensions

Attached is a document named File Extensions (in the .zip file) that addresses the uses of various file types.  These include:

1) The four types of files bqEASY uses to configure a fuel gauge:

a) .ENCR files

b) .CHEM files

c) .DFI files

d) .EZY files

2) Other important file extensions:

a) .SENC files

b) .ROM files

c) .GG files



How to find information

    It is always useful to search keywords and functions in the device TRM.
    For specific applications, there are some common technical documents for most parts such as the Circuit Design Guide, Layout Guide, and Configuring the Data Flash.
    For specific questions, try searching the E2E forum: and KnowledgeBase. See the last section about posting to the forum


General Hardware Troubleshooting

If you believe you may be having hardware problems, follow the attached document (in the .zip file)  to debug your part. The checklist is useful for solving common hardware issues.


The EVM can be connected to a computer with the EV2300.  Make sure that you have downloaded the EVSW that corresponds to the part you are connecting.  The gas gauge must be powered and correctly jumpstarted in order to communicate properly with the EVSW.  When the device is plugged in and the EVSW is started, the EVSW should automatically detect the default firmware on the device and open the correct version of software.

If this does not happen:

  •     Check all of the connections between the computer, EV2300, and the gas gauge.
  •     Make sure both of the EV2300 drivers are installed. (NOTE: If the same USB port is not used to connect the EV2300, you will need to install the driver again.)
  •     Ensure that the board is connected to the SMB port (as opposed to I2C or HDQ).
  •     Check if another instance of the software is already running.
  •     Make sure the board is being powered and has been jumpstarted.
  •     Go through the No Communication section of the attached General Troubleshooting Checklist
  •     If you do not see the TI USB bq80xx driver loaded under hardware, try restarting your computer.
  •     If the part is alive (according to step 6), make sure that it is running firmware.  This can be verified by probing the TOUT pin.  You can find this pin by looking at the schematic and layout in the EVM User Guide.  If there is a pulse when you probe the TOUT pin that will confirm that you are running firmware.

Another possible communication problem is not being able to program firmware to the part.  Things to check:

  • Make sure you are in Full Access Mode.  A detailed explanation of the levels of operation can be found in the Security (Enables and Disables Features) section of the device TRM.
  • Make sure the device is in ROM mode.  To put the device in ROM mode send 00F0 Word(hex) command in Write SMB Word.  To make sure the gauge is in ROM mode, send SMB Command 0D in Read SMB Word.  If the result gives numbers, the device is in ROM mode.  If the result is all zeros the device is either running firmware or dead. (NOTE: To take a device out of ROM mode, Send SMB Command 08.)
  •     Check this document, Updating Firmware With The bq20zxx and EVM


A good strategy for production is the following seven step flow. Also check out the Battery Pack Production Flow document.

  •     Write the data flash image to each device as read from a golden pack.
  •     Calibrate the device.
  •     Update any individual flash locations, such as serial number, lot code, and date.
  •     Perform any desired protection tests.
  •     Connect the cells.
  •     Initiate the Impedance Track™ algorithm
  •     Seal the pack.

More details can be found in Data Flash Programming and Calibrating the bq20z80 Family of Gas Gauges. This document applies to all bq20zxx product family.


TI also offers a tool called the bqMTester to help streamline this process. The bqMTester user's Guide has detail description of the software and bqMTester board.


Common Issues and Solutions

Attached is a PowerPoint that addresses many common questions and issues called Common Issues and Solutions. These include:

  • What is the difference between a ROM file and a .DFI file? When should I use each?
  • I am having an error in chemistry selection. What should I look out for?
  • I keep getting strange calibration values when testing.  Sometimes the voltage is inaccurate or the current offsets are strange.
  • What does Error Code 65557 mean in bqMTester?


  • How do I seal/unseal the battery pack?
  • Why can't I write to data flash?
  • Why is my pack charging at 4.1V instead of 4.2V? And why is my FCC so high?
  • Using EV Software with two serial cell applications, in Data Flash screen, I push 「Write All」 button, but all values change back to values previously in the data-flash and turn red.


  • After reprogramming the data flash constants and subsequently discharging the pack, MaxError is reported as 143% [or any other incorrect value]. It changed back to 1% after a full discharge/relaxation cycle was finished.
  • When I use a 5 m-Ohm sense resistor, the reported current goes to -3mA even though no actual current is flowing.


Further Actions…

If you are unable to find an answer to your question from past forum posts, the TRM, through knowledgebase, or in the FAQ, please post your question in the forum.

When you are ready to post, please refer to Information to Provide When Reporting a Problem.  Additionally, provide the schematic, layout, and a scope capture of the SMB clock and data lines when applicable.