Power consumption of Matter template example

Helo,

I flashed a nrf52840 dk with Matter template example supplemented with a temperature sensor (this tutorial, v2.0.2) and changed minimal end device to sleepy end device. The temperature is read and transmitted over Thread every 10 seconds. The development kit is commissioned on thread border router on google nest which is connected to home assistant with python matter server.

I measured the power consumption of the development kit with PPK2 and I observed interesting behaviour. At the beggining it took ~8 seconds to initialize and connect to border router during which the power consumption was 4.6 mA. After that, the power consumption is 80 μA. In the plot I can see clearly communication every 10 seconds (several 18 mA peaks) - reading and transimitting the measured value. However, there are another 15 mA peaks every second which I don't know what they are. Without them, the average power consumption would be much lower. Can anybody explain what are those peaks? Is there any way to eliminate them?

For better explanation you can see 3 images of power profiler - the first one is the whole measurement, the second one 10 second interval in which one measurement is done and the last one is the power consumption between the one second peaks. 

Parents
  • Hi,

    You say you are using v2.0.2, but the documentation you link to is for v2.2.0. Can you verify whether you are using v2.0.2 or v2.2.0?

    What are CONFIG_CHIP_SED_IDLE_INTERVAL and CONFIG_CHIP_SED_ACTIVE_INTERVAL set to, and do you see any difference when changing these?
    Have you tried using Synchronized Sleepy End Device (SSED) instead of regular SED? You can enable this with CONFIG_CHIP_THREAD_SSED=y.

    Best regards,
    Marte

  • Hi Marte,

    Sorry for causing confusion, I'm using SDK v2.2.0.

    Where should I look for the CONFIG_CHIP_SED_IDLE_INTERVAL and CONFIG_CHIP_SED_ACTIVE_INTERVAL values, please? I searched through the whole project and I didn't find any occurrence of these parameters. I expect they should be in Kconfig or matter.template. 

    I can't use SSED because my version of OTBR does not support that. (And I always thought SSED has to have higher power consumption due to synchronization procedure)

  • Hi,

    If you have not configured CONFIG_CHIP_SED_IDLE_INTERVAL and CONFIG_CHIP_SED_ACTIVE_INTERVAL in prj.conf yourself, then they will be set to their default values of 1000 ms. Thus, the SED wakes every second to poll data, which might be causing the spikes you see in the current consumption. Try increasing the intervals by setting them to a value larger than 1000 ms in your prj.conf and see if that affects the spikes.

    Best regards,
    Marte

Reply
  • Hi,

    If you have not configured CONFIG_CHIP_SED_IDLE_INTERVAL and CONFIG_CHIP_SED_ACTIVE_INTERVAL in prj.conf yourself, then they will be set to their default values of 1000 ms. Thus, the SED wakes every second to poll data, which might be causing the spikes you see in the current consumption. Try increasing the intervals by setting them to a value larger than 1000 ms in your prj.conf and see if that affects the spikes.

    Best regards,
    Marte

Children
Related