Tool

LoRa link budget and range estimator

Work out receiver sensitivity, link budget, free-space range, Fresnel clearance, radio horizon and airtime for a Meshtastic EU_868 preset, and check your UK e.r.p. An upper bound, not a promise.

Updated 29 Oct 2026

Radio

SF11, 250 kHz, coding rate 4/5. Meshtastic lists 1.07 kbps and a 153 dB link budget at 22 dBm and 0 dBi. Turbo presets (500 kHz) are not available in EU_868 and are not offered.

869.525 is the Meshtastic EU_868 default (slot 1).

The SX1262 chip itself transmits up to +22 dBm (Semtech datasheet). A higher setting only makes sense if your board adds an amplifier.

The whole LoRa packet. Meshtastic's own header takes 16 bytes of it.

Antennas, cable and site

Above the surrounding ground. At least 0.5 m.

Above the surrounding ground. At least 0.5 m.

Walls, trees, buildings, hills, a poor antenna. We give no sourced clutter figures: raise this to see how quickly range falls.

Result

Best case, nothing in the way

Free-space range 1,302 km, but the radio horizon for these antenna heights is only 18.4 km.

Link budget 153.5 dB, receiver sensitivity -131.5 dBm, airtime for 50 bytes 641 ms.

Receiver

Noise floor
-114 dBm
-174 dBm/Hz + 10 log10(250,000 Hz) + noise figure 6 dB
Demodulator SNR limit (SF11)
-17.5 dB
Typical value from the SX1261/2 datasheet. LoRa decodes below the noise floor.
Receiver sensitivity
-131.5 dBm
Noise floor plus SNR limit. The weakest signal the radio can decode.

Link budget

EIRP
22 dBm
TX power minus TX cable loss plus TX antenna gain.
e.r.p. (what the UK limit measures)
19.9 dBm
EIRP minus 2.15 dB. 500 mW is 27 dBm.
Link budget
153.5 dB
EIRP plus RX antenna gain minus RX cable loss minus receiver sensitivity.
Maximum path loss after extra losses
153.5 dB
The link budget minus the extra losses and fade margin you entered.

Distance and geometry

Free-space range
1,302 km
Distance at which free-space path loss equals the maximum path loss at 869.525 MHz.
Radio horizon (4/3 earth)
18.4 km
Smooth-earth line of sight between the two antenna heights. Hills and buildings make it shorter; a mast on a hill can make it longer.
Distance used for the Fresnel figures
18.4 km
The radio horizon, because it is shorter than the free-space range.
Fresnel zone, 60 % clearance radius at the midpoint
23.9 m
Keep this radius clear all round the straight line. The full first-zone radius is 39.9 m.
Height of the straight line above flat ground at the midpoint
0 m
Less than the 60 % Fresnel radius, even over perfectly flat ground. Raise an antenna or shorten the link.

Airtime

Time on air, 50-byte packet
641 ms
58 payload symbols plus a 166 ms preamble (16 symbols, the Meshtastic default). Symbol time 8.192 ms, low-data-rate optimisation off, explicit header, CRC on.
Most packets per hour at the 10 % duty cycle
562
Duty cycle for IR2030/1/19. One packet every 6.4 s on average, at most.

What the link looks like at fixed distances

Free-space path loss, margin against the maximum path loss, and 60 % Fresnel radius at fixed distances
DistancePath lossMargin60 % Fresnel
0.5 km85.2 dB+68.3 dB 3.9 m
1 km91.2 dB+62.3 dB 5.6 m
2 km97.2 dB+56.3 dB 7.9 m
5 km105.2 dB+48.3 dB 12.5 m
10 km111.2 dB+42.3 dB 17.6 m

Margin is the maximum path loss minus free-space path loss at that distance, with none of the obstructions a real path has.

How the numbers are worked out

Everything runs in your browser. Nothing you type is sent anywhere, and the page makes no network calls. The formulas are standard; the sources are listed at the bottom.

Receiver sensitivity

sensitivity (dBm) = −174 + 10 log10(bandwidth in Hz) + noise figure + SNR limit

