This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

How to set nRF52 DK into sleep mode: System ON, No RAM retention, wake on RTC (running from the LFXO clock)

I would like to see an example or documentation about how to set my nRF52 DK into various sleep modes. I know that calling "sd_power_system_off()" will turn the device into System OFF sleep mode, and that calling "sd_app_evt_wait()" will set the device into System ON sleep modes. However, I know that there are various potential options for each scenario such as;

System ON, No RAM retention, Wake on any event

System ON, Full 24 kB RAM retention, Wake on any event

System ON, Full 24 kB RAM retention, Wake on any event, Power fail comparator enabled

etc etc

How can I set the device into these various states of System ON? In my application I am using many peripherals (ppi, SAADC, gpiote, timers) and am also using Nordic UART Service. Will I have to disable peripherals besides timers to get the lowest possible current consumption? I will be flashing my application onto an external custom board with nRF52810 and would like to get as close as possible to the documented 0.6 µA power draw in System ON, no RAM retention mode. I know how to use the PPK to monitor current draw, and am aware the device should not be in debug mode.

Thanks :)

Parents
  • Hi Noah

    You're correct in that sd_power_system_off() sets the device to system OFF mode. sd_app_evt_wait() will set the device into System ON, No RAM retention, Wake on any event in most of the examples in our SDK. We do have the Real-Time Counter Example which enables the RTC to show you how you control interrupts using the RTC and how to wake from system ON mode using it (System ON, No RAM retention, wake on RTC).

    We also have a RAM Retention example to show how to configure the system for RAM retention and trigger system OFF, but this can easily be made out to go to a system ON sleep mode as well. You can implement whatever parts you'd like from these examples to achieve any of the sleep modes you want.

    Best regards,

    Simon

Reply
  • Hi Noah

    You're correct in that sd_power_system_off() sets the device to system OFF mode. sd_app_evt_wait() will set the device into System ON, No RAM retention, Wake on any event in most of the examples in our SDK. We do have the Real-Time Counter Example which enables the RTC to show you how you control interrupts using the RTC and how to wake from system ON mode using it (System ON, No RAM retention, wake on RTC).

    We also have a RAM Retention example to show how to configure the system for RAM retention and trigger system OFF, but this can easily be made out to go to a system ON sleep mode as well. You can implement whatever parts you'd like from these examples to achieve any of the sleep modes you want.

    Best regards,

    Simon

Children
Related