Bluetooth LE signal strength

Christine
3 min readMay 4, 2020

--

In discussions about an app to detect possible Coronavirus infections, it is generally assumed that such an app can calculate the distance to another person from the Bluetooth signal strength. I have built an app to verify this. I find that it is possible to determine whether another phone is or isn’t within 1.5 meters (6ft). However, the accuracy may be unacceptably low. Furthermore, the signal strength and detection accuracy differ per make and model of the phone. I have used a Nexus 5X, a Pixel 4 and a Nexus 6 phone, giving different results.

The app I have used is described here. It is an Android app I have created for the purpose. You can download and install it from here.

Below are screenshots of the results on both phones.

Both phones were advertising themselves via Bluetooth LE (Low Energy). Signal strength was set to “ultra low”, advertising mode to “low energy”.

Both phones were scanning Bluetooth LE. As you see, the Nexus 5X (left) received stronger signals, which probably means the Pixel 4, a newer phone, is sending a stronger signal. Threshold of signals was set to -80, the minimum number of detects to “count as a contact” was set to 3. Meeting or walk-by was simulated by changing the ID of each phone a number of times.

I let the phones scan for one minute, on 15cm distance, 75cm, 1.5 meter and 3 meters. On 15cm and 75 cm both phones detected one anothers signal strength above -80dB. On 1.5 and 3 meters, signals remained below the threshold. However, when I repeated the experiment I had different results.

An ID in red indicates “detection”, numbers in blue indicate that a threshold (in number of detections or signal strength) has been met.

Here, I moved the Nexus phone a bit during the last run, which resulted in detection of the signal. Apparently, orientation of the phone does matter for detection. In the first image, you can see that signal strengths differ by at least 10 between 75cm and 1.5 meters. In the second picture, signal strengths at 75cm, 1.5 and 3 meters are all close to -80.

I repeated the 75cm run while moving the phones in all directions. This did not result in a stronger signal. This means that we can’t increase the threshold higher than -70dB and we can’t exclude the false positives we see in the second picture.

I also tested a Nexus 6 phone with the Pixel 4. Signal strengts received on both phones were significantly lower here, -91dB and -85dB respectively. This means that you cannot calibrate the signal strength for just the sending phone: you also need to adjust for the make and model of the receiving phone.

Setting the signal strength on the advertising phone higher did not improve things.

Experiments in more realistic situations, with people carrying their phones and walking past one another, would be needed to verify that Bluetooth LE can be used for accurate detection. A choice that you have to make is whether you accept false positives in order to eliminate false negatives, or you eliminate false positives as much as possible, accepting that you get false negatives.

--

--

Christine

Software developer, entrepreneur, innovator, with 40 years of experience.