BQ35100: How to change gauging mode from code without BQ Studio or EVM?

Part Number: BQ35100
Other Parts Discussed in Thread: EV2400

Tool/software:

Hello,

I'm a university student working on my final engineering project using the BQ35100 fuel gauge with a custom PCB design. Due to budget constraints, I don't have access to the BQ35100 EVM or the EV2400 interface board.

Current Situation:

  • I have successfully implemented I2C communication with the BQ35100 from my STM32 microcontroller
  • The device is currently in ACCUMULATOR mode (Operation Config A = 0x80, GMSEL[1:0] = 00)
  • I need to switch it to END-OF-SERVICE (EOS) mode (GMSEL[1:0] = 10)

What I've Tried:

  1. Successfully write to data flash address 0x41B1 (Operation Config A) to change value from 0x80 to 0x82
  2. Verified the write using checksum and length registers (MACDataSum/MACDataLen)
  3. Sent the RESET control command (0x0041) after writing
  4. Reading back immediately shows the old value (0x80)
  5. After a full power cycle (disconnecting power), the device still reads 0x80

Questions:

  1. Does the BQ35100 require a specific sequence beyond data flash write + reset to apply new configuration?
  2. Is it possible to change the gauging mode without BQ Studio or the evaluation module?
  3. Do I need to unseal the device first before writing to Operation Config A?
  4. Is there a hardware pin or sequence needed to force the device to reload from data flash?
  5. Are there any one-time-programmable (OTP) bits that might prevent configuration changes?

My Hardware Setup:

  • Custom PCB with BQ35100
  • STM32 microcontroller for I2C communication
  • Li-SOCl2 primary battery
  • GE pin is controlled and set HIGH before communication

Thank you.