−174 dBm/Hz is the thermal noise floor at room temperature. The noise figure is how much noise the receiver adds; we assume 6 dB, which is our assumption, not a datasheet value (real boards vary with the antenna switch and any extra amplifier). The SNR limit is how far below the noise a LoRa signal can still be decoded, and it falls as the spreading factor rises. Typical values from Table 6-1 of the Semtech SX1261/2 datasheet:

Spreading factorSF7SF8SF9SF10SF11SF12
SNR limit (dB)-7.5-10-12.5-15-17.5-20

Meshtastic's documentation says each step up in spreading factor adds about 2.5 dB of link budget and each doubling of bandwidth costs almost 3 dB. The table above and the formula give exactly those steps (2.5 dB per spreading factor, 3.0 dB per bandwidth doubling).

Link budget and free-space range

link budget = EIRP + RX antenna gain − RX cable loss − sensitivity, where EIRP is TX power minus TX cable loss plus TX antenna gain. The extra losses field is subtracted from that to give the maximum path loss. Free-space path loss in dB is 20 log10(d in km) + 20 log10(f in MHz) + 32.44, where 32.44 is 20 log10(4π × 109 / c) for kilometres and megahertz. The tool inverts that to find the distance at which free-space loss uses up your whole budget. Every doubling of distance costs 6 dB, and every 6 dB of extra loss halves the range.

Fresnel zone

Radio energy fills an ellipsoid around the straight line, not a thin ray. The first-zone radius at the midpoint of a link of length D is 0.5 × √(λ × D), where λ is the wavelength. A common rule of thumb is to keep at least 60 % of that radius clear of obstacles (Wikipedia gives 60 % as the minimum and 80 % as the ideal). The tool shows the 60 % radius at the midpoint of the distance it is evaluating: the free-space range, or the radio horizon if that is shorter. It also shows how high the straight line sits above perfectly flat ground at the midpoint, after subtracting the earth's bulge, so you can see whether the heights you entered can ever clear the zone. Real terrain is never flat. See the worked examples in antenna placement.

Radio horizon

For one antenna of height h metres over smooth ground, the distance to the horizon is √(2 k R h), with Earth radius R = 6,371 km and an effective-radius factor k = 4/3 to allow for the atmosphere bending radio waves slightly downwards (Wikipedia gives a factor of around 4/3, and notes it varies with the weather). That is about 4.12 × √h km. The link horizon is the sum of the two antennas' horizons. It is a ceiling for smooth ground; hills and buildings make it shorter.

Time on air

The calculator uses the LoRa time-on-air equation from the Semtech SX1261/2 datasheet (section 6.1.4), which is the same equation as Semtech application note AN1200.13 (the LoRa modem designer's guide; we have not linked that PDF because Semtech's document links would not load for us). Symbol time is 2SF / bandwidth. Low-data-rate optimisation switches on when the symbol time is above 16 ms. We assume an explicit header, CRC on and a 16-symbol preamble, which is the Meshtastic firmware default. The packet size you enter is the whole LoRa packet, and Meshtastic's own header takes 16 bytes of it (to, from, packet id, flags, channel hash, next hop and relay node).

The packets-per-hour figure divides one hour by the airtime and multiplies by the duty-cycle limit of the UK sub-band your frequency falls in. It is an upper bound on how much one node may send, not a measure of how fast a mesh delivers messages.

The UK power limit

The calculator compares your e.r.p. with the Ofcom IR 2030 v1.16 limit for non-specific short-range devices in whichever sub-band your channel sits in. e.r.p. includes antenna gain and is referenced to a half-wave dipole, so antenna gain in dBi has 2.15 dB subtracted. Meshtastic's EU_868 default of 869.525 MHz with a 250 kHz channel fills the 869.40 to 869.65 MHz slot exactly.

InterfaceBand (MHz)Max e.r.p.Access rule
IR2030/1/16868.00 to 868.6025 mWLBT/AFA per EN 300 220, or 1 % duty cycle or less
IR2030/1/17868.70 to 869.2025 mW0.1 % duty cycle or less (or equivalent mitigation)
IR2030/1/18869.30 to 869.4010 mWchannel of 25 kHz or less, 10 % duty cycle or less
IR2030/1/19869.40 to 869.65500 mWLBT/AFA, or 10 % duty cycle or less
IR2030/1/20869.70 to 870.0025 mWLBT/AFA, or 1 % duty cycle or less

