This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Current spikes in Power Profiler Kit

Hello,

I have been testing out the Power Profiler Kit on an nrf52840 DK (board revision 1.1.0) with the blinky example (SDK 3.2). All is working well and I am able to plot the current use over time on the Power Profiler App in NRF Connect.

However, I am experiencing current spikes during measurement. The current averages around 3.8mA, but regularly spikes to 3.9mA - 4mA and 3.65mA - 3.6mA approximately every 25ms. As seen in the image. 

What could be causing this spike? Is it possibly from my own setup, or a feature of the blinky code?

Thank you,
Angry Oatmeal

Parents
  • Hi, I think the spikes are just switching noise from one of the regulators on the nRF52840 DK, or possibly the USB supply. The blinky example uses a CPU loop to time the LED blinking, which means that the CPU is constantly running, consuming about 3-4 mA. So the current consumption is as expected.

    If you want to reduce the current you can use an app_timer to control the LED blinking, and put the CPU in idle. Or if you just want to measure the CPU idle current you can replace the main loop with only a __WFE() call.

    int main(void){
        for(;;){
            __WFE();
        }
    }

    In idle mode you will see spikes as well, every 30-40 ms. This is caused by the internal regulator in the nRF52840 operating in refresh mode, and is normal.

Reply
  • Hi, I think the spikes are just switching noise from one of the regulators on the nRF52840 DK, or possibly the USB supply. The blinky example uses a CPU loop to time the LED blinking, which means that the CPU is constantly running, consuming about 3-4 mA. So the current consumption is as expected.

    If you want to reduce the current you can use an app_timer to control the LED blinking, and put the CPU in idle. Or if you just want to measure the CPU idle current you can replace the main loop with only a __WFE() call.

    int main(void){
        for(;;){
            __WFE();
        }
    }

    In idle mode you will see spikes as well, every 30-40 ms. This is caused by the internal regulator in the nRF52840 operating in refresh mode, and is normal.

Children
Related