This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Zigbee power consumption with Thread and Zigbee SDK 4.2.0

HI,

I recently migrated my nrf52840 based devices to Thread and Zigbee SDK 4.2.0

I used to have a good power consumption around 100-150uA with zigbee enabled.

Since SDK migration I'm seeing high power consumption when zigbee is active (device is paired). If my device isn't paired power consumption is very low. (< 100uA)

Are there any changes relative to low-power management with this new SDK that I should be aware off ?

If that can be of any help here is a screenshot of the power profiling.

Thanks,

Sebastien

Parents
  • Hi,

    It's a sleepy end device.

    Previous SDK was Thread and zigbee 4.1.0

    Here is what the current consumption used to look:

    v4.1.0

    Cheers,

    Sebastien

  • Ok, that makes more sense. 

    It looks like the device is not entering the low power mode correctly (the high "waves" looks like they are the radio). Is there some way for me to reproduce this on some DKs?

    Best regards,

    Edvin

Reply
  • Ok, that makes more sense. 

    It looks like the device is not entering the low power mode correctly (the high "waves" looks like they are the radio). Is there some way for me to reproduce this on some DKs?

    Best regards,

    Edvin

Children
  • Unfortunately that would be too complicated to reproduce on ref designs.

    But just to be sure, there are no SDK changes that could explain different behavior regarding low-power mode ?

  • Well, According to the release notes, these are the updates (from v4.1.0):

    So it may be that some of these changes affects your application. 

    Did you try to monitor the log from the application? Does it indicate that everything is going as expected, or does it say that something is not going as intended? 

    When the pattern repeats every ~1 second, does the application reset, or is it running continuously?

    Best regards,

    Edvin

  • Hi Edvin,

    It seems the main differences are the calls to zb_osif_sleep(zb_uint32_t sleep_tmo) which I monitor.

    With SDK 4.1.0 ZBOSS stack used to call it for 3 seconds periods and only wake-up briefly in between.

    Now the the sleep duration is most of the time smaller < 1sec and there is a lot of activity before calling sleep again.

    And my application doesn't reset btw.

    Regards,

    Sebastien

  • Hi,

    I finally found what was causing the issue.

    My application main loop was calling nrf_pwr_mgmt_run(); without taking care of zboss stack.

    That was fine on 4.1.0 but on 4.2.0 I had to implement a cleaner handling:

    • get sleep notification from zboss stack and duration
    • only call nrf_pwr_mgmt_run() during the provided duration

    Thx for your support,

    Sebastien