High current consumption in the Template Matter sample

I have followed the guide Adding clusters to Matter application to add two TemperatureMeasurement clusters to the Template sample. 

I have flashed this onto an nRF52840-DK and hooked up a PPKII to the External Supply. I have switched SW6 to nRF ONLY to take the peripherals out of the equation.

The power consumption is a whopping 500µA even with CONFIG_SERIAL=n

In this post, Power consumption of Matter template example - Nordic Q&A - Nordic DevZone - Nordic DevZone, the user converts to from a Minimal Thread Device to a Sleepy End Device and has a tiny power consumption.

I have tried everything I could find to make mine sleepy, but nothing has worked so far. 

The CHIP_ENABLE_ICD_SUPPORT is set to y, but that doesn't seem to have done anything.

Can you please provide me some guidance on making this work??

Parents
  • Hi, 

    What NCS version are you using? Please check out this guide Reducing power consumption in Matter.

    Regards,
    Amanda H.

  • I'm using NCS 3.0.2

    I have followed that guide and made significant reductions. I'm not quite sure which setting removed the 500µA, but a pristine build resulted in the reduction.

    That said, I still have two issues which I need help with.

    #1 I have set CONFIG_CHIP_ICD_SLOW_POLL_INTERVAL to 30000, but as you can see in the PPKII graph above, the radio seems to turn on every 15 seconds.

    #2 There is a 3mA spike every one second. I have a single timer, configured to run at 10 second intervals. I configure the timer in AppTask::Init() and start it in AppTask::StartApp()

    CHIP_ERROR AppTask::Init()
    {
    ...
    k_timer_init(&sSensorTimer, &SensorTimerHandler, nullptr);
    k_timer_user_data_set(&sSensorTimer, this);
    ...
    }
    
    CHIP_ERROR AppTask::StartApp()
    {
    	ReturnErrorOnFailure(Init());	
    
    	k_timer_start(&sSensorTimer, K_MSEC(10000), K_MSEC(10000));
    
    	while (true)
    	{
    		Nrf::DispatchNextTask();
    	}
    
    	return CHIP_NO_ERROR;
    }

    Could you help with these two questions?

Reply
  • I'm using NCS 3.0.2

    I have followed that guide and made significant reductions. I'm not quite sure which setting removed the 500µA, but a pristine build resulted in the reduction.

    That said, I still have two issues which I need help with.

    #1 I have set CONFIG_CHIP_ICD_SLOW_POLL_INTERVAL to 30000, but as you can see in the PPKII graph above, the radio seems to turn on every 15 seconds.

    #2 There is a 3mA spike every one second. I have a single timer, configured to run at 10 second intervals. I configure the timer in AppTask::Init() and start it in AppTask::StartApp()

    CHIP_ERROR AppTask::Init()
    {
    ...
    k_timer_init(&sSensorTimer, &SensorTimerHandler, nullptr);
    k_timer_user_data_set(&sSensorTimer, this);
    ...
    }
    
    CHIP_ERROR AppTask::StartApp()
    {
    	ReturnErrorOnFailure(Init());	
    
    	k_timer_start(&sSensorTimer, K_MSEC(10000), K_MSEC(10000));
    
    	while (true)
    	{
    		Nrf::DispatchNextTask();
    	}
    
    	return CHIP_NO_ERROR;
    }

    Could you help with these two questions?

Children
No Data
Related