nrf5340 sleep currrent consumption

In our custom board nrf5340-nrf7002, tried system_off(C:\ncs\v2.6.1\zephyr\samples\board\nrf )sample to check power consumption. 

But it measures 0.60mA

Is there any config need to address? please provide debug steps

  • Hi Priyanka,
    Thank you for you response.

    Are you using the COEX related pins? If you are not using them, then it's better to configure them as disconnected inputs in the dts or explicitly set as inputs with no pull resistors in your application.

    We are using both BLE and Wifi, so COEX is needed right?

        nrf_radio_coex: nrf7002-coex {
            status = "okay";
            compatible = "nordic,nrf700x-coex";
            req-gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>;
            status0-gpios = <&gpio0 30 GPIO_ACTIVE_HIGH>;
            grant-gpios = <&gpio0 24 (GPIO_PULL_DOWN | GPIO_ACTIVE_LOW)>;
            swctrl1-gpios = <&gpio0 29 GPIO_ACTIVE_HIGH>;
            btrf-switch-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;

    We     };

    Above coex configuration is in zephyr.dts file

    make sure that the external flash is in a deep sleep mode.
    We put external flash in suspend mode.
    pm_device_action_run(spi_flash_dev, PM_DEVICE_ACTION_SUSPEND)

    Could you please suggest how can we acheive the deep sleep mode?


  • Hello,

    My colleague Priyanka is on leave now. It's holiday season here in Norway. Sorry for the late reply.

    I suspect that GPIOTE IN is used for interrupts on your setup, then this will cause higher sleep current. Could you please check this?

  • Hi, 
    Thank you for your response.

    Yes, In our application we using 5 GPIO interrupt, Where 4 pin are PULL UP and 1 pin is pull down in hardware side.
    In software wise, we using port rather than GPIOTE to save current. 

    Here I share the software configuration of the pins in overaly FYR Please reviwe provide your feedback.

    &gpio0 {
        status = "okay";
        /* Use PORT event rather than GPIOTE IN event, to save power */
        sense-edge-mask = <0xffffffff>;
    };

    &gpio1 {
        status = "okay";
        /* Use PORT event rather than GPIOTE IN event, to save power */
        sense-edge-mask = <0xffffffff>;
    };
  • Hello,

    What is the base-current consumption of your board when everything is in sleep mode? 

    You have flash and i2c on your board. So, there must be some added current from other parts of your custom board.

Related