High power consumption on nRF5340 custom board

Hi,

I run a couple test with the PPK2 on our board to measure and optimize the power consumption, but I had some weird results and I'm hopping you can help me out to understand the behavior. Our custom board is a BC40C module from Fanstel (nRF5340 with the DC/DC and crystals components), and a WM02C From Fanstel (nRF7002), with a flash memory and an IMU.

So to sum things up, I have a debut build with uart0 and logs enabled, and a production build with uart0 and log disabled, plus that overlay:

CONFIG_SERIAL=y
CONFIG_UART_NRFX=y
CONFIG_LOG=n
CONFIG_PRINTK=n
CONFIG_CONSOLE=n
CONFIG_EARLY_CONSOLE=n
CONFIG_CONSOLE_SUBSYS=n
CONFIG_UART_CONSOLE=n
CONFIG_BOOT_BANNER=n
CONFIG_PM_DEVICE=y
CONFIG_PM_DEVICE_RUNTIME=y
CONFIG_NRF_WIFI_LOW_POWER=y
CONFIG_INIT_STACKS=n
CONFIG_NRF_APPROTECT_LOCK=n
CONFIG_BOARD_ENABLE_DCDC_APP=y
CONFIG_BOARD_ENABLE_DCDC_NET=y
CONFIG_BOARD_ENABLE_DCDC_HV=y

However, I have a lower power consumption wih the debug build then with the prod build. Furthermore, when I put the device into power off (with sys_poweroff()), I have a quite high power consumption too, see images below.

Debug build

Prod build

System Off (prod build)

I followed the recommandation in the documentations and the blog post here, but I still have those results, and I'm currently running out of ideas...

Any solutions? I'm joining the dts and .config files from each build here if you want to take a look, but they are pretty much the same except the differences for the logs.

Thanks,

Michael

2806.files.zip

Parents
  • I would start by investigating the system OFF current.

    System Off (prod build)

    This shouldn't really be possible. Is the supply rail you are measuring on here only going to the nRF5340, or does it also include the flash memory and IMU? 

    Possible check if you may be sourcing some current through pins also.

    Edit: Also check out in general:
    https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/test_and_optimize/optimizing/power.html 

    It might be a good idea to try to narrow down the functionality in the app a bit and see if any specific modules seems to cause the increased current consumption.

    Kenneth

  • Hi,

    I went trough the documentation once again and realize that my child imag for the net core didn't had the custom overlay file, so I added that. The power went dows a bit, but not by much and I still have a quite high power consumption avter turning the Wi-Fi OFF a second time.

    Before first Wi-Fi sending

    After first Wi-Fi sending

    Power OFF

    As for the CONFIG_PM, I had this warning, so I figured out it was not supported on the nRF5340. However I have the CONFIG_PM_DEVICE and CONFIG_PM_DEVICE_RUNTIME enabled.

    warning: PM (defined at soc/arm/microchip_mec\mec172x\Kconfig.defconfig.series:36,
    soc/arm/silabs_exx32\efr32bg22\Kconfig.defconfig.series:18,
    soc/arm/silabs_exx32\efr32bg27\Kconfig.defconfig.series:18,
    soc/arm/silabs_exx32\efr32mg24\Kconfig.defconfig.series:19, subsys/pm/Kconfig:13) was assigned the
    value 'y' but got the value 'n'. Check these unsatisfied dependencies: (SOC_SERIES_MEC172X ||
    (SOC_SERIES_EFR32BG22 && SOC_FAMILY_EXX32) || (SOC_SERIES_EFR32BG27 && SOC_FAMILY_EXX32) ||
    (SOC_SERIES_EFR32MG24 && SOC_FAMILY_EXX32) || (SYS_CLOCK_EXISTS && HAS_PM)) (=n). See
    http://docs.zephyrproject.org/latest/kconfig.html#CONFIG_PM and/or look up PM in the
    menuconfig/guiconfig interface. The Application Development Primer, Setting Configuration Values,
    and Kconfig - Tips and Best Practices sections of the manual might be helpful too.

    Also, I'm on the SDK v2.5.2, does it have some know power consumption issues?

    Thanks,

  • Here is a test with the hello world sample. I set every peripheral to disabled (uart too, so UART_CONSOLE=n).

    Debug (before first Wi-Fi ON event)

    Debug (after Wi-Fi OFF)

    Debug (with no contact on UART pins)

    Prod (before first Wi-Fi ON event)

    Prod (after Wi-Fi OFF)

    Prod (poweroff)

  • Hi Kenneth,

    I tested the Wi-Fi shutdown sample on my board using SDK v2.5.2 and v3.0.1.

    SDK v2.5.2

    SDK v3.0.1

    In both cases, I noticed no spike after shutting down the Wi-Fi. The only difference between the two builds is the base board configuration (nRF7002Dk and nRF5340DK+nRF7002EK respectively). I added an overlay to adapt both boards to my device, so the final device tree should be identical.

    Do you have any thoughts on what might be causing this behavior?

    Thanks,
    Michael

Reply
  • Hi Kenneth,

    I tested the Wi-Fi shutdown sample on my board using SDK v2.5.2 and v3.0.1.

    SDK v2.5.2

    SDK v3.0.1

    In both cases, I noticed no spike after shutting down the Wi-Fi. The only difference between the two builds is the base board configuration (nRF7002Dk and nRF5340DK+nRF7002EK respectively). I added an overlay to adapt both boards to my device, so the final device tree should be identical.

    Do you have any thoughts on what might be causing this behavior?

    Thanks,
    Michael

Children
Related