Hello,
We are investigating a sudden battery drain issue in our nRF52832-based wireless product. During power profiling, we noticed unexpected current glitches (please see attached image)
Image 1 shows power consumption in idle mode where as image 2 shows active mode to sleep mode transition.

It appear that current glitches are prevent the system from entering proper sleep mode, causing higher than expected idle current and some times faster battery depletion.
System Details
SoC / Module: nRF52832 (Holyiot Module — datasheet link)
SDK Version: nRF5_SDK_17.0.2_d674dde
SoftDevice: S132 v7.2.0
Compiler / IDE: Segger Embedded Studio
Power Measurement Tool: Nordic Power Profiler Kit II
System Functionality
The device transmits event data over BLE, then enters sleep mode using sd_power_system_off().
Most of the time it should remain in sleep (expected consumption ~1–5 µA).
When active, it draws 5–10 mA for about 50–100 ms (BLE advertising + sensor readout), then returns to sleep.
Problem Observed
Some devices behave as expected initially. After a few BLE transmissions or wake cycles, current consumption suddenly increases to 1–2 mA continuously, and in some cases up to 3–5 mA, even when the device is supposed to be sleeping. Once this happens, the current never returns to µA-level sleep until reset. The issue is intermittent and not reproducible across all units.
As Attached screenshot of the current consumption waveform showing the irregular spikes and elevated idle current.
Power Management Implementation
We are using the standard SDK power management sequence:
sd_app_evt_wait();
// or alternatively
__WFE();
__SEV();
__WFE();
BLE stack is initialized using nrf_sdh_enable_request() and advertising handled by ble_advertising_start().
Peripherals used:
GPIO (Buzzer + button + LEDs)
I2C (sensor)
RTC (timestamp)
PWM ( Buzzer + LED)
All peripherals are explicitly uninitialized before entering sleep (via nrf_drv_*_uninit()).
No SoftDevice assert or error reported during operation.
Debugging Done So Far
Verified that sd_power_system_off() is being called successfully.
Checked that no GPIOs are left floating or driving load.
Disabled logging (UART) and confirmed no change in behavior.
Checked clock sources: using LFCLK from internal RC.
Tested multiple boards from the same batch — issue occurs randomly on some units.
Request for Support
Could you please advise:
Possible reasons for residual current in the 1–5 mA range during sleep (e.g., SoftDevice state, peripherals not fully off, HFCLK not released, etc.)?
Recommended way to confirm if system has truly entered SYSTEM_OFF state while SoftDevice is enabled?
Any known issues or errata related to sd_power_system_off() or BLE advertising stopping in SDK 17.0.2?
Any additional traces or logging you recommend capturing to pinpoint the source of current spikes?
Attachments:
Screenshot of current consumption waveform (Power Profiler Kit II)
Thank you in advance for your help and insights!
Best regards,
Madhav Lohar