iBeacon Path Loss and Why Zones Beat Meters

Ada re-derives this chapter’s own numbers step by step, at full precision

foundations
math-foundations
calculation-audit
bluetooth-ble
Ada ADA · CALCULATION AUDIT

iBeacon Path Loss and Why Zones Beat Meters

A beacon calibrated to -59 dBm at 1 m and read indoors at path-loss exponent n = 2.5 turns an RSSI of -74 dBm into about 3.98 m and a weaker -84 dBm into 10.00 m. But a routine ±8 dB swing from body blockage or multipath scales every estimate by 2.089 each way, spreading that 3.98 m reading from 1.91 m to 8.32 m. This audit works the formula through and asks whether a single reading can honestly claim a precise distance, or only a reliable near-versus-far zone.

Companion to the chapter BLE App Development on ESP32 — every number here comes from that chapter.

Ada: The worked example runs two RSSI readings through d = 10^((TxPower - RSSI) / (10n)). Both distances are exact – but the interesting part is what the same formula does to measurement noise, so let me finish that thought numerically.

With TxPower = -59 dBm (calibrated at 1 m) and indoor n = 2.5:

  • At RSSI = -74 dBm: exponent (-59 - (-74)) / (10 x 2.5) = 15 / 25 = 0.6, so d = 10^0.6 = 3.9811 m, about 3.98 m.
  • At RSSI = -84 dBm: exponent (-59 - (-84)) / 25 = 25 / 25 = 1.0, so d = 10^1.0 = 10.00 m.

Now the noise. A +/-8 dB swing from body blockage or multipath scales the estimate by 10^(8/25) = 10^0.32 = 2.089:

  • The 3.98 m reading legitimately spans 3.98 / 2.089 = 1.91 m to 3.98 x 2.089 = 8.32 m.

That factor-of-two-each-way spread is the whole argument for zone labels: because distance sits in the exponent, every +/-8 dB of ordinary RSSI wobble becomes a /2.09-to-x2.09 swing in meters, so a single reading cannot honestly claim a precise distance – but it can reliably say “near” versus “far.”

Every number above is taken from the chapter’s own material and re-derived step by step.