Problem with BLE radio part. Can't advertise...

Hi guys.
I have several custom boards that I made by myself based on nRF52832.
I tested them by a ready example. The example is BLE advertising while an LED blinks at every 1 second. All boards work properly except one board. The mentioned board LED blinks as other boards but when I scan it by "nRF Connect" app, it's not in the scanned list. I think it relates to its radio. I also checked soldering quality of the chipset, I changed 32MHZ crystal with a new one and replaced passive parts in antenna path, too. But the problem is remained.

As I saw in similar issues, I added the below code to ensure the crystal is working good:
// Start HFCLK from crystal oscillator. The radio needs crystal to function correctly.
NRF_CLOCK->TASKS_HFCLKSTART = 1;
while (NRF_CLOCK->EVENTS_HFCLKSTARTED == 0);

The debug info shows it must work good while it's not good:
*** Booting nRF Connect SDK v2.5.0 ***
Starting Bluetooth Peripheral LBS example
I: 6 Sectors of 4096 bytes
I: alloc wra: 0, fe8
I: data wra: 0, 0
I: SoftDevice Controller build revision:
I: c5 93 ba a9 14 4d 8d 05 |.....M..
I: 30 4e 9b 92 d7 71 1e e8 |0N...q..
I: aa 02 50 3c |..P<
I: HW Platform: Nordic Semiconductor (0x0002)
I: HW Variant: nRF52x (0x0002)
I: Firmware: Standard Bluetooth controller (0x00) Version 197.47763 Build 2370639017
I: No ID address. App must call settings_load()
Bluetooth initialized
I: Identity: F2:5A:F5:63:D1:C2 (random)
I: HCI: version 5.4 (0x0d) revision 0x1102, manufacturer 0x0059
I: LMP: version 5.4 (0x0d) subver 0x1102
Advertising successfully started

The schematic that I use is:

Thanks in advance
Mehdi Sadeghian

Parents Reply Children
  • It's a typical crystal type. I mandatory selected it, because only this type was available in the market:

  • What's the CL value of the crystal? Are you using the same crystal on the other boards you made?

  • Thanks a lot .
    You pointed to an exact note. If you didn't guide, I never guess that the problem is related to crystal and bypass capacitors combination. Because the LED blinks every 1 second but BLE can't run. I can't understand this contradiction yet. Please, describe it if you can.
    I selected 12pF as bypass capacitors because Thingy52 and nRF52 development kit have it on themselves.
    I tested all of bought 32MHZ crystals and found that the BLE can't work with some of them combined by 12pF. I think that the quality of crystals is low. I also changed the crystal bypass capacitors and tested various values. One crystal worked with 12pF, another worked with 18pF and the other worked with 22pF! I could see their advertising result on nRF Connect app.
    But I checked them with oscilloscope and watched the frequency and wave shape was equal for all! How it occurs? What's the problem?

    At last after testing more capacitor values I saw that all crystals can work with 33pF bypass capacitors properly. So I replaced all of bypass capacitors on all boards by 33pF.

Related