NRF52840 System ON Low Power almost reached but 1µA comes from nowhere.

Hi dear forumers,

 
I'm in the goal of achieving lowest current consumption on my PCA10056 DK board, with an nrf52840.
I converted a previous zephyr firmware who perfectly runs low current on PCA10040 to the PCA10056 board but it resulted with an abnormal current consumption.
The target with the nrf52840 is 2.35µA and I'm seeing 3.5µA.

1) To troubleshoot, I decided to build a new project from scratch using the simplest zephyr code and SDK 2.6.1. I disabled every possible peripheral in the device tree overlay.
Correctly cut the SB40 jumper on the board and measure with the PPK2 in ampmeter, and I still saw ... ~3.5µA.
Code Zephyr


prj.conf


measure

 

2) Then I applied a software SYSTEM OFF (NRF_POWER->SYSTEMOFF = 1) just to be sure, and I measure 1.5µA, which is incorrect and should be ~0.5µA.

 

3) Thinking that my board might have a ~1µA leak, I decided to flash a firmware from a fellow developer on this forum (here 538705.zephyr.hex),  To my surprise, the current consumption dropped to 2.3µA between BLE advertising ! Open mouth
This indicated that my board doesn't have a leak and my measurements are correct.


So, the question is, why can't I achieve the same results as "ujur007" with my simple firmware?

Could it be the Zephyr version (v3.5.99-ncs1-1) ? The SDK version ?  Because This is clearly a software issue.

Here my HEX : 6165.zephyr_brotechnic.hex


Best regards.
Vincent
 





Parents Reply Children
  • I finally figured out what was going on here. On the PCA10056 board, there's definitely a 0.8~1.0 µA leak. I discovered this by using another board with only an NRF52840, and my exact code reached the perfect Nordic current consumption specifications for this SoC.

    I initially assumed that this HEX file was idling with "SYSTEM ON with RAM retention" and showed a correct 2.35 µA. However, I was wrong. This HEX file has no RAM retention, so it should draw 1.5 µA. That's a 0.85 µA difference. And that's a leak.
    My code correctly goes to idle but with RAM retention and some GPIO events, and it should draw ~2.5 µA, but I was seeing ~3.5 µA. The infamous 1 µA leak.

    Dear Nordic team, please inform us that the current measurement on some DK boards could be altered. I spent a LOT of time figuring out what was going on ...
    Nevertheless the problem does not exist on PCA10040, measurement are correct.


    This is my Bluefruit Feather board with nearly all components unsoldered, and it works well for measuring idle current.

    Correct current (SYSTEM ON, no RAM retention) :

    Vincent

  • In hindsight, the answer was in the question ... 

    When I put the NRF52840 in SYSTEM OFF and it still drew 1.5µA instead of 0.5µA.  That was the 1.0µA leak.

Related