I just developed a BLE peripheral using an nRF54L05 MCU powered by an nPM2100 PMIC.
When I flashed it with a simple blink LED firmware using a JLink via SWD, everything worked OK.
Even a more complex firmware that implemented a BLE peripheral worked as expected.
The problem occurs when I measure the idle current with a PPK2 between the MCU and the PMIC.
I got 238uA on my board, while on an nRF54L15 DK board, that value is just 4uA.
In reality, if I disconnect the SWD cable, that value drops to 87uA, but it's still much higher than 4uA.
Those values remain even if I power the MCU directly at 3V from the PPK2, rather than using the PMIC.
Note that even with the following minimal build, the idle current values remain the same.
main.c:
#include <zephyr/kernel.h>
int main(void)
{
while (1) {
k_sleep(K_FOREVER);
}
return 0;
}prj.conf:
CONFIG_SERIAL=n CONFIG_GPIO=y CONFIG_PM=y CONFIG_PM_DEVICE=y CONFIG_PM_DEVICE_RUNTIME=y
I suspect that the culprit is my custom board definition, which does not allow the expected low power.
If needed, I can share the custom board files (.dts, .defconfig, etc.) and the schematics of my board.
Do you have any suggestions on how I can resolve this issue and reduce the idle current on my board to the same level I measure on the DK board?
Because, despite the firmware doing what I want, at these idle current values, my product will be useless, since the expected autonomy with an AA battery will drop from years to months!
Many thanks for your help.

