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

Custom board not seen by IOS device but it is seen by NRF-Connect Desktop

Hi There,

I've been developing a product using the NRF52DK.  I had some custom PCB's made after I had my circuit designed, and I programmed them with the NRF52DK.  Now my boards and the NRF52832 on the DK are running the exact same firmware.

With the NRF52DK, I can connect to my service on NRF Connect for IOS and Desktop (with an NRF51 dongle). 

With my boards, I can't see them with IOS (using NRF Connect or LightBlue) but I can see them using NRF Connect Desktop.  

When I scan with NRF Connect Desktop, my boards' RSSI indicates a fairly strong signal (~ -55dBm) and I can connect and view/control all the characteristics fine.  

I'm going to continue poking around to try to understand what's different but I'm quite stumped as to why IOS will only see the NRF52832 on the DK, but NRF Connect Desktop will see either the DK or the custom board.  I've tried an iPhone and an iPad and got the same result.

Any suggestions would be greatly appreciated!

Thanks,

Roger

Parents
  • Does your custom board have a different LFXTAL than the DK? This could affect the timing of the advertisement packets. It sounds strange that you can see them on nRF Connect for desktop but not the nRF Connect for iOS. 

    Can you please specify the accuracy of the LFXTAL? Can you try to use the RC oscillator instead of the crystal? Please see this case.

     

    Best regards,

    Edvin

  • Thank you for the reply Edvin.

    The 32k Xtal I'm using is this one.  It's terminated with 12pF, 2% 0402 caps as per the design guide.  Looking at the caps with an oscilloscope, I see very similar signals between PCA10040 and my board.

    Today I asked a co-worker with an Android phone to download the NRF Connect App and he was able to see my device on his phone, but It's still invisible to my IOS devices.

    I tried changing the clock source as you suggested.  I'm currently working with SDK 11 on Keil and I replaced the old line at the top of nrf_drv_config.h with the following: 

    #define CLOCK_CONFIG_LF_SRC NRF_LF_SRC_RC

    After this change I still could not see the board with my IOS device but I could see it with NRFConnect Desktop. 

    Again, if you have any other suggestions I would be very interested.

    Thanks again for your help!

    Roger

  • Ok,

    So maybe the problem is not with the LFXTAL after all. 

    It might be that the iPhone has already bonded with the device with a previous application. Can you either open the Bluetooth settings on the iPhone and see if there are any stored devices that was previously run on the same nRF, and try to "Forget Device", or try to load the application to another nRF (if you have more PCBs that youu have not yet tested against your phone)?

     

    BR,

    Edvin

  • I have tried toggling the phone's Bluetooth on and off and have tried re-flashing both boards but I still cannot see it.  

    I asked a co-worker who has an iPhone to try with their phone, and they were able to see the board and connect, but it quickly disconnected.  I realized that in my office, if I am ~10-feet away from the board I can see it and briefly connect, but it drops the connection very quickly.  If I am close to the board, I can't even see it in NRFConnect on my phone.  I am still able to connect on NRFConnect Desktop.

    My board has P0.25 and P0.26 tied to ground on the PCB.  I've tried configuring these as inputs and outputs in order to rule that out as a possible cause but this is confusing me more and more. 

  • Just noticed that you have defined:

    #define CLOCK_CONFIG_LF_SRC NRF_LF_SRC_RC

    You should not use this if you have a LFXTAL. Try to set it back to NRF_CLOCK_LF_SRC_XTAL, since you have the XTAL. If not, it will use the RC oscillator, and it will depend on you RC oscillator settings how the softdevice behaves. 

     

    Also, if you find the device on one phone, and not the other, it sounds like some bonding issues. Try to delete bonding data FROM BOTH SIDES. That is, erase the entire nrf, and re program it. Also (!) you have to delete the bonding data from the phone, not only turn bluetooth off and back on. Select the device from the list in the bluetooth settings (when bluetooth is turned on), press the (i) next to the name, and click "Forget This Device". Then try to pair again.

     

    So if it doesn't work after you have deleted bonding information and set the correct XTAL settings, it is probably some RC problems with the PCB, but try these fixes first.

     

    Best regards,

    Edvin

  • Thank you for the advice Edvin.  I only changed the LF OSC settings to test your suggestion, they are set back to the default of using the XTAL.  

    I have tried erasing/reprogramming the NRF from nRFgo Studio, and have also tried a variety of TX power settings and advertising intervals but my problem remains.

    I think that your suggestion of an RC problem is likely; I just find it very strange that I can connect with the Desktop app and not the IOS app (maybe the NRF51Dongle just has a better antenna?)

    My antenna design could use some cleaning up on the next board spin.  I have a ground plane on all of layer3 (layer2 is VCC), and I also ran ground planes around the top and bottom layers, thinking that it would be best to have the largest possible ground mass.

    I will continue to develop my firmware and test with the Desktop app, and I will be re-spinning my boards soon.  If you have any suggestions based on the attached picture from my current board's schematic (the antenna is from Nordic's Eagle Library) I would greatly appreciate it.  I know that I need some restriction around the output inductor, and I should probably just remove the ground plane on the top layer

    Thanks,

    Roger

Reply
  • Thank you for the advice Edvin.  I only changed the LF OSC settings to test your suggestion, they are set back to the default of using the XTAL.  

    I have tried erasing/reprogramming the NRF from nRFgo Studio, and have also tried a variety of TX power settings and advertising intervals but my problem remains.

    I think that your suggestion of an RC problem is likely; I just find it very strange that I can connect with the Desktop app and not the IOS app (maybe the NRF51Dongle just has a better antenna?)

    My antenna design could use some cleaning up on the next board spin.  I have a ground plane on all of layer3 (layer2 is VCC), and I also ran ground planes around the top and bottom layers, thinking that it would be best to have the largest possible ground mass.

    I will continue to develop my firmware and test with the Desktop app, and I will be re-spinning my boards soon.  If you have any suggestions based on the attached picture from my current board's schematic (the antenna is from Nordic's Eagle Library) I would greatly appreciate it.  I know that I need some restriction around the output inductor, and I should probably just remove the ground plane on the top layer

    Thanks,

    Roger

Children
Related