Designing for Multi-Hop Reliability
Link Budget Through Multiple Hops
In a multi-hop chain, each individual link (hop) must have a positive link margin. Unlike a
wired network where signal is regenerated cleanly at each switch, a LoRa repeater decodes the
incoming RF signal and re-transmits at full power.power, The quality ofso the RF leaving each repeater is clean. But
a packet that is only marginally decoded may contain bit errors or fail its CRC and be dropped —
so each hop's received signal atquality still determines whether the repeaterpacket doessurvives notthat degradehop. theThe
re-transmitted signal - each hop is anclean, independentbut link.a weak receive at a repeater can still break the chain.
However,This is why the weakest link in the chain determines end-to-end reliability. If
three hops each have reliabilities of 99%, 95%, and 90%, the end-to-end delivery probability
is:
P(delivery) = 0.99 × 0.95 × 0.90 = 0.846 = 84.6%
This is the key insight of multi-hop network design: each marginal link has an outsized
negative effect on overall reliability because the probabilities multiply. A single 85% link
inwith atwo three-hopnear-perfect chain(~99%) degradeslinks yields about 0.85 × 0.99 × 0.99 ≈ 83% end-to-endend. delivery to ~70 - 75% even ifIf the
other two links are near-perfect.also only moderate (~90% each), end-to-end delivery drops to roughly 70%.
Planning Hop Paths for Your Network
Before finalising repeater placement, map the expected relay chains for your most critical communication paths. The process:
- Draw the relay chain. On your coverage map, trace the sequence of repeaters a message from a specific source node would traverse to reach the destination. In Meshtastic (flood routing), there may be multiple parallel paths; identify the primary path (shortest hop count with best margins) and the fallback path.
-
Estimate link margin at each hop. For each hop in the chain:
- Calculate FSPL (Free Space Path Loss): FSPL(dB) = 20-log₁₀(d) + 20-log₁₀(f) + 92.
445 (d in km, f in GHz) - Add terrain/vegetation loss (see Coverage Radius Estimation page for obstruction factors)
SubtractAdd receiver antennagainsgain;(transmittersubtract+anyreceiver)receiver feedline/connector loss- Link Margin = TX Power + TX Antenna Gain − Path Loss + RX Antenna Gain − RX
AntennaFeedline Loss − RX Sensitivity (all in dB, with TX power and sensitivity in dBm)
- Calculate FSPL (Free Space Path Loss): FSPL(dB) = 20-log₁₀(d) + 20-log₁₀(f) + 92.
-
Identify where margin is thin.
AnyA common planning rule of thumb is to flag any hop with less than 10 dB of margin as at-risk. (This isatarisk.heuristic,Flagnotit.a fixed standard — planners use anywhere from ~6 dB in benign environments to ~20 dB where high availability or heavy fading is expected.) Options: move the repeater to a better site, add a fill node on that hop, increase antenna gain on that link, or accept reduced reliability on that segment. - Document the analysis. Record the estimated margin at each hop. Update after each wardriving survey that provides measured RSSI/SNR data on that link.
Worked Example: Three-Hop Path Analysis
Scenario: A remote ranch (Client A) communicates with the county EOC (Destination) via three
repeaters (R1, R2, R3). Meshtastic on 915 MHz, SF10/BW125. TX power: 22 dBm (~160 mW) — the
SX1262 chip maximum used by stock Meshtastic/MeshCore radios. (FCC Part 15.247 permits up to
30 dBm (/ 1 W).W conducted in 902 - 928 MHz, but reaching that requires an external power amplifier,
and antenna gain above 6 dBi requires a 1-for-1 dB power reduction to stay within the 36 dBm
EIRP limit. The figures below assume the buildable 22 dBm.) Antenna gain: 3 dBi omnidirectional
on all nodes. Receiver sensitivity (SF10/BW125): −132 dBm.
Hop 1: Client A → Repeater R1 (hilltop, 4.2 km, rural open)
FSPL = 20-log₁₀(4.2) + 20-log₁₀(0.915) + 92.445
= 12.46 + (−0.77) + 92.445
= 104.1 dB
Terrain loss (rural open): 0 dB additional (clear LOS)
Link Margin = 3022 (TX) + 3 (TX ant) − 104.1 (FSPL) + 3 (RX ant) − (−132) (sensitivity)
= 3022 + 3 − 104.1 + 3 + 132
= 63.55.9 dB
Result: 63.55.9 dB margin - excellent. This link is rock-solid.
Hop 2: Repeater R1 → Repeater R2 (rooftop, 9.8 km, suburban)
FSPL = 20-log₁₀(9.8) + 20-log₁₀(0.915) + 92.445
= 19.82 + (−0.77) + 92.445
= 111.5 dB
Suburban obstruction add: +12 dB (0.55unsourced factorrule-of-thumb =clutter approx.allowance; suburban
clutter at 915 MHz commonly runs roughly +5 to +15 dBdB. additionalFor loss)a rigorous estimate use a
named model such as ITU-R P.1546 or COST-231 Hata.)
Link Margin = 3022 + 3 − (111.5 + 12) + 3 + 132
= 3022 + 3 − 123.5 + 3 + 132
= 44.36.5 dB
Result: 44.36.5 dB margin - good, well above the 10 dB minimum.
Hop 3: Repeater R2 → Destination EOC (18.5 km, suburban, EOC is in a building)
FSPL = 20-log₁₀(18.5) + 20-log₁₀(0.915) + 92.445
= 25.34 + (−0.77) + 92.445
= 117.0 dB
Suburban obstruction add: +12 dB
Building penetration loss (EOC indoor): +10 dB (construction-dependent; building
penetration at 915 MHz ranges roughly 5 to 25+ dB. See ITU-R P.2109.)
Link Margin = 3022 + 3 − (117.0 + 12 + 10) + 3 + 132
= 3022 + 3 − 139.0 + 3 + 132
= 29.21.0 dB
Result: 29.21.0 dB margin - acceptable (above 10 dB), but the EOC indoor
penalty is significant. If the EOC uses a rooftop-mounted external antenna instead of an
indoor unit, the 10 dB building penalty disappears and margin rises to 39about 31 dB. Strongly
recommend external antenna at the EOC.
Chain Summary
| Hop | Distance | Margin (dB) | Status |
|---|---|---|---|
| Client A → R1 | 4.2 km | Excellent | |
| R1 → R2 | 9.8 km | Good | |
| R2 → EOC | 18.5 km | Marginal (address indoor loss) |
End-to-end reliability of this chain is constrained by the R2 → EOC hop. Installing an external rooftop antenna at the EOC is the highest-priority action.
SNR and RSSI Thresholds for Reliable Forwarding
Theoretical link margins are estimates. In a live network, use measured RSSI and SNR to
assess actual link quality. The followingthresholds thresholdsbelow are practicalapproximate minimumsplanning forheuristics, reliablenot
messagemeasured forwarding:constants. They are also spreading-factor dependent: the figures here assume a
mid-range preset (around SF9 - SF10). LoRa's SNR decode floor ranges from roughly −7.5 dB at
SF7 down to about −20 dB at SF12, and at SF11/SF12 a link can decode reliably well below
−120 dBm RSSI (sensitivity is around −131 dBm at SF11/250 kHz and −137 dBm at SF12/125 kHz).
Treat the cutoffs as margin relative to your preset's sensitivity rather than fixed
absolute numbers.
| Metric | Minimum (marginal) | Target (reliable) | Good | Excellent |
|---|---|---|---|---|
| RSSI | −130 dBm | −120 dBm | −110 dBm | > −100 dBm |
| SNR | −15 dB | −10 dB | −5 dB | > 0 dB |
Notes on these thresholds:thresholds (approximate, and SF-dependent — assume roughly SF9 - SF10 here):
-
RSSI −130 dBm / SNR −15 dB:
PacketsA rough rule of thumb is a 50 - 70% success rate at a mid-range SF — packets may be decoded butsuccess rate is lowunreliably. (50At-SF1270%these levels are comfortably decodable.).Use only as an emergency fallback. Do not plan routes through links at this level. -
RSSI −120 dBm / SNR −10 dB: Practical minimum for planned
routes.routesExpectat a mid-range SF. As a heuristic, expect roughly 85 - 95% packet delivery under normal conditions. Link will degrade in rain, vegetation growth, or when nearby interference increases the noise floor. - RSSI −110 dBm / SNR −5 dB: Reliable for infrastructure links. Acceptable for primary repeater-to-repeater connections. Will maintain >98% delivery in most conditions.
- RSSI > −100 dBm / SNR > 0 dB: Strong link. Typical of well-placed nearby repeaters. These links rarely fail under normal operating conditions.
When reviewing live network telemetry, links consistently belownear −120the dBmmarginal RSSIend orof −10the dBscale
SNRfor your preset are candidates for remediation. Check the repeater placement, antenna
alignment, and cable connections. If the physical setup is already optimal, a fill node on
that path may be necessary.
The Weakest-Link Rule in Practice
When troubleshooting poor end-to-end delivery on a multi-hop path:
- Collect
RSSI andper-hop SNR readingsat each hopusing the Meshtastic traceroute command (from firmware ≥ 2.5 it records the route back along with the Signal-to-Noise Ratio for each link — it reports SNR, not RSSI), or MeshCore path diagnostics. Per-link RSSI must be read locally from the node, not via traceroute. - Identify the hop with the lowest
RSSISNR (orSNRlocally-measured RSSI) - this is your weakest link. - Improving the weakest link will improve end-to-end delivery more than any other intervention. Do not chase marginal improvements on already-good hops.
- After fixing the weakest link, re-test the full chain. A new weakest link may emerge.
- Repeat until all hops meet
the >10 dByour margin/ > −120 dBm RSSI / > −10 dBand SNRtargets.targets for the preset in use.