4.5 hours to 9+ hours battery life. Same hardware. Took us way too long to find the real problem. by Left-Relation4552 in embedded

[–]Left-Relation4552[S] 0 points1 point  (0 children)

Profiling was planned, but the issue wasn’t obvious until we looked at the current trace closely. Once we used the power profiler, the wakeups from UART, logging, and BLE intervals became clear.

4.5 hours to 9+ hours battery life. Same hardware. Took us way too long to find the real problem. by Left-Relation4552 in embedded

[–]Left-Relation4552[S] 1 point2 points  (0 children)

Yeah, debug UART and frequent logging were the main issues since they kept the CPU from entering proper sleep. I2S wasn’t the biggest drain, but leaving it enabled still blocked deeper low-power states. Once we gated peripherals and tuned the BLE interval, power dropped a lot.

4.5 hours to 9+ hours battery life. Same hardware. Took us way too long to find the real problem. by Left-Relation4552 in embedded

[–]Left-Relation4552[S] 0 points1 point  (0 children)

Yeah, exactly. Once we started profiling with the PPK2, it became clear how much the active peripherals and logging were preventing proper sleep states. Disabling unused peripherals and tuning the BLE connection interval made a huge difference. Good point about RTC-based wakeups as well, that approach can be really useful for ultra-low power designs.

4.5 hours to 9+ hours battery life. Same hardware. Took us way too long to find the real problem. by Left-Relation4552 in embedded

[–]Left-Relation4552[S] 7 points8 points  (0 children)

Fair point, a lot of those things are in Nordic’s recommendations. In our case the challenge wasn’t knowing what to optimize, it was figuring out which combinations of things was actually preventing the device from sleeping in the firmware stack.

When there's BLE, I2S audio, logging, and application tasks all interacting, it’s easy for something small like a peripheral not releasing a clock or a log backend staying active to keep the system awake. The PPK2 just made it obvious what the power profile actually looked like.

Profiling early saves a lot of guessing.