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.

BQ27427: Unexpected SoC drop after wakeup from SHUTDOWN mode (Zephyr + nRF5340)

Part Number: BQ27427

Tool/software:

I'm working on a project using the **BQ27427** fuel gauge, integrated with an **nRF5340 MCU** running **Zephyr RTOS**. We're using the upstream Zephyr driver:
github.com/.../bq274xx

---

### Hardware and Devicetree setup:

```dts
&i2c3 {
clock-frequency = <I2C_BITRATE_STANDARD>;
compatible = "nordic,nrf-twim";
status = "okay";
pinctrl-0 = <&i2c3_default>;
pinctrl-1 = <&i2c3_sleep>;
pinctrl-names = "default", "sleep";

bq27427: bq27427@55 {
compatible = "ti,bq27427";
reg = <0x55>;
design-voltage = <3700>;
design-capacity = <150>;
taper-current = <5>;
terminate-voltage = <3000>;
chemistry-id = <4610>; // corresponds to 0x1202 for 4.2V batteries
int-gpios = <&gpio0 4 GPIO_ACTIVE_LOW>;
status = "okay";
};
};
```

---

### Device behavior:
- Device wakes on button press, runs for ~1 hour, then enters low-power mode.
- In low-power mode, BQ27427 is placed into **SHUTDOWN**.
- During active mode, SoC is read every 5 seconds and sent over BLE to a central (nRF Connect app) for logging.

---

### Problem:
After waking from SHUTDOWN, the SoC reported by the BQ27427 **drops sharply after ~4 minutes**, even though the battery voltage remains stable and within expected range. For example, the value changes for 2 neighbouring polls with a period of 5 sec: from 81% to 72%, from 49% to 44%, from 21% to 14%. This behavior is consistent and reproducible.

#### Example timeline:
```
20:41 - Full charge, power off
20:44 - Battery voltage (power off): 4.198V

20:45 - Power ON, SoC = 99%
21:45 - Power OFF, SoC = 81% (log saved)

21:49 - Battery voltage (power off): 3.96V
21:50 - Power ON, SoC = 81%
21:54 - SoC suddenly drops to 72% (voltage = 3.89V under load, expected: 65–75%)

22:50 - Power OFF, SoC = 49% (log saved)
22:54 - Battery voltage (power off): 3.80V
22:55 - Power ON, SoC = 49%
22:59 - SoC suddenly drops to 44% (voltage = 3.76V under load, expected: 35–50%)

23:55 - Power OFF, SoC = 21% (log saved)
23:59 - Battery voltage (power off): 3.699V
00:00 - Power ON, SoC = 21%
00:04 - SoC drops to 14%
```

Related log files attached. Log 2025-07-07 21_45_35.txt Log 2025-07-07 22_50_39.txt Log 2025-07-07 23_55_33.txt 

nRF Connect, 2025-07-08
ZTENS_6F94EC (EC:94:6F:32:40:12)
V	00:00:05.246	Connecting to EC:94:6F:32:40:12...
D	00:00:05.246	gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE, preferred PHY = LE 1M)
D	00:00:05.722	[Callback] Connection state changed with status: 0 and new state: CONNECTED (2)
I	00:00:05.722	Connected to EC:94:6F:32:40:12
V	00:00:05.726	Discovering services...
D	00:00:05.726	gatt.discoverServices()
D	00:00:05.762	[Callback] Services discovered with status: 0
I	00:00:05.762	Services discovered
V	00:00:05.771	Generic Attribute (0x1801)
- Service Changed [I] (0x2A05)
   Client Characteristic Configuration (0x2902)
- Client Supported Features [R W] (0x2B29)
- Database Hash [R] (0x2B2A)
Generic Access (0x1800)
- Device Name [R] (0x2A00)
- Appearance [R] (0x2A01)
- Peripheral Preferred Connection Parameters [R] (0x2A04)
Battery Service (0x180F)
- Battery Level [N R] (0x2A19)
   Client Characteristic Configuration (0x2902)
   Characteristic Presentation Format (0x2904)
