A BLE disconnection issue occurred randomly after the device had been functioning without any problems for many hours

Hi everyone,

We have devices using the BLE module (nRF52) deployed in clinics for testing. They have been functioning without issues until recently when we noticed occasional BLE disconnections. The following image shows data from one of the affected devices. Its RSSI value dropped significantly to -90 dBm, indicating weak BLE signal strength that could explain the disconnect. However, the device was positioned close to a tablet running the application connected to it, where the BLE signal strength should have remained strong. This inconsistency is what we find puzzling.

In another case, the RSSI value was within acceptable range (-68dBm), which couldn't lead to the BLE disconnection. 

We're thinking of if any issue with code optimization. Any suggestions to further investigate this issue would be greatly appreciated. Thanks!

  • 250Hz sounds suspiciously like ECG or similar; in a similar application I send 5 packets per second with 50 24-bit samples in each packet. The packets are bigger, of course, but the overall traffic is reduced. 5Hz display refresh rate allows smooth display scrolling of the waveforms. May not help, of course.

    Edit: By this I mean fewer packets per second means less blocking/waiting time for each device

    Edit2: I see there are in fact two RSSI; this means the 4mSec may be retransmitting frequently enough to hold off the 10mSec where the 4mSec has poor RSSI and the 10mSec RSSI is good, as perhaps in the original trace above. Worth trying much bigger and less frequent packets, methinks

  • Oh interesting. Can you elaborate more on the Edit2 you just mentioned? From my understanding, due to the limit of receiving data from the tablet, it only can receive data from one device at a time while another one is buffering its data and then sending several packets to the tablet.

    It seems you have another explanation of the above image in my previous reply. It's more about retransmitting data packets?

    Edit: the BLE disconnect mostly happens at the device with 100 Hz sampling rate (10mSec). This device has 48 bytes/packet being transmitted to the tablet. Since you brought up the RSSI, although 4mSec device sends data more frequently, if it has a poor RSSI, will 10mSec device take over to transmit the data to the tablet?

  • Worth trying much bigger and less frequent packets, methinks

    Will definitely try this! I read some articles about this. Seems it could help improve BLE stability:

    • Frequent transmissions increase the likelihood of packet collisions in environments with many BLE devices or RF interference (e.g., Wi-Fi, microwave ovens).
    • Reducing the frequency of transmissions can lower the risk of collisions and reduce retransmissions, improving stability.
Related