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 Reply Children
  • You should also measure the frequency error of your board.  Not advisable to do it directly at the 32MHz since scope probe will pull the crystal.  Instead just use DTM code to park it on a channel and measure the error.  BLE spec is max +/-150kHz error.  Ideally you will see about +/-20kHz or so error.

    It is entirely possible either your PC or iOS device while still within spec is shifted just enough to see/or not see your custom board.

  • Thanks for the advice, I'll have to do some research on DTM code.

    THIS is the 32MHz XTAL that I'm using, with 2% NP0 12pF caps.

  • I am not even sure whether you use bonding, but if you could just check it, to be sure that this is not the issue, you could save yourself a couple of days of work. The reason that it works on the DK could be that the bonding data is properly stored on both devices. If this for some reason was not stored on the chip (e.g. after a chiperase), then you will get this behavior.

     

    Either way, if you are sure that the bonding is not the issue, there must be something else. Either a faulty XTAL or antenna. Do you use an external antenna on the custom PCB?

     

    Best regards,

    Edvin

  • Hi Edvin,

    I had replied to your post above to say that deleting bonding made no difference.

    My board has a PCB antenna.  The image above shows the PCB design where the antenna line leaves the NRF52832 and goes through the termination circuit and out to the antenna.

    Thanks,

    Roger

  • As I'm sure you are aware, the layout can make a huge difference on the center frequency of the crystal. Also, your crystal at 30ppm is getting close to the edge of the tolerance range for BLE. And, unless you placed the 12pF load caps yourself, your CM might well have placed the wrong caps.

    All the other comments in this thread that I see don't really address why it doesn't show up in nRF Connect on one type of device vs. another type of device. That app just uses the bluetooth framework to report on advertisements.  The LFXTAL has nothing at all to do with advertisement quality or data rates.  As long as you broadcast as non-iBeacon (ie, non 0x004c) the iOS devices should see it.

    Also, issues with your antenna are kind of moot too.  A bad antenna will keep you from receiving at >2meters or so, but you can terminate an nRF into a resistor and still receive it when under 1 meter.

    This seems to point to a signal quality problem and not a coding, timing problem. You should try to get access to a spectrum analyzer. Measure the channel accuracy while broadcasting CW.  And also get a picture of how the spectrum looks for standard BLE 1Mbps. You can use either DTM or RadioTest code to do these.  Both are in the SDK.

    Please post your results if you can.

Related