Control Service (00001630-1212-efde-1000-785feabcd123)
- Command [R W] (00001630-1212-efde-1002-785feabcd123)
- Unknown Characteristic [R W] (00001630-1212-efde-1003-785feabcd123)
Status Service (00001630-1212-efde-0000-785feabcd123)
- State [N R] (00001630-1212-efde-0001-785feabcd123)
   Client Characteristic Configuration (0x2902)
- Session Time [N R] (00001630-1212-efde-0002-785feabcd123)
   Client Characteristic Configuration (0x2902)
- Session Time Remaining [N R] (00001630-1212-efde-0003-785feabcd123)
   Client Characteristic Configuration (0x2902)
Device Information (0x180A)
- Model Number String [R] (0x2A24)
- Manufacturer Name String [R] (0x2A29)
- Serial Number String [R] (0x2A25)
- Firmware Revision String [R] (0x2A26)
- Hardware Revision String [R] (0x2A27)
D	00:00:05.771	gatt.setCharacteristicNotification(00002a05-0000-1000-8000-00805f9b34fb, true)
D	00:00:05.774	gatt.setCharacteristicNotification(00002a19-0000-1000-8000-00805f9b34fb, true)
D	00:00:05.775	gatt.setCharacteristicNotification(00001630-1212-efde-0001-785feabcd123, true)
D	00:00:05.776	gatt.setCharacteristicNotification(00001630-1212-efde-0002-785feabcd123, true)
D	00:00:05.777	gatt.setCharacteristicNotification(00001630-1212-efde-0003-785feabcd123, true)
D	00:00:05.882	[Broadcast] Action received: android.bluetooth.device.action.ACL_CONNECTED
I	00:00:05.933	PHY updated (TX: LE 2M, RX: LE 2M)
V	00:00:07.908	Enabling notifications for 00002a19-0000-1000-8000-00805f9b34fb
D	00:00:07.908	gatt.setCharacteristicNotification(00002a19-0000-1000-8000-00805f9b34fb, true)
D	00:00:07.910	gatt.writeDescriptor(00002902-0000-1000-8000-00805f9b34fb, value=0x0100)
I	00:00:07.976	Data written to descr. 00002902-0000-1000-8000-00805f9b34fb, value: (0x) 01-00
A	00:00:07.976	"Notifications enabled" sent
V	00:00:07.987	Notifications enabled for 00002a19-0000-1000-8000-00805f9b34fb
I	00:00:10.741	Connection parameters updated (interval: 30.0ms, latency: 0, timeout: 420ms)
I	00:00:12.542	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 15
A	00:00:12.542	"21%" received
I	00:00:17.519	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 15
A	00:00:17.519	"21%" received
I	00:00:22.524	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 15
A	00:00:22.524	"21%" received
I	00:00:27.546	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 15
A	00:00:27.546	"21%" received
I	00:00:32.524	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 15
A	00:00:32.524	"21%" received
I	00:00:37.526	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 15
A	00:00:37.526	"21%" received
I	00:00:42.510	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 15
A	00:00:42.510	"21%" received
I	00:00:47.512	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 15
A	00:00:47.512	"21%" received
I	00:00:52.530	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 15
A	00:00:52.530	"21%" received
I	00:00:57.507	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 15
A	00:00:57.507	"21%" received
I	00:01:02.519	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 15
A	00:01:02.519	"21%" received
I	00:01:07.528	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 15
A	00:01:07.528	"21%" received
I	00:01:12.508	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 15
A	00:01:12.508	"21%" received
I	00:01:17.523	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 15
A	00:01:17.523	"21%" received
I	00:01:22.535	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 15
A	00:01:22.535	"21%" received
I	00:01:27.515	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 15
A	00:01:27.515	"21%" received
I	00:01:32.526	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 15
A	00:01:32.526	"21%" received
I	00:01:37.498	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 15
A	00:01:37.498	"21%" received
I	00:01:42.519	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 15
A	00:01:42.519	"21%" received
I	00:01:47.686	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 15
A	00:01:47.686	"21%" received
I	00:01:52.673	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 15
A	00:01:52.673	"21%" received
I	00:01:57.682	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 15
A	00:01:57.682	"21%" received
I	00:02:02.518	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 15
A	00:02:02.518	"21%" received
I	00:02:07.677	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 15
A	00:02:07.677	"21%" received
I	00:02:12.514	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 15
A	00:02:12.514	"21%" received
I	00:02:17.670	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 15
A	00:02:17.670	"21%" received
I	00:02:22.499	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 15
A	00:02:22.499	"21%" received
I	00:02:27.512	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 15
A	00:02:27.512	"21%" received
I	00:02:32.498	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 15
A	00:02:32.498	"21%" received
I	00:02:37.508	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 15
A	00:02:37.508	"21%" received
I	00:02:42.520	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 15
A	00:02:42.520	"21%" received
I	00:02:47.497	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 15
A	00:02:47.497	"21%" received
I	00:02:52.511	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 15
A	00:02:52.511	"21%" received
I	00:02:57.490	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 15
A	00:02:57.490	"21%" received
I	00:03:02.498	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 15
A	00:03:02.499	"21%" received
I	00:03:07.682	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 15
A	00:03:07.682	"21%" received
I	00:03:12.669	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 15
A	00:03:12.669	"21%" received
I	00:03:17.678	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 15
A	00:03:17.678	"21%" received
I	00:03:22.676	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 15
A	00:03:22.676	"21%" received
I	00:03:27.690	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 15
A	00:03:27.690	"21%" received
I	00:03:32.493	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 15
A	00:03:32.493	"21%" received
I	00:03:37.505	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 15
A	00:03:37.505	"21%" received
I	00:03:42.490	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 15
A	00:03:42.490	"21%" received
I	00:03:47.504	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 15
A	00:03:47.504	"21%" received
I	00:03:52.482	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 15
A	00:03:52.482	"21%" received
I	00:03:57.487	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 15
A	00:03:57.487	"21%" received
I	00:04:02.502	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 15
A	00:04:02.502	"21%" received
I	00:04:07.481	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 0E
A	00:04:07.481	"14%" received
I	00:04:12.496	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 0E
A	00:04:12.496	"14%" received
I	00:04:17.506	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 0E
A	00:04:17.506	"14%" received
I	00:04:22.482	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 0E
A	00:04:22.483	"14%" received
I	00:04:27.491	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 0E
A	00:04:27.491	"14%" received
I	00:04:32.472	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 0E
A	00:04:32.472	"14%" received
I	00:04:37.480	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 0E
A	00:04:37.480	"14%" received
I	00:04:42.497	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 0E
A	00:04:42.497	"14%" received
I	00:04:47.477	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 0E
A	00:04:47.477	"14%" received
I	00:04:52.478	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 0E
A	00:04:52.478	"14%" received
I	00:04:57.494	Notification received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 0E
A	00:04:57.494	"14%" received
D	00:05:02.937	[Callback] Connection state changed with status: 8 and new state: DISCONNECTED (0)
E	00:05:02.938	Error 8 (0x8): GATT CONN TIMEOUT
I	00:05:02.938	Disconnected
D	00:05:03.046	[Broadcast] Action received: android.bluetooth.device.action.ACL_DISCONNECTED

---

### What I’ve checked:
- Configuration registers (design voltage, capacity, taper current, chemistry ID) are **correctly restored** after power-up.
- Battery voltage under load matches expected values from STC3115 discharge table (I just used it as a reference).
- No voltage instability or supply brownout observed.

---

### My questions:
- What could cause these **delayed SoC drops (~4 minutes after wakeup)**?
- Is there any internal learning or compensation algorithm that re-engages shortly after SHUTDOWN exit?
- Any advice or best practices for SoC accuracy after exiting SHUTDOWN?

Thanks in advance!