

Hi
Are you a colleague of dbur? If this is not the case and NRF_SDH_CLOCK_LF_SRC is set to 1 in your sdk_config.h, then I don't think this is the RC oscillator. Do you have an external 32.768 kHz crystal mounted on your BLE device or not? If you do, this shouldn't be the RC oscillator waking up and drawing the excess current. You can check out this guide where my colleague explains how to optimize power consumption on nRF52 designs.
Best regards,
Simon
JKe is our SW developer. We do not have an external oscillator, though it seems like maybe in our next rev we should add one. There is also not one on board of the Laird BL652 module we are using. From 5.2.1 of the Laird data sheet:
"To keep the on-chip 32.768 kHz RC oscillator within ±250 ppm (which is needed to run the BLE stack) accuracy,
RC oscillator needs to be calibrated (which takes 16-17 mS) regularly. The default calibration interval is eight
seconds which is enough to keep within ±250 ppm. The calibration interval ranges from 0.25 seconds to 31.75
seconds (in multiples of 0.25 seconds) and configurable via smartBASIC command at+cfg210."
This sounds exactly like what we are seeing.
Since we sleep and do nothing except after a button press to send a beacon it seems we could set the interval long and just do an extra RC osc cal whenever a button press occurs, if there is a way to manually invoke it.
Thanks for that link to the power optimization article. I think that will help.
Okay, I was just confused as the defines were stated to be 0, but yes, it seems to be the RC oscillator. And by setting the calibrations to 0, you should be able to only calibrate manually. But this is not recommended for most applications.
Best regards,
Simon