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.

Issues communicating over i2c with bq20z40-r1 with arduino

Other Parts Discussed in Thread: BQ20Z40-R1, BQ29330

Hello,  I am trying to interface a bq20z40-r1 gas gauge with an arduino and I am having difficulties interfacing through i2c.  I am unable to find a default address of the chip in the manual and am wondering how I can determine this.

I have done a simple scan where I query each possible address with a message to report the internal temperature.

Essentially I have done the following:

1. Send address

2. Send value 0x08 (temperature register)

3. receive 2 bytes from address.

I can post arduino code if it will make sense to anyone here.  

Thank you for your time.


  • I think you are refering to salve add. Refer to page 49 of SLUU313 & check section 2.10.3 for the same. I hope this will help.

  • I have begun testing with the default address and I am still returning a "NAK"  I have begun testing for voltages and my LED output voltage is sitting at 1.2v rather than the spec'ed 3.3v.

    I am currently attempting to power the circuit from a power supply to test I2c communications.  I have the application circuit breadboarded without the control fets or bq29412dct3r.  

    I am beginning to fear that my Bq29330 is no longer functioning.  I have tested 2 different chips and I get the same result.  I have ordered a dev board but is there something obvious I may be missing?

     

    Thank you very much for your help.

  • Hi,

    In SMBus comm., there is timeout condition, check for same in your code.

  • Deepak, 

    Thank you for answering my previous questions.  I have one more for you.  Is I am looking through the technical manuals and I have found the register descriptions but is there a document that describes each register in detail?  I have found a summary of info in slua511 ( http://www.ti.com/lit/an/slua511/slua511.pdf ).  However this does not translate perfectly to the register descriptions without some digging.  Is there a more complete document?  

    BTW I received a Dev board and with some coaxing was able to read the SBS data.  I am a bit confused on the wakeup function of the device.  It seems I have to pull a load or put a load into the board before it wakes up.  I assume this is a threshold in the registers.

    Thank you again for your help.

  • Casey

    You can also refer to SLUU387A to also. It also describes threshold values of DF parameters & what are registers affected by any parameter.

     

    Regards