Link Budget Calculations A link budget calculation estimates whether a radio path between two nodes will work reliably before you deploy hardware. It's the single most useful tool for avoiding wasted installation trips and surprised failures. The link budget equation Received Power (dBm) = TX Power (dBm) + TX Antenna Gain (dBi) − TX Cable Loss (dB) − Free Space Path Loss (dB) − Obstruction Loss (dB) + RX Antenna Gain (dBi) − RX Cable Loss (dB) Link Margin (dB) = Received Power (dBm) − Receiver Sensitivity (dBm) A positive link margin means the link should work. As a common rule of thumb, a margin of 10 dB or more is treated as reliable (longer or mission-critical links often target a 15 - 20 dB fade margin). The author's recommended minimum is about 3 dB - below that a link is borderline and not recommended for permanent infrastructure. These are engineering conventions, not hard standards. Key values for LoRa at 915 MHz Receiver sensitivity by MeshCore preset Figures below are SX1262 datasheet values with Rx Boosted gain (standard gain is roughly 3 - 4 dB worse). They assume the bandwidth listed for each preset. Preset equivalent (SF / BW) Receiver sensitivity USA/Canada (SF7 / 62.5 kHz) ~−125 dBm Long Fast (SF11 / 250 kHz) ~−131 dBm Long Slow (SF12 / 125 kHz) ~−137 dBm Medium Slow (SF10 / 250 kHz) ~−129 dBm Lower sensitivity number = can receive weaker signals = more range potential. Long Slow gives the best sensitivity but at the cost of extremely low data rate. (Sensitivity figures near −141/−148 dBm only occur at very narrow bandwidths around 10.4 kHz, not at the 125 - 250 kHz bandwidths these presets use.) Free Space Path Loss at 915 MHz Practical form (distance in km, frequency in GHz): FSPL (dB) = 20×log10(d_km) + 20×log10(f_GHz) + 92.45. The 92.45 constant already folds in the 4π/c term for kilometres and gigahertz. In practical terms for 915 MHz: Distance Free Space Path Loss 1 km (0.62 mi) 91.6 dB 5 km (3.1 mi) 105.6 dB 10 km (6.2 mi) 111.6 dB 20 km (12.4 mi) 117.6 dB 50 km (31 mi) 125.6 dB Note: Free space path loss assumes clear line of sight with no obstructions. Real-world losses are always higher. Worked example: Rooftop repeater to ground-level node Scenario: 5 km path, rooftop repeater at 30m height, portable node at 2m height. Parameter Value TX Power (repeater) 27 dBm (requires external PA - see note) TX Antenna Gain +5 dBi TX Cable Loss (1m LMR-200) −0.4 dB Free Space Path Loss (5 km, 915 MHz) −105.6 dB Obstruction/Fresnel loss estimate −10 dB (mixed urban) RX Antenna Gain (portable node, 2 dBi) +2 dBi RX Cable Loss (none for portable) 0 dB Received Power 27 + 5 − 0.4 − 105.6 − 10 + 2 = −82.0 dBm Receiver Sensitivity (USA/Canada SF7) −125 dBm Link Margin −82.0 − (−125) = +43.0 dB Power note: common LoRa modules built on the SX1262 top out at +22 dBm conducted, so a 27 dBm example implies an external power amplifier - state it explicitly when planning. FCC Part 15.247 (902 - 928 MHz) caps conducted power at 1 W (30 dBm) and derives a 36 dBm EIRP ceiling, and requires a 1 dB reduction in conducted power for every dB of antenna gain above 6 dBi. At the +5 dBi gain used here no reduction is required, but higher-gain antennas would force the conducted power down. A 43 dB margin is very comfortable - this link will work reliably even with additional obstruction losses not captured in the estimate. (Because this example uses the SF7 sensitivity of −125 dBm, it is unaffected by the higher-SF sensitivity corrections above; a Long Slow / SF12 link at −137 dBm would have an even larger margin.) Fresnel zone clearance The Fresnel zone is an elliptical (football-shaped) region around the straight-line path between two antennas. Radio energy travels through this whole zone, not just the visual line, so obstacles near - not just directly on - the line still degrade the signal. Even in "clear" line-of-sight paths, the first Fresnel zone must be about 60% clear of obstructions for reliable communication. The first Fresnel zone radius at the midpoint of a path: r = 8.66 × sqrt(d_km / f_GHz) meters Where d = path length in km, f = frequency in GHz (This is the same as the form r = 17.3 × sqrt(d / (4·f)) used elsewhere: 17.3 / sqrt(4) = 8.66.) The radius scales with link length. For 915 MHz: 1 km path: r ≈ 9 meters 10 km path: r ≈ 28.6 meters So an obstruction within ~28.6 m of the direct path midpoint will partially block the signal on a 10 km link, but on a 1 km link the relevant zone is only ~9 m. Use the formula for your actual path length rather than a fixed radius. This is why hilltop-to-hilltop links work so well: the terrain clears the Fresnel zone naturally. For rooftop-to-rooftop links in cities, trees and building facades at path midpoints can add 10 - 20 dB of loss even when the antennas themselves have direct line of sight. When to use a link budget Before installing a repeater at a new site, calculate whether it can reach your intended coverage area When planning a point-to-point relay link between two specific nodes When a deployed link is underperforming - work backwards from measured RSSI to identify where the losses are When comparing two candidate repeater sites - small differences in height can produce large differences in link budget