Smart Remote 3 nRF52 v1.2
Power management

A very important quality attribute of the Smart Remote device is its power consumption. A properly designed power management mechanism plays a crucial role in ensuring that the device can run as long as possible with the provided power budget. For typical power measurements, see Smart Remote 3 for nRF52 User Guide v2.0.

Note
Power management is controlled with CONFIG_PWR_MGMT_ENABLED and is enabled by default.

Power modes

Smart Remote effectively stays in one of two power modes. In normal mode, the device is able to perform any activities, including connecting to a BLE host, transmitting data, and reading information from sensors. In low power mode, also referred to as deep sleep mode, the device turns off all of its peripherals, except those used for triggering a wakeup event, and the SoC enters system off mode.

Entering deep sleep mode

The device enters low power mode after CONFIG_PWR_MGMT_CONFIG_STANDBY_TIMEOUT_S seconds pass without any user activity. Once the switch to low-power mode is started, it cannot be stopped, and the device eventually enters deep sleep mode. To ensure that all peripherals are properly configured (turned off), a notification is sent to the registered modules. Each module that must take action before the device enters low power mode registers a callback function using NRF_PWR_MGMT_HANDLER_REGISTER. When this callback is called, the module attempts to switch off. If a switch-off is possible, the callback function returns true. If the shutdown function returns false, the shutdown is postponed. When the module is ready for shutdown, it calls nrf_pwr_mgmt_shutdown(NRF_PWR_MGMT_SHUTDOWN_CONTINUE) to reevalute the shutdown function and continue the power-off procedure. The system attempts to continue the shutdown every second.

The order in which the callback functions are executed depends on the priority given during callback registration.

Note
No assumptions can be made about the order in which callback functions are called, if they were registered using the same priority.

When the last module in the hierarchy confirms its turn-off, the device enters deep sleep mode.

Leaving deep sleep mode

The device leaves the deep sleep mode when one of the wakeup events is triggered. Available wakeup event sources are:

By default, only low power accelerometer is used as a wakeup source.

Note
If a specific device should not be used as a source of the wakeup event, the configuration option mentioned above must be disabled, because wakeup sources are powered on during deep sleep mode.
Only the GPIO-based keyboard can be used as a source of a wakeup event.

Emergency deep sleep mode

When battery voltage level drops to the level defined by CONFIG_BATT_MEAS_MIN_LEVEL, the device enters emergency deep sleep mode. After entering this mode, the device cannot be woken up by any event. To start the device again, remove the old battery set and replace it with a new one.

Note
For the device to enter emergency deep sleep mode, the battery voltage measurement must be enabled by setting CONFIG_BATT_MEAS_ENABLED accordingly.

Documentation feedback | Developer Zone | Subscribe | Updated