Baseline Power Consumption Benchmarking on nrf52dk

Hello Nordic Forum,

I ran the Power Profiler Kit on an nRF52DK development board to establish a baseline power consumption.

The current firmware project is quite simple, and I have removed most of the GPIO, including UART, to minimize power consumption.

I have not enabled power management yet, as I am focusing on benchmarking the current power usage.

Currently, the kit reads about 23.25 mA while running in the main loop. Does this seem reasonable?

Would I expect to achieve a significant reduction in consumption if I enable Power Management, or would this only be beneficial when I add sensors that implement power management interfaces?

Thank you in advance for your knowledge and support.

Kind regards,


while (1) {
k_sleep(K_FOREVER);
}

CONFIG_CPP=y
CONFIG_GPIO=y
CONFIG_I2C=y
CONFIG_I2C_NRFX=y
CONFIG_CBPRINTF_FP_SUPPORT=y
CONFIG_DEBUG=y
CONFIG_PRINTK=y
CONFIG_LOG=y
Parents
  • Hello,

    The RTOS scheduler enters the IDLE thread when there is no work to do and puts the chip into sleep mode (System ON). In this state, the system run current should be only a couple of microamps provided no peripherals are active during sleep that keep the HF clock running. This is also the floor current you should expect to measure with most SDK samples when UART is disabled (set CONFIG_SERIAL=n in your project configuration). With UART enabled for logging, you may measure around 600 uA.

    Currently, the kit reads about 23.25 mA while running in the main loop. Does this seem reasonable?

    This is way more than what you should expect to see. Unless you are using GPIO outputs to drive external loads, the chip itself should never draw this much current. Does your measurement setup match what I described in this post here: /f/nordic-q-a/120743/ble-advertising-power-benchmark/532498?

    Best regards,

    Vidar

  • Thank you Vidar, 

    after reviewing the post, I noticed that to measure the current in source meter mode I had to cut SB9 bridge and use two USB cables as detailed in 

    https://docs.nordicsemi.com/bundle/ug_ppk2/page/UG/ppk/measure_current_source_meter.html.


    Now I am measuring 9.14 nA of floor current, which seems more in line with your data, but very low considering that it should average at around 300 nA from specs

  • Ok, so the configuration of board, ppk and wiring seems correct.
    I still struggle to understand how with everything disabled in
    prj.conf and overlay file and a code that only flashes an led on and off on the nrf52dk (pin 20), i read a current of 160uA when led is off.
    Is there a sample that has everything turned off and power mode configured for the lowest possible consumption that I can use for reference?

    Thank you

    CONFIG_CPP=y
    CONFIG_GPIO=y
    CONFIG_SERIAL=n
    CONFIG_PM_DEVICE=y
    &uart0 {
    status = "disabled";
    };


    &pwm0 {
    status = "disabled";
    };

    &bprot {
    status = "disabled";
    };

    &ccm {
    status = "disabled";
    };

    &ecb {
    status = "disabled";
    };

    &ficr {
    status = "disabled";
    };

    &gpiote {
    status = "okay";
    };

    &egu0 {
    status = "disabled";
    };

    &power {
    status = "disabled";
    };

    &reg {
    status = "disabled";
    };

    &egu1 {
    status = "disabled";
    };

    &egu2 {
    status = "disabled";
    };

    &egu3 {
    status = "disabled";
    };

    &egu4 {
    status = "disabled";
    };

    &egu5 {
    status = "disabled";
    };

    &rng {
    status = "disabled";
    };

    &ppi {
    status = "okay";
    };

    &nvic {
    status = "disabled";
    };

    &clock {
    status = "okay";
    };

    &uicr {
    status = "disabled";
    };

    &mwu {
    status = "disabled";
    };

    &wdt {
    status = "disabled";
    };
  • If you try the "Hello World" sample it is sufficient to add CONFIG_SERIAL=n the project configuration (this is true for most samples). You can also try the pre-compiled hex I posted here /f/nordic-q-a/120743/ble-advertising-power-benchmark/532498.

    federicoc said:
    prj.conf and overlay file and a code that only flashes an led on and off on the nrf52dk (pin 20), i read a current of 160uA when led is off.

    Do you measure more when it is on? The measurements should not be affected by the led states as they are supplied by USB bus.

  • Vidar, thank you for your reply. 
    Indeed I get a higher current when the Led is on.
    Here is the trace with the pre-compiled hex:
    The shape is the same but the floor current is of around 194uA. Similar to what it was identified in the other blog as well.
    I am gonna try with a different dk and post the results here




  • Thanks for confirming. This suggests that something is wrong with the setup. Hopefully, you will get the expected results when you try it on a different DK.

  • I was hoping to provide some progresses as I had ordered two more nrf52dk from digikey.
    Unfortunately, I tested one and i got the same 200uA result. 
    Could it be the ppk?

Reply Children
  • The ground wire is connected to the '+' pin instead of the '-', which is wrong. The Power switch is also in the OFF position. This needs to be on when measuring to avoid current leakage.

  • Thank you so much Vidar, I turned off the board before taking the picture. Not sure what you mean by measuring current leakage if the power switch is OFF. If it is OFF the mcu is not running.
    You are correct about the ground but it did not affect much the measurement.

    Here is the setup and the current measurement





  • Do you see the same floor current if you increase the supply voltage from 2.9 to 3v in the PPK SW? I measured the VDD to be 2.9V on my nRF52 DK when I did the measurements earlier so that is how I ended up with that value. It would also be interesting to know if you get the same result if you use the ampere mode instead (see DK and PPK user guide for how to hook up the board for this)

    federicoc said:
    If it is OFF the mcu is not running.

    As far as I remember, VDD_nrf will be supplied so the nRF52832 should be running, but not the interface MCU and the other circuits that are on a separate power domain.

Related