LoRa Link Budget Calculator — Sensitivity, Time on Air & Range
LoRa link budget from the Semtech SX1276 formulas: receiver sensitivity by spreading factor and bandwidth, symbol time, time on air with automatic low-data-rate optimisation, duty-cycle off-time, free-space or Okumura–Hata path loss, link margin and maximum range.
Formula
Reference: Semtech SX1276/77/78/79 datasheet Rev. 4 (2015), Table 13, §4.1.1.5–4.1.1.7; Semtech AN1200.13 Rev. 1 (2013), Eqn. 1; Hata (1980); ITU-R P.525-4
How It Works
A LoRa link budget answers two questions at once: whether the packet arrives above the receiver's sensitivity, and how long it occupies the channel. Both are set by the spreading factor (SF), the bandwidth and the coding rate.
Sensitivity
LoRa spreads each symbol over chips, which lets the demodulator work below the noise floor. Its sensitivity is the thermal noise in the bandwidth, plus the noise figure, plus the signal-to-noise ratio the spreading factor needs (Semtech AN1200.13, equation 1):
where is −173.975 dBm/Hz at 290 K. The SX1276 datasheet gives from −5 dB at SF6 to −20 dB at SF12, in steps of 2.5 dB. With a 125 kHz bandwidth and a 6 dB noise figure that is −124.5 dBm at SF7 and −137.0 dBm at SF12, which matches the −137 dBm in the datasheet's receiver table.
Time on air
The symbol time is : 1.024 ms at SF7 and 32.768 ms at SF12 with 125 kHz. A packet is a preamble of symbols followed by the payload symbols:
where is the payload in bytes, runs from 1 (4/5) to 4 (4/8), is 1 when the payload CRC is on, is 1 for an implicit header, and is 1 when low-data-rate optimisation is on. The datasheet makes that optimisation mandatory once the symbol time exceeds 16 ms, so the calculator switches it on by itself, at SF11 and SF12 with 125 kHz. A 10-byte packet at SF7 takes 41.216 ms; a 51-byte packet at SF12 takes 2465.792 ms.
Duty cycle
In much of the European 868 MHz band a device may transmit for at most 1% of the time (ETSI EN 300 220-2). After each packet it must then stay silent for , which is 99 times the time on air at 1%. The calculator also gives how many packets an hour fit within the duty cycle.
Path loss and range
In free space the loss is (ITU-R P.525). For a gateway on a mast above the surrounding roofs, the Okumura–Hata model gives the median loss in a town,
with in MHz, in kilometres and the antenna heights and in metres, plus corrections for a large city, suburban areas and open country. The link margin is the received power less the sensitivity, and the maximum range is the distance at which it falls to zero.
Validity
The SNR limits are those of the SX1276/77/78/79, which covers 137 to 1020 MHz and bandwidths of 7.8 to 500 kHz; another LoRa radio may differ by a dB or two. Okumura–Hata holds from 150 to 1500 MHz, 1 to 20 km, base heights of 30 to 200 m and mobile heights of 1 to 10 m. Outside those ranges, including a maximum range beyond 20 km, the values are shown with a warning. The path loss is a median with no fading: the link margin is what remains for fading and obstructions. Spreading factors outside 6 to 12 and payloads outside 1 to 255 bytes are refused.
Worked Example
Problem: A sensor node at 868 MHz sends a 20-byte payload at SF9, 125 kHz and coding rate 4/5, with an 8-symbol preamble, an explicit header and the payload CRC on. It transmits 14 dBm through a 2.15 dBi antenna to a gateway with a 5 dBi antenna on a 30 m mast, 2 km away in a medium-sized town, with 2 dB of cable loss. The gateway's noise figure is 6 dB and the sub-band allows a 1% duty cycle.
Step 1 - Sensitivity: S = −173.975 + 10 log₁₀(125000) + 6 − 12.5 = −129.51 dBm
Step 2 - Time on air: T_sym = 2⁹ / 125000 = 4.096 ms, below 16 ms, so no low-data-rate optimisation n_payload = 8 + ⌈(160 − 36 + 28 + 16) / 36⌉ × 5 = 8 + 5 × 5 = 33 symbols ToA = (8 + 4.25 + 33) × 4.096 = 185.344 ms
Step 3 - Duty cycle: T_off = 0.185344 × (100 / 1 − 1) = 18.35 s, so at most 194 packets an hour
Step 4 - Path loss (Okumura–Hata, medium-sized city): L = 136.60 dB at 2 km
Step 5 - Link: P_RX = 14 + 2.15 + 5 − 2 − 136.60 = −117.45 dBm M = −117.45 − (−129.51) = 12.06 dB Maximum range: 4.40 km
At SF12 the sensitivity improves to −137.01 dBm and the range to 7.18 km, but the same packet then takes 1318.912 ms and the node may send only 27 packets an hour.
Practical Tips
- ✓Use the lowest spreading factor that closes the link with a fading margin: it shortens the airtime, saves battery and frees the channel for other nodes.
- ✓Set the payload to the full radio frame. A LoRaWAN uplink adds 13 bytes of header and integrity code to the application data.
- ✓Compare the Okumura–Hata area types: moving from a city to a suburban or rural estimate can roughly double the predicted range.
- ✓Check the regional duty-cycle and dwell-time limits for the sub-band you use; in the United States the 915 MHz band limits dwell time instead of duty cycle.
Common Mistakes
- ✗Taking a datasheet's best-case sensitivity for every spreading factor. Each step down from SF12 costs 2.5 dB, and a wider bandwidth costs another 3 dB per doubling.
- ✗Forgetting low-data-rate optimisation. It is mandatory once the symbol time exceeds 16 ms, which is SF11 and SF12 at 125 kHz, and it lengthens the packet.
- ✗Ignoring the duty cycle. At 1% a 1.3 s SF12 packet must be followed by more than two minutes of silence, which caps a node at about 27 packets an hour.
- ✗Using free-space loss for a ground-level node in a town. The Okumura–Hata loss is about 40 dB higher at 2 km, and that difference decides the range.
Frequently Asked Questions
Methodology & References
References
- SX1276/77/78/79 — 137 MHz to 1020 MHz Low Power Long Range Transceiver, datasheet Rev. 4 — Semtech, March 2015 — Table 10 (LoRa receiver sensitivity), Table 12, Table 13 (SNR by spreading factor), §4.1.1.5–4.1.1.7 (symbol rate, LDRO, time on air)
- AN1200.13, SX1272/3/6/7/8: LoRa Modem Designer's Guide, Rev. 1 — Semtech, July 2013 — §2.2, Eqn. 1 (receiver sensitivity), Tables 2 and 3 (time on air and sensitivity)
- Empirical Formula for Propagation Loss in Land Mobile Radio Services — M. Hata, IEEE Transactions on Vehicular Technology, vol. VT-29, no. 3, pp. 317–325, August 1980; the formulas as given in 3GPP TR 43.030 V18.0.0 (2024-03), Annex B.1
- Recommendation ITU-R P.525-4, Calculation of free-space attenuation — ITU-R, 08/2019 — §2.2, Eqs. (3) and (4) link
Reproduces the SX1276 datasheet sensitivity of −137 dBm at SF12 and 125 kHz, the time on air of 41.216 ms (SF7, 10 bytes) and 2465.792 ms (SF12, 51 bytes, LDRO), AN1200.13's 264.2 ms and −132 dBm at SF10, and the Okumura–Hata 126.40 dB at 900 MHz and 1 km.
Related Articles
Related Calculators
IoT
BLE Link Budget
Bluetooth Low Energy link budget by PHY: data rate and Core Specification receiver sensitivity for LE 1M, LE 2M and LE Coded, path loss in free space or the ITU-R P.1238 indoor model, received power, link margin and maximum range.
RF
Link Budget
Free RF link budget calculator: enter Tx power, antenna gains, frequency, and distance to get received signal level, link margin, and max range. Covers satellite, terrestrial, and IoT links.
RF
Link Margin
Calculate RF link margin from TX power, antenna gains, path loss, and receiver sensitivity. Determine max range and fade margin for wireless links. Free, instant results.
RF
Free-Space Path Loss
Calculate free-space path loss (FSPL) in dB using the Friis equation. Enter frequency and distance for wireless link budget analysis. Free, instant results.