This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

MBN52832 wont have bluetooth adv. with ble_uart_app example.

I have a board with the MBN52832 from murata, that i can program with a Jlink with ease, but wont do adv.

I do believe the problem lies with some config that im not doing. But i cant find the values that i need to change in the sdk_config.h as explained here. 

https://jimmywongiot.com/2019/12/17/internal-rc-calibration-handling-on-the-nordic-nrf52-chipset/

Im currently using SEI.

Any help would be nice.

Thanks.

  • Hi

    I agree that this sounds like a clock config issue.

    What SDK version are you using and what example project are you trying to flash onto your device? In all of our BLE examples in the nRF5 SDK, the NRF_SDH_CLOCK configs are present in the sdk_config.h file, and setting them to these values (see below) should allow for the internal RC oscillator being used.

    //==========================================================
    // <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
    
    // <o> NRF_SDH_CLOCK_LF_ACCURACY  - External clock accuracy used in the LL to compute timing.
    
    // <0=> NRF_CLOCK_LF_ACCURACY_250_PPM
    // <1=> NRF_CLOCK_LF_ACCURACY_500_PPM
    // <2=> NRF_CLOCK_LF_ACCURACY_150_PPM
    // <3=> NRF_CLOCK_LF_ACCURACY_100_PPM
    // <4=> NRF_CLOCK_LF_ACCURACY_75_PPM
    // <5=> NRF_CLOCK_LF_ACCURACY_50_PPM
    // <6=> NRF_CLOCK_LF_ACCURACY_30_PPM
    // <7=> NRF_CLOCK_LF_ACCURACY_20_PPM
    // <8=> NRF_CLOCK_LF_ACCURACY_10_PPM
    // <9=> NRF_CLOCK_LF_ACCURACY_5_PPM
    // <10=> NRF_CLOCK_LF_ACCURACY_2_PPM
    // <11=> NRF_CLOCK_LF_ACCURACY_1_PPM
    
    #ifndef NRF_SDH_CLOCK_LF_ACCURACY
    #define NRF_SDH_CLOCK_LF_ACCURACY 1
    #endif

    Best regards,

    Simon

  • Hi Simon, thanks for the quick response. 

    Im Using Segger Embedded Studio with the SDK 16 and the softdevice 7.01.

    The example im using is, ble_app_uart. from here:  SDK\nRF5SDK160098a08e2\examples\ble_peripheral\ble_app_uart\pca10040\s132\ses

    What i cant find is the configuration needed for the MBN52832, to what value should i change.

  • Hi

    The necessary changes to use the internal RC oscillator are exactly what I posted in my last reply. NRF_SDH_CLOCK_LF_SRC set to 0, NRF_SDH_CLOCK_LF_RC_CTIV set to 16, NRF_SDH_CLOCK_LF_RC_TEMP_CTIV set to 2 and NRF_SDH_CLOCK_LF_ACCURACY set to 1. This should make the nRF52 run using the internal LFRC oscillator.

    Best regards,

    Simon

Related