This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

nRF52 Time Sync in noisy environment

I am using a custom board design with a Nordic nRF52832 and have implemented the Nordic time sync algorithm outlined here (https://github.com/nordic-auko/nRF5-ble-timesync-demo). It works well most of the time. However, my customer is testing in a fairly noisy BLE environment. He claims that he sees about 34+ BLE devices in the vicinity and the time synchronization is very sporadic and often times fails. When he leaves his normal testing area to a less dense, RF-wise, area then the time synchronization appears to function more reliably.

Am I correct in my assumption that the time sync mechanism uses the space between connection intervals to send the time sync packets? And if that is true, that a high volume of BLE traffic could impeded the ability for the packets to be sent by the master and/or received by the slave nodes? Are there any adjustments I can make to the algorithm or timing to help ensure the packets are able to be sent and received in a timely fashion?

Thanks for any insights on this.

-Mike

  • Hi Michael, 

    You are correct that high volume of BLE traffic could impede the success rate of the time sync packets. 
    By default the timesync example use a single channel to send timesync packet (default = 80 (2480MHz)) It's actually one of the channels used by BLE advertising. 

    I would suggest to use the RSSI Viewer in our nRF Connect for Desktop app to observe how busy the environment is and can choose one of the channel that has less activity to check if it was the interference causing the issue. 

    In addition to the BLE activity, wifi and other 2.4 GHz can also affect the timesync packets. 

    What the customer can do to improve this is: 

    - As suggested above choose a quiet channel. 

    - Increase the interval the transmitter sending sync packets. This can be configured by modifying sync_freq_hz when calling ts_tx_start (by default it's 30Hz)

    - Increase the TxPower of the transmitter. This is configured in update_radio_parameters() 

Related