Power management for nRF54L15

Hello, 

I'm doing some experimentation with nRF54L15DK dev kit.

I connected PPK2 to P6 on the board to measure VDD:nRF current consumed.

The DK is loaded with a release build (-Os) of the peripheral NUS demo app (NCS 3.2.1)

As can be seen in the attached screen cap, the average current is 450-500uA (including advertising spikes), where the base (floor) current draw is ~90uA

I tried to set CONFIG_PM=y in app.prj, but it appears to be filtered out as I get a warning in the build terminal, and it doesn't state a direct dependency on nRF54L15 in kconfig gui

I tried like a million CONFIG_xxx & app.overlay hacks suggested by AI, but nothing seems to reduce the power.

Is 80-90uA is the minimum when the system is idle? it feel too high...

Thanks in advance

Parents Reply Children
  • Thanks  , very helpful.

    The demo code definitely looks better:

    - 1uA in off mode

    - 2uA 'floor' when advertising.

    Nice.

    I have two follow-up questions:

    • It appears that the demo app needs to be put to off-state programmatically (through the work item)
      My understanding, based on documentation, is that setting CONFIG_PM takes care of that automatically in the idle task (I think this is how FreeRTOS is doing this, but I may be wrong here)

    • I still do not understand what needs to be applied/removed from peripheral_nus demo app (or even shell_bt_nus) to make it as power efficient.
      Is it only calling system_off() ?

    Thanks for your prompt response

  • eyalasko said:
    It appears that the demo app needs to be put to off-state programmatically (through the work item)
    My understanding, based on documentation, is that setting CONFIG_PM takes care of that automatically in the idle task (I think this is how FreeRTOS is doing this, but I may be wrong here)

    No, CONFIG_PM alone does not automatically put the device into System OFF. 

    eyalasko said:
    I still do not understand what needs to be applied/removed from peripheral_nus demo app (or even shell_bt_nus) to make it as power efficient.
    Is it only calling system_off() ?

    It needs to enable CONFIG_PM and CONFIG_PM_DEVICE, Call the sys_poweroff() when you enter System OFF and Disable or power‑manage UART/logging and other unused pins and peripherals

Related