Identifying power draw during sleep period of Matter ICD device on nRF54L15-DK

Hi,

I'm trying to reduce the power consumption of my Matter Temperature sensor code.

I'm averaging around 90µA of consumption, but I'm confident that can be reduced. 

I have a timer setup that, when it fires, every 5 seconds, it will take two ADC readings. This looks like:

When my code is idle (before and after these three spikes), it's still drawing an average of 28µA. Using the PPKII, I've zoomed in and you can see the saw tooth shape.

I have disabled the following peripherals on the board

&uart20 {
	status = "disabled";
};

&uart30 {
	status = "disabled";
};

&mx25r64 {
	status = "disabled";
};

&pwm20 {
	status = "disabled";
};

&wdt31 {
	status = "okay";
};

I have also setup a few power saving settings under the prj.conf file.

CONFIG_PM_DEVICE=y

CONFIG_OPENTHREAD_MTD=y
CONFIG_OPENTHREAD_NORDIC_LIBRARY_MTD=y

CONFIG_CHIP_ENABLE_ICD_SUPPORT=y
CONFIG_CHIP_ICD_LIT_SUPPORT=y

CONFIG_RAM_POWER_DOWN_LIBRARY=y

CONFIG_LOG=n
CONFIG_CONSOLE=n
CONFIG_SERIAL=n

This project is based on the nrf/samples/matter/template sample. It is compiled using the "internal" overlay (which disables the external flash)

Could you help me identify what is using that 28µA??

Parents Reply
  • Hi Tomas, 

    I'm glad that you managed to drop the current. I agree that maybe there is something you can shave off from the 18uA idle current, but it might be that there is something else on the PCB that may draw current. And that's expected. 

    Regarding the fix you implemented, I got a tip from Vidar that by using GPIO_INT_LEVEL_HIGH  you may get the event being triggered again if you keep the signal asserted. So if you press a button it may trigger the event several times. The solution is to use GPIO_INT_EDGE_TO_ACTIVE  and  use 'sense-edge-mask' property in device tree. You can take a look here: 
    RE: Interrupt energy intensive

Children
Related