MasaApps360
English
Periphery

Bluetooth RSSI to distance: the formula, a table, and how far to trust it

RSSI is the strength of a Bluetooth signal as your phone receives it, in dBm, and it is always negative: closer to 0 is stronger. Distance is estimated as 10 ^ ((-59 - RSSI) / 20) metres, so -70 dBm comes out at 3.5 m. That is a rough guess from a generic formula, not a measurement.

3 min read · Updated

What RSSI means in Bluetooth

RSSI stands for received signal strength indicator. Every Bluetooth Low Energy device that advertises is heard by your phone at some power level, and that level is the RSSI. A reading of -55 dBm is far stronger than -85 dBm. Every 10 dB is a tenfold change in power, and every 20 dB with this formula is a tenfold change in distance.

The formula Periphery uses

The Locate screen applies the log-distance path-loss model: distance = 10 ^ ((txPower - RSSI) / (10 x n)). It fixes txPower at -59 dBm, the reading assumed at 1 metre, and n at 2.0, the exponent for open space. With -70 dBm that is 10 ^ (11 / 20) = 3.55 m, shown as ~3.5 m.

Try it with your own numbers. The calculator below takes the three inputs; the defaults match the app, and you can change the other two to see how much they matter.

Bluetooth RSSI to distance: log-distance estimate

Estimated distance
~3.5 m
In feet
~11.6 ft
Signal gauge
45 %

Showing the worked example. Turn on JavaScript to calculate your own numbers.

The log-distance model of the app's Locate screen: distance = 10 ^ ((signal at 1 m − RSSI) ÷ (10 × exponent)), with -59 dBm and exponent 2.0 as defaults. Walls, bodies and each radio move the real value a lot, so treat it as warmer or colder, not as a tape measure. The gauge fills from -95 dBm (0 %) to -40 dBm (100 %).

RSSI to distance table

txPower -59 dBm, exponent 2.0
RSSIMetresFeet
-50 dBm0.4 m1.2 ft
-60 dBm1.1 m3.7 ft
-70 dBm3.5 m11.6 ft
-80 dBm11.2 m36.8 ft
-90 dBm35.5 m116.4 ft

A 6 dB drop roughly doubles the estimated distance. Below 1 m the app rounds to a whole number, so read the first row as "under a metre".

Why the estimate is off

  • The constants are fixed. A tag whose real reading at 1 m is -70 dBm would sit at 1.0 m when it shows -70, not 3.5 m. Make n 3.0 instead of 2.0 and -70 dBm becomes 2.3 m.
  • Walls, furniture, your body and a bag absorb signal, so the same device reads weaker behind them and looks further away.
  • Radios differ. Two devices at the same spot can report different RSSI, and so can two phones.
  • Readings jump from packet to packet. Locate smooths them: each new sample moves the shown value a quarter of the way (alpha 0.25). Samples of -80, -75 and -70 dBm give -80.0, -78.8 and -76.6.

Where you see it in the app

  1. Open Periphery and tap Scan.
  2. Set Sort by to Strongest signal. The RSSI sits on every row.
  3. Swipe the row of the device you want and tap Locate.
  4. Read the dBm figure, the gauge and the line marked approximate distance. The gauge runs from -95 to -40 dBm.
  5. Walk a few steps and watch whether the reading rises or falls.

The version from the App Store lets you start 3 scans in total, so keep a Locate session running rather than restarting it, and Pro removes that limit. The Locate screen reads Bluetooth Low Energy only; classic Bluetooth devices do not appear.

How accurate is it?

Treat it as warmer or colder, not as a tape measure. It shows no map and no direction. Within one room, with a clear path, the order of the numbers is reliable: a stronger value means closer. The metre figure can be off by a lot, and a device behind a wall can read like one several times further away in the open.

Questions and answers

What is RSSI in BLE?
It is the power of the radio signal your phone receives from a Bluetooth Low Energy device, in dBm. Values are negative, and a number closer to 0 means a stronger signal.
How do you calculate distance from RSSI?
With the log-distance formula, distance = 10 ^ ((txPower - RSSI) / (10 x n)). Periphery uses txPower -59 dBm and n 2.0, which gives 3.5 m at -70 dBm.
How accurate is Bluetooth RSSI distance?
Only roughly. The formula assumes fixed values for the 1 m reading and the environment, and walls, bodies and different radios change the real signal. Use it to tell warmer from colder.
What is a good RSSI value?
Closer to 0 is better. Around -50 dBm the device is very close, around -70 it is a few metres away, and around -90 it is near the edge of what the phone can hear.

You might also like

More Periphery guides