System_off example has increased power consumption when using k_sleep iso system_off

I run the system_off example without the system actually going off, by removing all the calls to start the system_off worker. Instead of going to off, I let the system enter sleep mode (k_sleep()).

I enabled wake up on nfc.

After a reset, the system enters sleep (4-5uA sleep current). After waking the system by nfc, the sleep current sometimes becomes 200uA, sometimes stays at 4uA. See picture below.

It seems to be related to the state of the nfc peripheral as this is the only peripheral used.

Any idea how to prevent the system going to sleep with a 200uA sleep current?

  • Hi Simon,

    Thanks for looking into this!

    I'm working on a similar application where power consumption is also a key concern. Like Renger, we primarily rely on system_off() most of the time. However, during BLE connections, we also need NFC to be able to trigger certain operations at any time.

    While the BLE connection alone has a normal current consumption of around 30 µA, enabling NFC introduces some irregular behavior — sometimes the current remains at 30 µA after NFC is triggered, but other times it rises to around 220 µA. This inconsistency makes it difficult to pinpoint the cause.

    Could this behavior be related to the same issue, or is there something we might be missing in the way NFC is handled in combination with k_sleep() on the nRF54L15?

    Thanks in advance for any guidance.

    Best regards,
    Phelan

  • Hi all,

    I don't know if I made it clear in the previous posts.

    As Phelan, I only see the problem when using NFC. It either enters sleep just fine, or I see the higher sleep current of around 200uA.

    Best regards,

    Renger

  • Hi Renger,

    Yes, I actually understood your point — thanks again for the clarification.

    I can now confirm that I'm seeing the exact same behavior on my side as well. When using only NFC, the device either enters sleep with low current (around 30 µA), or sometimes it stays at a higher sleep current of around 200 µA, just like you mentioned.

    Best regards,
    Phelan

  • Hi

    Sorry about the late reply here, but I've been waiting for a reply internally with some more input. So, what is likely happening here is that the NFC library has a dependency on the nrf_clock and the HF clock is what isn't shut down correctly when you put the device in system on mode like this instead of system off mode. The biggest difference between the sleep functions seems to be the way the delayable work is handled and that you need to add some way to do that when going into k_sleep to be able to go into sleep with the HF clock disabled. This also explains why you don't always see this issue, but likely only when there is some delayable work being put off which will keep the HF clock running.

    Best regards,

    Simon

Related