nRF5 SDK is not maintained anymore
More Info: Consider nRF Connect SDK for new designs

iPhone short distance connection

Hi!

I'm developing a custom PCB with a NRF52840 which I made a custom firmware based on ble_app_uart example. I test my product with different phones, Android and Apple phones.

In Android, I have a good connection distance, like 6m to 8m, but in iPhone I have about 2m or less.

I changed the PHY from BLE_GAP_PHY_AUTO to BLE_GAP_PHY_2MBPS, can this change reduce the connection distance?

Thanks!

Parents
  • Hi

    First, you need to verify the 32MHz on your own PCB.  The loading Cap of the 32MHz, is it well-tuned or not?

    Second,


    You can try to use the shortest connection interval such as 30ms (default) or 15ms (min and max = 15ms).  It would help because it would have much more chance to do the retransmission.
    also, are you using the internal RC or external 32KHz?
    if using the internal RC, you can use a shorter calibration period such as 500ms instead of 4 sec.

    https://jimmywongiot.com/2019/12/17/internal-rc-calibration-handling-on-the-nordic-nrf52-chipset/


    if using the external 32KHz, you can change the PPM to bigger such as 250ppm (it would automatically increase the RX window.).


  • Yes, we verify the 32MHz on our PCB. We test 2 diferents boards transmiting a fixed carrier in 2.45GHz. We have a desviation about 50kHz (one board 50.24kHz and the other one 38kHz). It is good enough? We are developing a new version of the PCB to improve the crystal layout.

    We have an external 32kHz clock, but right now we are using the internal one, we change the NRF_SDH_CLOCK_LF_ACCURACY to 500 PPM in the sdk_config and the NRF_SDH_CLOCK_LF_RC_CTIV to 16 and NRF_SDH_CLOCK_LF_RC_TEMP_CTIV to 2.

    I will try to change the calibration period...

    Thanks

Reply
  • Yes, we verify the 32MHz on our PCB. We test 2 diferents boards transmiting a fixed carrier in 2.45GHz. We have a desviation about 50kHz (one board 50.24kHz and the other one 38kHz). It is good enough? We are developing a new version of the PCB to improve the crystal layout.

    We have an external 32kHz clock, but right now we are using the internal one, we change the NRF_SDH_CLOCK_LF_ACCURACY to 500 PPM in the sdk_config and the NRF_SDH_CLOCK_LF_RC_CTIV to 16 and NRF_SDH_CLOCK_LF_RC_TEMP_CTIV to 2.

    I will try to change the calibration period...

    Thanks

Children
Related