Achieve Lowest Power Consumption using EVK-NINA-B4 from Ublox (nRF52833)

Hello all,

I'm new in to development with nRF Connect and Zephyr RTOS, I have been reading the documentation and looking at the QA but I'm still unable to achieve a "low power" consumption while using de  EVK-NINA-B4 from Ublox (nRF52833), at this point I'm trying to measure using the Nordic Power Profiler Kit II and just running a infinite loop with k_sleep(K_FOREVER); in main while enabling CONFIG_PM_DEVICE=y and CONFIG_PM_DEVICE_RUNTIME=y in the prj.conf.

I even tried disabling almost everything with the help of an overlay. But I'm still measuring power consumption in the order of hundreds of micro amps, is there any other configuration that I'm missing? Sadly some information I've found is not applicable anymore as it was for older version of nRF Connect or nRF5.

Thanks everyone for your help! 

Edit: Forgot to mention that I'm currently using SDK V2.6.1 and Toolchain V2.7.0.

Parents
  • Hello,

    For most samples, it is sufficient to disable the serial driver (UART) by adding CONFIG_SERIAL=n to the project configuration (prj.conf) to get the idle current down in the 2-3 uA range. This can also be achieved by disabling the UART nodes through a devicetree overlay. Have you done this already? 

    https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/test_and_optimize/optimizing/power_general.html 

    Best regards,

    Vidar

  • Hi Vidar, 

    Yes, I've tried that as I found that documentation a couple of days ago while working on this. I created an overlay trying to disable as much as possible for this measurements, but I'm still unable to reach single digits micro amps.

    &adc {
        status = "disabled";
    };
    
    &flash0 {
        status = "disabled";
    };
    
    &i2c0 {
        status = "disabled";
    };
    
    &i2c1 {
        status = "disabled";
    };
    
    &pwm0 {
        status = "disabled";
    };
    
    &radio {
        status = "disabled";
    };
    
    &spi0 {
        status = "disabled";
    };
    
    &spi1 {
        status = "disabled";
    };
    
    &spi2 {
        status = "disabled";
    };
    
    &uart0 {
        status = "disabled";
    };

  • Hi,

    It’s not caused by the UARTE driver then, thanks for confirming. What is the exact idle current you’re measuring, and is it relatively stable at that level? I haven’t done any measurements with this board, so I’m not familiar with how it needs to be configured for measurements. High sleep currents can sometimes be a result of leakage or external circuitry. If you build and program the “hello world” sample with CONFIG_SERIAL=n, you should be able to measure 2-3 uA in idle.

    Please try to measure the current in source mode (use PPK as the supply) if you have not already and see if you get the same result. This should be supported according to the EVK-NINA-B4 UG.

    Best regards,

    Vidar

Reply
  • Hi,

    It’s not caused by the UARTE driver then, thanks for confirming. What is the exact idle current you’re measuring, and is it relatively stable at that level? I haven’t done any measurements with this board, so I’m not familiar with how it needs to be configured for measurements. High sleep currents can sometimes be a result of leakage or external circuitry. If you build and program the “hello world” sample with CONFIG_SERIAL=n, you should be able to measure 2-3 uA in idle.

    Please try to measure the current in source mode (use PPK as the supply) if you have not already and see if you get the same result. This should be supported according to the EVK-NINA-B4 UG.

    Best regards,

    Vidar

Children
No Data
Related