nRF54l10 on our custom board in system off has high current consumption, approx 98 uA.
Utilizing the system_off code (C:\ncs\v3.0.2\zephyr\samples\boards\nordic\system_off) example, I'm able to view that the nRF54l15 dev kit runs for this code example runs good at:
System Power Off (1 uA) - via sys_poweroff() in main().
System On Idle (3 uA) - via k_sleep(K_FOREVER) in main().
I can even wake up via gpio sw0 and see that demo'ed as well.
However, testing of the same code example for system off on our custom board hasn't been nearly as fruitful.
Running the same system_off code, I've not been able to get either below:
System Power Off (97.7 uA)
System On Idle (92.6 uA)
To measure the power, I'm utilizing both the PPK II and an Agilent U1242A multi-meter, and both of these corroborate good measurements from the nRF54l15 dk board, and the high measurements from our custom board.
We've compared the reference design schematic for the nRF54l15 dk board to our board and they're very similar.
My Hw guy and I have been over the schematic for our custom board, and do not think we've anything going on there. We can provide this as necessary.
Things I've also tried to see if it would help:
Our board design has a uart20 which is disabled via the *.dts file, and a spi slave spi 00 device. Originally, I had the spi slave enabled via *.dts.
1) Run Time suspending via pm_device_runtime_disable() our spi slave spis spi00 device, prior to calling sys_poweroff(). This didn't seem to help. Please see main.c file.
2) I then disabled our spi slave spis spi00 device altogether via the device tree *.dts file, and spis spi00 was no longer configured as expected. Next, I added in pin ctrl (NRF_P2->PIN_CNF[x]) for all of the spi pins just to see if that would help, but it didn't help. Please see *.dts file & main.c file.
Additionally, the host side or master does it's own spi de-initialize of the spi lines and csn during it's power save, which is beingtested along with this code example.
My source code is provided in a *.zip file, for viewing main.c and board config files. I created the custom board using 'Create a new board'.
We're looking for suggestions as to why this 98 uA on our custom board is happening and how to fix it.
I'm also looking for suggestions of when spi slave s00 is okay (enabled), how best to put that module into system off, do I make sure it's suspended pm_device_runtime_disable(), then do the pin ctrl (NRF_P2->PIN_CNF[x]) as disconnected) for all of the spi pins, then call sys_poweroff(), with the appropriate pins as low-power-enable in the *.dts or *.dtsi file.
Version Info:
Windows 11.
Nordic SDK, Toolchain: v3.0.2.
VS code version: 1.108.2.
nRF Connect for VS Code extension: 2026.1.1242
Device Tree extension version: 2026.1.448