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

nrf52840 Power Consumption

Hi There,

I am doing current measurements on the nrf52840 in sleep mode with no RAM retention and I am getting different values based on how I take the measurements. Please see the various methods and resulted below.

  1. Using an amp meter in series with P22 - SW10 = On | SW6 = nRF Only | VP21 = 3.3V
    13.2 micro amp

  2. Using and amp meter in series with P22 and power from USB header J2 - SW10 = off | SW6 = nrf ONly 1.3 micro amp

  3. Using and amp meter in series with P21 - SW10 = On | SW6 = nRF Only | VP21 = 3.3V 1.46 micro amp

  4. Using and amp meter in series with P21 - SW10 = On | SW6 = default | VP21 = 3.3V 0.1 micro amp

  5. Using the PPK with jumper SB40 open 33 micro amp

Can you please help me to understand why these numbers are so different. I believe that method 2 above is probably the correct value, even though it does seem a bit high. Isn't the nRF52840 supposed to draw around 500 nA in sleep mode? Your help would be much appreciated.

  • Hi,

    Sorry, but it is not easy to measure current on the nrf52840 preview DK (pca10056 0.9.0). I tried different setups here too, but I was not able to get the lowest currents accurate enough. USB will cause a lot of noise, so usually the measurements become more inaccurate with USB. I get the best results if I power the DK from a stable voltage source on P21, and measure current through P22. SW10 Off, SW6 nrf only.

    EDIT

    Please disregard the above. What I did wrong was not to power the DK through USB. Even though you power the nRF chip from P21 you still have to power the DK through USB in order for everything else on the DK to work properly. The following should give good results:

    • main USB connected
    • stable voltage supply on P21
    • SW10 -> ON
    • SW6 -> nRF ONLY
    • SW9 -> VDD
    • Cut SB40 and measure current through P22
  • Hi,

    I did what HardwareGuy did using setup number 2 and also left SB40 open. My current read varies from 2.9 to 2.2uA. I do understand the stable voltage source argument but this still seems high.

    Talking about the code - I tried the nrf_pwr_mgmt_pca10056 and changed the main function to, int main(void) { while (true) { __WFE(); __SEV(); __WFE(); } }

    So what am I missing?

    Following figures suppose to work but they are not working in my case,

    1. When using external 32kHz crystal oscillator as clock source for RTC and no RAM retention: 0.7uA (from OPS) + 0.23uA (32kHz crystal oscillator run current) + 0.1uA (RTC run current) = 1.03uA.
    2. When using internal 32kHz RC oscillator as clock source for RTC and no RAM retention: 0.7uA + 0.7uA (32kHz RC oscillator run current in normal mode) + 0.1uA = 1.5uA.
    3. When using external 32kHz crystal oscillator as clock source for RTC and 64KB RAM retention: 1.03uA + (16 x 0.03) = 1.51uA (Assumption: the power retention is enabled by SD or user application or both)
    4. When using internal 32kHz RC oscillator as clock source for RTC and no RAM retention: 1.5uA + (16 x 0.03) = 1.98uA (same assumption as above)

    Your guidance of exact setup and the code will be of immense help. Any setup that will bring the current near to these or lower than what I have will be helpful.

Related