1
\$\begingroup\$

I am trying to program a low-powered Bluetooth Low-Energy sensor using an nrf52810 microcontroller. I am trying to minimize power consumption when the sensor is idle. I have created a minimum code example to demonstrate my issue. This code simply enables the DCDC regulator and the external high-frequency crystal, then enters idle state with WFI. I have also uploaded the circuit schematic as a PDF in that same repository.

Circuit schematic of my device. See the above-linked PDF for higher resolution.

I was initially using Nordic's S112 SoftDevice, but have now removed it entirely from the device to isolate this issue.

When I enter idle mode using the WFI instruction, my power consumption is high (0.1mA - 1mA), but based on the nrf52810 datasheet (Page 53, Table 5.2.1.3), I expect a power consumption several orders of magnitude lower (0.0008mA):

Table from nrf52810 datasheet, showing that the chip should draw 0.8uA at idle

When I enter System OFF mode, my power consumption is, as I expect, less than 1uA.

My question is: Why is my power consumption so high in idle mode? How can I achieve the much lower power consumption indicated in the datasheet, without using System OFF mode? (I do not have any external devices which could wake the chip after it enters System OFF mode)

Note: I do not have the tools or the accessible pins on my board to properly directly measure current consumption, so I am only able to estimate based on the discharge of the 1F supercapacitor that is used to power the entire board.

Note 2: Before estimating power usage, I re-flash the firmware, then reset the microcontroller by discharging and recharging the power capacitor, which should disable debug mode and enable proper sleep / System OFF mode.

\$\endgroup\$

2 Answers 2

3
\$\begingroup\$

I had the high-frequency external oscillator (HFXO) enabled. I misunderstood the documentation. The low-frequency external oscillator can be left on as it consumes very little current, but the HFXO is only needed when precise timing is neede (i.e., when actively using bluetooth). For low-power idle mode, I should disable the HFXO, which results in low current draw.

Source: https://devzone.nordicsemi.com/f/nordic-q-a/101679/high-current-draw-370ua-from-external-hf-oscillator

\$\endgroup\$
1
\$\begingroup\$

I think you will need to disable your not needed peripherals. there is a chapter describing it in the page 375 in the datasheet. Also for debugging puropose :

  • what s your VCAP voltage?
  • Is it possible to plug the 3.3V from external source and measure your quiescent current ?
\$\endgroup\$
1
  • \$\begingroup\$ I have disabled all peripherals, and the problem persists. VCap is between 0.4V and 1.7V during normal operation. I am currently awaiting a shipment of some tools that will help me properly measure the current. \$\endgroup\$
    – ItsAmy
    Commented Jul 2, 2023 at 1:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.