High current consumption (~20 mA) during button press on nRF54L15 DK (Matter Contact Sensor sample)

Hello Support Team,

I am currently working with the Matter contact sensor sample (ncs\v3.4.0\nrf\samples\matter\contact_sensor) on the nRF54L15 Development Kit (DK).

As part of my application requirements, users need to keep two or more buttons depressed for extended periods. However, when pressing the SW1 button on the DK, the Power Profiler Kit 2 (PPK2) registers a constant high current draw of approximately 20 mA. This current consumption significantly exceeds what would be expected from internal pull resistors.

The board is powered via the onboard nPM1300 PMIC. Despite testing various configurations—including both internal and external resistor setups,using sense-mask,using gpio_pin_configure_dt —the current spike persists consistently as long as the button is held down.

Since the final product will be battery-powered, this level of power consumption is a critical issue for the design. Could you please advise on potential solutions to resolve this behavior, or let me know if this indicates a hardware defect on the nRF54L15 DK?

Thank you for your assistance.

.

Parents
  • Hello!

    Thanks for reaching out.

    From what I can see in your screenshot the average current during the button press is quite far below 20 mA, with some peaks at around 15 mA. With that said, the current draw seems quite high for only a button press. Does anything else happen when the button is pressed? Also, try to capture the average current during the actual button press as well.

    Best regards,
    Carl Richard

  • Dear Richard,

    Thank you for your prompt response.

    The program is currently functioning as intended; the input successfully toggles within Home Assistant, and all device details are correctly populated.

    However, we have identified only this significant drawback: high current spikes occur whenever the button is held down. Debugging logs—captured during active operation, as the issue is intermittent—confirm that the program correctly enters the interrupt only once on edge changes, as expected.

    In summary, while the core logic and operations are running correctly, resolving these current spikes remains the primary issue to address.

    Best regards,

    IOANNIS0

  • Hello!

    Thanks for the extra details. I think this lies in the firmware somewhere. Can you tell me what the application does when pressing SW1? How does it differ from the contact sensor sample?

    I will also try to reproduce here.

    Best regards,
    Carl Richard

  • Hello Richard again.

    Thank for your support and sorry for my late reply.

    I am runnig the example from c:\ncs\v3.4.1\nrf\samples\matter\contact_sensor on a nRF54l15 dk, after a new instalation of the nRF SDK Connect 3.4.1 on vscode.I have not made any other modifications except the Build Configuration.

    The apllication,when the device is paired on the homeassisant,is working normally.The input is toggling,when i push the button and all the device details are populated on the relative homeassistant page .The LED1 on the dk is toggling every time i push BUTTON1 on the dk.

    This my Build Configuration.

    Thanks once again for your support.

  • Hello  again.

    I have just discovered a really strange behaviour.

    When i am debuging the application,i do not have this current spikes, but when i stop debuging spikes are back

    What is the difference between debug and normal run?Is something special about the on board debugger?

    Best regards.

Reply Children
  • Hello again!

    I suspect that this may have something to do with how the library for buttons and LEDs on the DK works. Could you try to set CONFIG_DK_LIBRARY_BUTTON_SCAN_INTERVAL=100 in prj.conf and report the behavior you get then? This changes how often the CPU is awakened to check the buttons, and from my testing it can have a quite significant effect on the power consumption when a button is held down. If the config works for you we'll check if that is the best solution or if something else works better.

    When it comes to debugging. Does the application otherwise function normally?

    Best regards,
    Carl Richard

Related