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.

Parents
  • 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.

Reply
  • 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.

Children
No Data
Related