nRF5 SDK is not maintained anymore
More Info: Consider nRF Connect SDK for new designs

setting System ON sleep mode and wake up on RTC event

Based on the "system_off" example, I intend to use the RTC to wake the device up (a NRF52840) periodically every minute.

I setup the RTC with LFCLK (32KHz) to trigger a compare event as the wakeup source, and attempted to shutdown other peripherals so as to reach minimum supply.

According to the data sheet should be :  System ON sleep mode, full 256 kB RAM retention, wake on RTC (running from LFRC clock) => current supply I(ON_RAMON_RTC) = 3 uA

Nevertheless, I failed to put the CPU in System ON sleep(idle-mode) , I tried the following :

        pm_device_state_set(cons, PM_DEVICE_STATE_SUSPENDED);  to set USB off (which I am using as console)

        pm_power_state_force((struct pm_state_info){PM_STATE_SUSPEND_TO_IDLE, 0, 0});

        pm_power_state_force((struct pm_state_info){PM_STATE_STANDBY, 0, 0});

 

I monitored the supply current, none of these instructions (separately) were effective to drop the supply down.  

I read Case ID: 222562 but it is not clear to me… which is the proper sequence ?

I am using nRF Connect SDK 1.8.0

Parents
  • You do not need to do anything to make the system go to sleep on nRf52 devices as described in this thread. The system goes to idle sleep automatically when all of your other threads are suspended or waiting for something.

    If system _off is what you are seeking then i tried the example in<NCS_FOLDER>\v1.7.0\zephyr\samples\boards\nrf\system_off\src\main.c and it works ok on the nRF52840 DK board.

Reply
  • You do not need to do anything to make the system go to sleep on nRf52 devices as described in this thread. The system goes to idle sleep automatically when all of your other threads are suspended or waiting for something.

    If system _off is what you are seeking then i tried the example in<NCS_FOLDER>\v1.7.0\zephyr\samples\boards\nrf\system_off\src\main.c and it works ok on the nRF52840 DK board.

Children
Related