nRF54L05 wake on I2C standby current

An external MCU occasionally sends data to the nRF54L05 over I2C. Between transfers, the nRF54L05 should sleep and wake when addressed, without a separate wake pin.

What is the total standby current at 3 V with TWIS enabled, radio off, and no bus traffic? Does TWIS keep the HF clock running? Any measurements or required low-power settings?

  • Hello,

    It won’t keep the HF clock running, but it will still increase the floor current. I measure 18 uA in sleep (System ON) at 3 V with TWIS enabled on my desk with the nRF54l15DK emulating the nrf54l05 and the test sample attached below (built with NCS v3.4.1).

    5556.twis_idle.zip

    Best regards,

    Vidar

    PPK2 plot:

    EDIT: The nRF15L05 has the TWIS30 instance in the low power domain. Switching to that instance gave significantly lower power consumption in System ON idle:

    To test this you can swap out the content of the board devictree overlay with this:

    /*
     * TWIS30 (LP domain) must use port P0. SCL must be on a clock pin: P0.04 (DK Button 3).
     * SDA: P0.02 (DK VCOM0 RTS, disconnect VCOM0 in Board Configurator).
     */
    
    &pinctrl {
    	twis30_default: twis30_default {
    		group1 {
    			psels = <NRF_PSEL(TWIS_SDA, 0, 2)>,
    				<NRF_PSEL(TWIS_SCL, 0, 4)>;
    			bias-pull-up;
    		};
    	};
    
    	twis30_sleep: twis30_sleep {
    		group1 {
    			psels = <NRF_PSEL(TWIS_SDA, 0, 2)>,
    				<NRF_PSEL(TWIS_SCL, 0, 4)>;
    			low-power-enable;
    		};
    	};
    };
    
    &i2c30 {
    	compatible = "nordic,nrf-twis";
    	pinctrl-0 = <&twis30_default>;
    	pinctrl-1 = <&twis30_sleep>;
    	pinctrl-names = "default", "sleep";
    	status = "okay";
    };

    And if you are using the nordic DK, disconnect the UART lines from the interface MCU so they can be assigned to the TWIS instead.

  • This answers my question - thanks for the quick turn around!

Related