What changes are needed in SDK V15 sdk_config.h so nRF52832 can run on internal RC oscillator?
I am using the BLE UART example, nRF52832 with Soft device s132_nrf52_6.0.0, nRF5_SDK_15.0.0_a53641a
Any help appreciated
What changes are needed in SDK V15 sdk_config.h so nRF52832 can run on internal RC oscillator?
I am using the BLE UART example, nRF52832 with Soft device s132_nrf52_6.0.0, nRF5_SDK_15.0.0_a53641a
Any help appreciated
I have been testing three (3) custom boards with the nRF52832 for a while.
(Rigado BMD-300 Module) with internal RC oscillator
nRF5_SDK_13.0.0_04a0bfd
s132_nrf52_4.0.5
I works reliably, connects every time, custom profile with 3 services.
I recently programmed the Nordic BLE UART, and it seems to work great at 115200 baud.
I was trying to upgrade to
s132_nrf52_6.1.0 and nRF5_SDK_15.0.0_a53641a and could not figure out all the changes needed for the sdk_config.h file.
But...
I read a few cases that say the BLE radio will not work with RC Oscillator
And then I read others saying it will work just fine, since the BLE Stack continuously corrects the frequency
So what am I missing?
Any help appreciated
Hi Gerhard,
The BLE stack can use either an external crystal or the internal RC oscilator as the LF clock source. In case of the latter the SoftDevice will periodically calibrate it to be within the frequency tolerance stated in the BLE specification.
you need to perform the following changes under the SoftDevice clock configuration in sdk_config in order for the nRF52832 to use the internal RC in SDK 15.0.0
//========================================================== // <h> Clock - SoftDevice clock configuration //========================================================== // <o> NRF_SDH_CLOCK_LF_SRC - SoftDevice clock source. // <0=> NRF_CLOCK_LF_SRC_RC // <1=> NRF_CLOCK_LF_SRC_XTAL // <2=> NRF_CLOCK_LF_SRC_SYNTH #ifndef NRF_SDH_CLOCK_LF_SRC #define NRF_SDH_CLOCK_LF_SRC 0 #endif // <o> NRF_SDH_CLOCK_LF_RC_CTIV - SoftDevice calibration timer interval. #ifndef NRF_SDH_CLOCK_LF_RC_CTIV #define NRF_SDH_CLOCK_LF_RC_CTIV 16 #endif // <o> NRF_SDH_CLOCK_LF_RC_TEMP_CTIV - SoftDevice calibration timer interval under constant temperature. // <i> How often (in number of calibration intervals) the RC oscillator shall be calibrated // <i> if the temperature has not changed. #ifndef NRF_SDH_CLOCK_LF_RC_TEMP_CTIV #define NRF_SDH_CLOCK_LF_RC_TEMP_CTIV 2 #endif
Best regards
Bjørn
A bit late, but this does seem to be a frequently-recurring question - not always with a complete or satisfactory answer:
This post from Rigado seems helpful: