This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

High background current of BLE beacon

I got a nRF51822 based module and I loaded a slightly modified application based on "ble_app_beacon" example in nRF51 SDK via SWD interface using J-Link. The code has been pasted in this link http://pastebin.com/7FSE3HzA, which was same to the original code except I used the internal RC oscillator, enabled by

SOFTDEVICE_HANDLER_INIT(NRF_CLOCK_LFCLKSRC_RC_250_PPM_TEMP_4000MS_CALIBRATION, false);

in the main function. However, I was measuring the background current draw of ~4mA between BLE advertising events when the device was on 3.3V battery. I calibrated the current sensor with known 30uA and 3mA current sources, and the results agreed with the calibration values. It confused me because:

  • I was not using any peripheral and on-board debugger. It was a bare board with only nRF51822 module and a couple of header pins on it.
  • According to this link, using the internal RC oscillator calibrated every 4 s should only add up ~ 10uA current. The 4 mA current was way off.

I am just wondering if it is something inherent to the firmware, or it is more likely otherwise (e.g., board, testing, etc.).

  • Hi

    Have you gone through the troubleshooting section in the current consumption guide?

    Are you using bootloader? Bootloaders prior to SDK 8.0.0 draw excessive current, see fix on this thread.

    Let me know how it works out.

  • Hi Stefan, I didn't use bootloader (but I did use the 32kHz internal RC oscillator), but your suggestions led to the answer. I was using SoftDevice 7.1.0, the background current was 4.5mA and peak current was 14mA. Then I tried SoftDevice 8.0.0 with the same application, and the background current became 3uA and peak current was ~13mA. So SoftDevice version did make a difference even for bare application code without bootloader. But is this a behavior you are also excepting from the bug in SoftDevice 7.1.0?

  • This bug is present is present in S110 softdevice before version 8.0.0. So if you use RC for 32kHz clock source and you disable the softdevice, you will most likely see ~1mA sleep current after that. Are you disabling the softdevice in your application?

    In your case it is 4.5mA and that does not directly reflect the behavior of this bug. Perhaps there is something else changed in S110 8.0.0 that fixes this for you? Have you looked at the release notes of S110 8.0.0 to see it the additions or bugfixes reflect with anything in your application code?

    Anyway, if you are using S110 7.x.x then you could add the fix suggested on the linked thread.

Related