nRF7002dk nrf5340 Power Consumption

We are currently testing the nRF7002dk with Zephyr 2.3.0. We have a application that sets up BLE and then sleeps forever in the main thread.

On our development board, we have shorted SB17 to allow us to measure the power consumed by the nrf5340 using P22.

 If I disable logging and other peripherals (SPI, I2C), I have found that if I compile and run the code with 

CONFIG_WIFI=n
CONFIG_WIFI_NRF700X=n
The idle power consumption between BLE advertisements is around 10uA. If I change the options in my prj.conf to
CONFIG_WIFI=y
CONFIG_WIFI_NRF700X=y
The idle power consumption measured at P22 between BLE advertisements increases to 1.7mA. 
To reproduce the issue, build the peripheral_lbs sample for the nrf7002dk_nrf5340_cpuapp board. The idle power consumption will be ~10uA. Then add 
CONFIG_WIFI=y
CONFIG_WIFI_NRF700X=y
CONFIG_NETWORKING=y
CONFIG_NEWLIB_LIBC=y
to prj.conf and the idle power consumption will be almost 2mA.
 
How do I achieve <1mA combined idle power consumption with the nRF7002dk?
Parents Reply
  • Hi,

    I have a new update from the development team.
    First of all, this is non Wi-Fi mode and might need a fix at system level to power down QSPI properly. The developers are working on a fix where putting the Wi-Fi interface down should shut off the Wi-Fi chip (and QSPI as well), thus decreasing power consumption.

    I also got a response from someone who has patched the nRF7002 DK QSPI driver. When nRF5340 QSPI transaction is done, HFCLK192M Div4 setting is applied. I will upload the driver here.
    The zip file also has a modified version of the Wi-Fi Station sample if you want to have a look at that. It connects to an AP and disconnects. The HFCLK192M Div4 setting may lower the nRF5340 idle current by 1mA, depending on measurement conditions.

    nrf_nrf7002_hfclk192m_div4_bf39293.zip

    Best regards,
    Marte

Children
  • I believe the fix the developers are working on to shut the WiFi interface down is exactly what we are looking for.

    I downloaded the patched QSPI driver, disabled logging, and built the included WiFi station code for the nRF7002 DK. The idle power consumption after disconnect with that sample is ~300uA. Significantly better, but not as good as if I compile out support for WiFi. 

    For our application we intend to connect to WiFi once every few hours and then disconnect and disable WiFi until it is time to connect again to ensure the longest battery life.

    I would be happy to test any patches related to shutting the WiFi down as soon as they are available.

    Thanks,

     

  • Hi,

    I am glad to hear that the patch reduced the current consumption, and I have forwarded your findings to the developers.

    They are still working on a patch for the SDK, but I will let you know if there are any updates.

    Best regards,
    Marte

  • Hello,

    Has there been any updates on a patch for the SDK?

    Our project has been halted while we wait for an update.

    Thanks,

  • Hi,

    Powering off the nRF7002 when not in use has been fixed and merged into nRF Connect SDK. It is currently on the main branch. Shutting down the interface (e.g. using net iface down 1) will shut off Wi-Fi so that it only draws ~2uA.

    Best regards,

    Marte

  • Hello,

    I recently setup a development environment using the main branch instead of the released 2.4.0 version.

    By adding a disconnect before the sleep in the main loop of the "wifi/sta" example I was able to achieve ~275uA idle power draw.

    I was not able to achieve low idle current draw with the "peripheral_lbs" example code from the main branch. I disabled logging in the defconfig files and in the board dts files, exactly as I had done in version 2.4.0 and only managed to get the idle power consumption down to ~1.3mA.

    Do you have any documentation which lists all of the configuration/board files that need modified to ensure minimum power draw?

    Can you provide an estimate as to when nRF Connect SDK 2.5.0 will be released? 

Related