What RSSI measures
Every time a radio receives a packet, it can report how strong the signal was. That number is the received signal strength indicator, or RSSI. Bluetooth LE and Wi-Fi radios both report it, and phones expose it to apps in several places.
- Bluetooth LE scans on Android. Each
ScanResultfrom a scan of BLE advertising hasgetRssi(), which returns the received signal strength in dBm. Android gives the valid range as -127 to 126. - Connected Bluetooth devices on Android.
BluetoothGatt.readRemoteRssi()asks for the RSSI of a connected remote device, and the value arrives in theonReadRemoteRssicallback. Newer Android versions require theBLUETOOTH_CONNECTpermission for this call. - Connected Bluetooth devices on iOS. Core Bluetooth’s
readRSSI()retrieves the current RSSI for a peripheral while it is connected, and delivers it to the peripheral’s delegate. - Wi-Fi on Android. A Wi-Fi
ScanResulthas alevelfield, which Android describes as the detected signal level in dBm, also known as the RSSI.
A larger value means a stronger signal. What RSSI does not tell you directly is how far away the sender is.
From signal strength to distance
Distance can be estimated from RSSI with what the Bluetooth SIG calls a path loss calculation. Its Bluetooth Core 6.0 feature overview describes the method: the receiver measures RSSI and must also know the strength of the remote device’s signal at a reference distance from the transmitter, such as 1 metre. Physics says the signal strength at a receiver is inversely proportional to the square of its distance from the transmitter, so with the reference strength and the RSSI, a distance can be calculated.
The reference has to come from somewhere. Some Bluetooth LE advertisements carry it: Android’s ScanResult.getTxPower() returns the transmit power in dBm, or a constant meaning the value is not present. The Core 6.0 overview describes path loss as calculated from the TX Power field, which must be present, and the RSSI.
The SIG notes that before Bluetooth Core 6.0, path loss was the only way to calculate the distance between two Bluetooth devices.
Why the estimate is rough
The same SIG overview is direct about the method’s limits:
- It degrades with distance. Signal strength drops off quickly at short range, so path loss can give reasonably good results when devices are close. Over longer distances, a small variation in signal strength corresponds to a large range of possible distances, which makes the calculation very sensitive to small errors.
- The environment changes it. The method is vulnerable to interference and other environmental factors. A SIG blog post adds that signal strength drifts because of environmental influence and needs filtering over time.
- It can be faked. The SIG calls the method insecure, leaving applications open to attacks such as distance spoofing. Since the calculation trusts the stated reference strength, a transmitter that changes its power changes the distance a receiver works out.
Reflections matter too. In describing Channel Sounding, the SIG notes that devices may use an antenna array to lessen the impact of multi-path propagation, where a signal reaches the receiver along more than one path.
Apple gives the same advice from the app side. Its iBeacon ranging reports only whether a beacon is far, near or in the immediate vicinity, and Apple says ranging does not offer a precise distance and that apps should not rely on the strength of a beacon’s signal to compute one themselves. What is a BLE beacon? covers how beacon ranging works.
What RSSI is good for
RSSI is useful when the question is “is it here” rather than “exactly how far”. The Bluetooth SIG blog post on industrial sites says RSSI-based presence can be enough for basic zone awareness, works best when treated as evidence rather than certainty, and that good systems rely on repeated observations, dwell time and receiver placement instead of converting one reading into one location.
It also feeds larger systems. In Bluetooth real-time locating and indoor positioning, fixed devices collect RSSI from several points and combine the distance estimates by trilateration, as What is indoor positioning? explains.
Better ways to measure distance
When distance really matters, other methods measure it more directly:
- Bluetooth Channel Sounding, added in Bluetooth Core 6.0, uses phase-based ranging and round-trip timing between two connected devices. The SIG says it supports significantly more accurate distance measurements than the path loss method and is less vulnerable to interference.
- Ultra-wideband ranging, which BLE vs NFC vs UWB compares with Bluetooth.
- Wi-Fi RTT, which times round trips to Wi-Fi access points.
These can be combined with RSSI. The SIG describes upcoming solutions that use RSSI for presence and coarse ranging while devices are far apart, then switch to Channel Sounding for accuracy as they approach. For direction rather than distance, see What is Bluetooth direction finding?.