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

cellphone can connect to nrf52 DK, but show GATT_ERROR 133 (0x85) when I connect to my customer board

Hi,

I start developing with ble_app_template and DK

I combine uart spi twi into it

It can connect to my phone(nRF Connect APP)and work fine on DK

However when i use the same code on my customer board ,i cant connect to my phone,only uart spi twi work fine

On my phone,I can see the log give me GATT_ERROR 133 (0x85)  everytime I press connect

In rtt viewer, i can see my program go to BLE_GAP_EVT_CONNECTED event,and the next second it go to BLE_GAP_EVT_DISCONNECTED 

between the connected and disconnect ,BLE_ADV_EVT_FAST event in on_adv_evt(ble_adv_evt_t ble_adv_evt) also appear

I also found out that  i cant even connect to my phone with the origin ble_app_template!

this is my schematic of nrf52832

p0.05,p0.06,p0.07,p0.08 for external spi flash : mx25v8006e
p0.11 for uart sensor(read only)
p0.18,p.019 for twi IC :ds3231
p0.13 for a led indicator
p0.17 for a button interrupt
and my board below

thanks

  • Hi

    What module is this? It seems like there's no external LF clock in your design (should be connected to P0.00 and P0.01), which is a rather common reason for this error to occur as that is the clock all our examples use by default. Please edit the following defines in your sdk_config.h file to these values in order to use the internal LF RC oscillator instead of the one that is not present in your design.

    // </h> 
    //==========================================================
    
    // <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
    
    // <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

  • It works!!!!

    my module is m52832QFAA bought here: http://hstnet.com.tw/category/8/product/44

    So you mean that nrf52 DK has a external clock and the ble_app_template will defaultly use it?

    Should I add a external 32.768Khz?

    Also if i want to use p0.00&p0.01 as other usage, i should change the config like this?

    thank you very much!

  • Hi

    Yes, the DK has an external clock that all examples uses by default. What we see is that most modules don't include this clock in their design. It is entirely up to you if you would like to add an external LF clock, it is more accurate and less power consuming to use than the internal RC oscillator, so if that is something you care about in your design I'd recommend it.

    To use P0.00 and P0.01 you only need the configurations below. Keep in mind that these are the only pins that can be used for an external LF clock though.

    Best regards,

    Simon

Related