NRF52 BLE Connection problems on custom PCB

Hello, 

I'm running into some issues with my custom nrf52-based PCB

1. Random / Frequent connection timeouts. BLE disconnects every ~10 - 20 seconds. sometimes the connection stays longer. 

2. Unreliable data transfers (i.e single data transfer taking longer than expected).

Initially, I thought these were Zephyr OS related, but I tried the ble_uart_app example using Segger embedded studio and the issues are still present. When I try using 2 Development Kits (PCA10040) the issues disappear, so I am convinced there is a hardware issue with my schematic / PCB. 

Please can you take a look at my circuits and advice ?

I think I followed the proper copper pour and grounding rules for the antenna and oscillators.

BLE Settings:  MTU Size: 240 bytes, Max Connection Interval: 40ms

Antenna: https://www.lcsc.com/product-detail/Antennas_Sunlord-SLDA52-2R540G-S1TF_C279814.html

32MHZ XTal: https://www.lcsc.com/product-detail/Crystals_Murata-Electronics-XRCGB32M000F1H01R0_C914155.html

32.768 KHZ: https://www.lcsc.com/product-detail/Crystals_Seiko-SC-20S-32-768kHz-20PPM-9pF_C97603.html

I have a few suspicions:

1. Antenna is too close to 32 MHz Xtal

2 Low Frequency 32 KHz clock is not properly isolated.

Please can you take a look and let me know if there's something I'm missing. I've never experienced this issue with my previous custom boards.

 shema1.pdf

Related