This is our reading of IR 2030 v1.16 (published 7 April 2026), not legal advice, and a newer version may exist. Check the current Ofcom document before relying on it.

Sanity check against published figures

The table below is computed with the same code as the calculator: 22 dBm, 0 dBi antennas, no cable loss, 869.525 MHz, a 50-byte packet. Meshtastic's radio settings page lists a link budget for each preset on the same assumption (22 dBm, 0 dB antenna gain), so the two columns can be compared directly.

PresetSF / BW / CRSensitivity (dBm)Link budget, ours (dB)Link budget, Meshtastic docs (dB)50-byte airtime (ms)
Short Fast7 / 250 kHz / 4/5-121.5143.514353
Short Slow8 / 250 kHz / 4/5-124.0146.0145.595
Medium Fast9 / 250 kHz / 4/5-126.5148.5148181
Medium Slow10 / 250 kHz / 4/5-129.0151.0150.5341
Long Fast11 / 250 kHz / 4/5-131.5153.5153641
Long Moderate11 / 125 kHz / 4/8-134.5156.51562036
  • Our link budgets are within about 0.5 dB of Meshtastic's for all six presets (ours are the higher figure). The Meshtastic page says its table is based on data from the official Semtech LoRa calculator.
  • The Semtech SX1261/2 datasheet lists typical sensitivities of −124 dBm (125 kHz, SF7), −137 dBm (125 kHz, SF12), −121 dBm (250 kHz, SF7) and −134 dBm (250 kHz, SF12). The formula gives −124.5, −137.0, −121.5 and −134.0. At 500 kHz the formula is 1.5 to 2 dB more optimistic than the datasheet, which does not matter here because 500 kHz presets are not offered.
  • Long Fast's preamble comes out at 165.9 ms; the Meshtastic firmware source comments 165 ms as its default for Long Fast. The 641 ms total for a 50-byte packet is our calculation from the datasheet equation; we did not find an independent published figure to compare it with.

Which presets are offered, and why no Turbo

The six general-purpose presets listed are the ones Meshtastic's documentation shows and does not mark as unavailable in EU_868. The three Turbo presets use 500 kHz bandwidth, which Meshtastic says is not legal in all regions and is unavailable in EU_868 (the region the UK uses). The documentation also lists Lite, Narrow and Tiny families for other regions (EU_866, EU_N_868 and amateur-band regions); they are not offered here. See LoRa vs Wi-Fi mesh for the data rates.

What this tool does not tell you

  • Real range. Clutter, walls, foliage, rain, a poor antenna, a badly placed node and interference are not modelled. We have no sourced clutter figures, so the tool lets you subtract a loss of your choosing and does not guess one.
  • Terrain. The radio horizon and midpoint clearance assume smooth, flat ground. A hill in the path can block a link that looks fine here; a high site can reach beyond a smooth-earth horizon.
  • Receiver noise. Sensitivity uses a fixed 6 dB noise figure. Interference from other devices in the band raises the real noise floor.
  • Your radio's actual output. Boards quote TX power with a tolerance; Heltec, for example, gives ±1 dB for its 28 dBm V4.
  • Legal advice. The e.r.p. check is our reading of IR 2030 v1.16. See the disclaimer.

Next: antenna placement, solar node sizing, hardware buyer's guide.

Sources

  1. Meshtastic: radio settings (presets, spreading factor, bandwidth, coding rate)
  2. Semtech SX1261/2 product page and datasheet (we read Rev. 1.2, June 2019)
  3. Meshtastic firmware: RadioInterface.h (16-symbol preamble, 16-byte packet header)
  4. Ofcom IR 2030: licence exempt short range devices (v1.16, published 7 April 2026)
  5. Meshtastic: antenna testing
  6. Wikipedia: Radio horizon (distance to the horizon, effective Earth radius 4/3)
  7. Wikipedia: Fresnel zone (60 % minimum clearance rule of thumb)