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

ZigBee + FreeRTOS example power consumption optimization

Hi, I'm using nrf52 dk and struggling to get low power consumption using multi_sensor_freertos ZigBee example from nrf sdk. Can you provide me some guides on how to optimize it? The lowest I can get is 600uA, which in my case is unacceptable. I was trying to add ZigBee dependencies to compile with blinky rtc example, but still after radio start-up i've got more than 0.5mA.

Parents
  • Hi Adam,

    This example is not written correctly to be very power efficient.

    The Tickless IDLE in FreeRTOSConfig.h file has been disabled. So the MCU is woken up every 1ms to service the RTC interrupt for maintain the freertos internal tick.

    It is also using nrf_pwr_mgmt which contradicts the idle sleeping cycles. I think this example

    • needs to enable the tickless idle, 
    • nrf_pwr_mgmt_run needs to be removed and 
    • zb_osif_go_idle in main.c needs to yield in a proper way so as to let the idle task to suspend the chip properly.

    I need more time to re-calibrate this example to work properly with freertos (power consumption wise)

Reply
  • Hi Adam,

    This example is not written correctly to be very power efficient.

    The Tickless IDLE in FreeRTOSConfig.h file has been disabled. So the MCU is woken up every 1ms to service the RTC interrupt for maintain the freertos internal tick.

    It is also using nrf_pwr_mgmt which contradicts the idle sleeping cycles. I think this example

    • needs to enable the tickless idle, 
    • nrf_pwr_mgmt_run needs to be removed and 
    • zb_osif_go_idle in main.c needs to yield in a proper way so as to let the idle task to suspend the chip properly.

    I need more time to re-calibrate this example to work properly with freertos (power consumption wise)

Children
Related