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

  • I have another question regarding cutting SB9 on the DK. I have one board without SB9 cut, and it works perfectly fine. However, I have another DK where I have cut SB9 for power profiling kit use and the board does not function properly. When I try to program the board, I receive an error that says idcode not found. When I jump both pins on P22, I am able to flash the board, but LED1 does not turn on or flash after flashing the rtc example. 

    Do I really have to solder/desolder SB9 every time I want to flash new code onto the board and then test it using the power profiling kit?

Reply
  • I have another question regarding cutting SB9 on the DK. I have one board without SB9 cut, and it works perfectly fine. However, I have another DK where I have cut SB9 for power profiling kit use and the board does not function properly. When I try to program the board, I receive an error that says idcode not found. When I jump both pins on P22, I am able to flash the board, but LED1 does not turn on or flash after flashing the rtc example. 

    Do I really have to solder/desolder SB9 every time I want to flash new code onto the board and then test it using the power profiling kit?

Children
No Data
Related