High Current 400ms+ Startup Delay BLE Beacon Using RC Oscillator

Setup:  

- VS Code - NRF Connect v 2.1.0 

- Hardware: NRF52840-DK  @ 1.8V

- Application: BLE Beacon (https://github.com/zephyrproject-rtos/zephyr/tree/main/samples/bluetooth/beacon)  

KConfig/prj.conf:  

CONFIG_BT=y
CONFIG_BT_DEBUG_LOG=n
CONFIG_BT_DEVICE_NAME="MyName"
CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y
CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL=n
CONFIG_BOARD_ENABLE_DCDC=y
I have disabled the LFXTAL and enabled the RC Oscillator as the clock source to reduce startup time, however from cold boot I am seeing a ~430ms period of inactivity that is running @ 4mA. 
power consumption
If I change my clock settings back to use the XTAL then another 400ms (expected) period is added for a total of 800ms of no BLE activity:  
current consumption with xtal
Yes I have powered cycled after programming. Yes I have performed a Pristine build. 
When I load up the same BLE Beacon firmware from NRF5 SDK with the same clock settings, I DO NOT see this 400+ms delay. This looks to be specific to NCS/Zephyr. 
Screenshot of NRF5 SDK sample code with RC oscillator as soft device clock:
nrf5 sdk no delay
I saw this post:  nRF52840 startup delay   
However this setting: CONFIG_ENTROPY_CC3XX=n  causes a build error. 
Any idea why the default NCS/Zephyr implementation for the BLE Beacon has this 400+ms delay before any BLE beacons are sent and why its at ~4mA?
Is there some additional KConfig setting I need to change?
  • Yes! 

    This was it, thank you.

    From cold boot @1.8V to first Beacon transmission it takes 20ms. This is still a little higher than I was hoping for, but I can work with this. 

    One last question - this 20ms period is at @4mA. Which I don't believe is the case for the NRF5 SDK implementation. So maybe some more room for startup time improvement or maybe that is the time it takes for Zephyr and the BLE stack to initialize?  

    This is good enough for me. Thank you for your help!

Related