LoRa link budget calculator
Whether the link closes, how much margin it has, and what each spreading factor actually costs you in airtime.
Fade margin
—dB
—
The physics
The budget
margin = P_tx + G_tx + G_rx − L_cable − L_path − S_rx Everything in decibels, so it is addition. What leaves the transmitter, plus whatever the antennas concentrate, minus what the path and the hardware take away, compared against the quietest signal the receiver can still decode. What is left over is your margin against a bad day.
Sensitivity
S = −174 + 10·log₁₀(BW) + NF + SNR_limit
−174 dBm/Hz is thermal noise at room temperature — the floor nothing gets below.
Widening the bandwidth lets more of it in, which is why 500 kHz is about 6 dB worse
than 125 kHz. NF is the receiver's own noise figure, typically 6 dB.
The interesting term is SNR_limit. Chirp spread spectrum decodes
below the noise floor: SF7 needs about −7.5 dB SNR, SF12 about −20 dB.
That is the whole trick — roughly 2.5 dB of sensitivity per spreading factor step,
bought with airtime.
Path loss
L_fs = 20·log₁₀(d_km) + 20·log₁₀(f_MHz) + 32.44
L_path = L_fs + 10·(n − 2)·log₁₀(d_km)
Free-space loss is exact and pessimistic-free: doubling distance costs 6 dB, always.
The second term adds an empirical environment exponent for everything free space
ignores — buildings, terrain, foliage, ground reflections. n = 2 is
free space; 4.5 is a node inside a building in a dense city.
Time on air, and why it constrains everything
T_symbol = 2^SF / BW Each SF step doubles symbol duration. A 12-byte payload at SF7/125 kHz takes about 50 ms; the same payload at SF12 takes well over a second. Under the EU 1% duty cycle that single SF12 uplink buys you roughly two minutes of enforced silence.
The Fresnel zone
r = 17.32 · √( d_km / (4 · f_GHz) ) (metres, at midpoint) Radio does not travel in a line. Keeping 60% of this ellipsoid clear is the usual rule; an obstruction inside it costs signal even with visual line of sight. This is the number that explains most links that "should have worked".
Where this stops being accurate
- The environment exponent is a planning estimate, not a prediction. Real terrain needs a survey.
- Antenna gain assumes correct polarization alignment and a proper ground plane. A node antenna against a battery or a metal enclosure can lose more than the whole margin.
- No allowance for interference — in shared spectrum other traffic raises the effective noise floor.
- Regional limits on power, duty cycle and dwell time are not enforced here. Check the regulations for your market.
- Rain and foliage attenuation are not modelled; both matter above 1 GHz and both change with season.
Design guidance, not a manufacturing instruction. Verify every result against your fabricator's stack-up and the applicable standard before release. Closed-form models are approximations; the fab's field solver and process window are the authority.
Questions
What people ask about this
How much fade margin is enough?
A link that closes with 0 dB margin does not work. Rain, foliage in leaf, a person standing in front of the node, a door closing — all move a link by several decibels. Plan on 10 dB for a clear outdoor path with fixed antennas, 15 to 20 dB where anything moves or where the node is indoors. If the margin is under 6 dB, treat the link as broken and fix it before building anything on top.
Why does the highest spreading factor not always win?
SF12 buys roughly 10 dB over SF7, but each step up doubles time-on-air. At SF12 a short payload occupies the channel for over a second, which burns battery, hits regional duty-cycle limits fast, and collides with every other node doing the same. In EU 868 the 1% duty cycle means an SF12 uplink can force a gateway silence of a minute or more. Use the lowest SF that closes the link with margin, not the highest the radio offers.
What path-loss model does this use?
Free-space loss as the floor, plus a selectable environment exponent for anything that is not a clear line of sight. Free space is the physics; the exponent is an empirical fudge that stands in for buildings, terrain and foliage. It is a planning number, good enough to tell you whether a link is plausible and useless as a guarantee. Nothing replaces a site survey with the actual hardware.
Is the Fresnel zone really a problem at these ranges?
Yes, and it is the most common reason a link that should work does not. The radio path is not a line — it is an ellipsoid, and an obstruction intruding into it costs signal even when you can still see the other end. At 868 MHz over 5 km the first Fresnel zone is about 20 m across at midpoint. A hedge line or a roof ridge grazing that ellipsoid will cost you several decibels that no antenna upgrade recovers.
Link budget closes on paper, fails on site?
Antenna placement, ground planes and enclosure detuning cost more link than most budgets allow for. We design the node, the antenna and the test.