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

What could make RADIO peripheral not work in nRF51822?

Hello! Sorry for my English)

My situation is next: I have a custom PCB with nRF51822 on it. And radio control application works fine on this PCB. I don't know which of radio protocols this PCB uses because I don't have source codes for it. But my task is to run the Bluetooth application on this PCB. I am using SDK v8.1.0, S110 (including in SDK) and "ble_app_uart" example. I have the nRF51822-QFACA1 (revision 3) MCU and I have only 16 MHz crystal on my PCB. So I have made next changes in "ble_app_example":

  1. I added the next code to main() function to start the HFCLK from external crystal:

    NRF_CLOCK->EVENTS_HFCLKSTARTED = 0;
    NRF_CLOCK->TASKS_HFCLKSTART    = 1;
    while (NRF_CLOCK->EVENTS_HFCLKSTARTED == 0)
    {
      // Do nothing while waiting for the clock to start
    }
    
  2. I changed ble_stack_init() function to start the synthesized LFCLK:

    SOFTDEVICE_HANDLER_INIT(NRF_CLOCK_LFCLKSRC_SYNTH_250_PPM, NULL);
    

So application runs fine in debugger (step by step, no errors) but I can't find nRF UART by Bluetooth (on Tablet with "nRF UART v2.0" tool and on Notebook with Toshiba Bluetooth Stack). I don't have the specific radio equipment to check if my PCB works in the correct frequency range. I attached a photo of my PCB. Maybe the problem is in antenna?

nRF51822 PCB

Is any difference between Bluetooth and other Radio protocols in the schematic and component nominals? I checked schematic, it is same as in Product Specification pdf. I also checked all voltages by multimeter:

  • VDD = AVDD = 3.24 V
  • DEC1 = 1.2 V
  • DEC2 = 0 V
  • VVD_PA = 0 V

Can you give me some advices what should I even check?

Or should I change the PCB layout of the antenna for Bluetooth?

Or should I change some SoftDevice options or else?

Help me please)

PS. In another board with ISP130301 module on it (nRF51822 + Antenna) ble_app_uart example with my changes works fine. In debugger it looks the same as in my PCB)

Related