How to achieve low power consumption on custom nRF5340 board.

Hi,

We have been working on our nRF5340 custom board with ncs V2.0.2.

Our application runs for 10 minutes to collect some sensor data and transfer it over BLE, then it goes to the IDLE state for 20 minutes, and the cycle repeats forever.

What we are trying to achieve is, to put the board into deep sleep in that IDLE period of 20mins to reduce the total power consumption.

To do so, we tried the power management concept in our application by adding the following,

PM configs in our applications prj.conf file,

CONFIG_PM
CONFIG_PM_DEVICE

Required PM files in main.c

#include <pm/pm.h>
#include <pm/device.h>
#include <pm/policy.h>

From what we understand from the Zephyr power management, once we made the above changes, the Zephyr PM subsys will put the board into a suitable power state when the application enters the idle thread, or we can force set the PM state to enter on the next idle thread entry by using "pm_state_force" function call.

But, with all this, 2.7mA is the lowest current we can get with our application in the SOFT_OFF power state.

We also tried using the sleep method in the nRF BLE sample program "ncs\v2.0.2\nrf\samples\bluetooth\peripheral_lbs".

In that example, we disabled BLE, and LED, and put the main thread into a forever sleep, with the hope that this would put the application into a SOFT_OFF power state, and by doing so 600uA is the lowest current we got.

We followed this blog post too, but we couldn't achieve the mentioned low power consumption even in the SOFT_OFF power state.

Could we be missing anything?
We appreciate any help you can provide.

Thanks in advance,
Siva

Parents
  • Hi

    To get lower than 10µA the power management configs shouldn't be necessary, as if no threads are running, the Zephyr RTOS should go to IDLE mode by default, and draw a single digit number of µA. So there must either be something else on your board drawing power or something running. But 2.7mA would mean likely the radio being left running.

    Best regards,

    Simon

Reply
  • Hi

    To get lower than 10µA the power management configs shouldn't be necessary, as if no threads are running, the Zephyr RTOS should go to IDLE mode by default, and draw a single digit number of µA. So there must either be something else on your board drawing power or something running. But 2.7mA would mean likely the radio being left running.

    Best regards,

    Simon

Children
No Data
Related