Obtaining Distance from RSSI

RSSI is the signal strength at the Bluetooth receiver. The signal type, for example, iBeacon, Eddystone or sensor beacon is irrelevant. The value of the RSSI can be used to infer distance.

The accuracy of the distance measurement depends on many factors such as the type of sending device used, the output power, the capability of the receiving device, obstacles and importantly the distance of the beacon from the receiving device.

The output power isn’t known to the receiver so it’s sometimes added to the advertising data in the form of the ‘measured power’ which is the power at 1m from the sender.

The closer the beacon is to the receiver, the more accurate the derived distance. As our article mentions, projects that get more detailed location derived from RSSI, usually via trilateration and weighted averages, usually achieve accuracies of about 5m within the full range of the beacon or 1.5m within a shorter range confined space.

There’s some Android Java code on GitHub if you want to experiment with extracting distance from RSSI. There’s an equation for iOS on GitHub.

Need more help? Consider a Feasibility Study.

Beacons that flash/vibrate at a given distance.