Tools
How high does my repeater need to be?
LoRa doesn't just need a line of sight between two antennas. It needs an egg-shaped bubble of clear space around that line, called the Fresnel zone, and over a few kilometres the curve of the earth starts to get in the way too. Enter your two sites and this planner tells you whether the link will work, and how high to go if it won't.
The example is a MeshCore repeater on a 10 m pole talking to a node on a 5 m roofline 5 km away, across the suburbs. It shows why antenna height matters more than anything else.
Your link
- Signal at the receiver
- –
- Receiver can hear down to
- –
- Path loss
- –
- Transmit EIRP
- –
- Tightest point
- –
Side view
Heights are stretched vertically so you can see the zone. The curve is the earth bulge (with standard radio refraction), and the hatched band is the trees and roofs along the path, starting about 100 m from each antenna.
How it works
Signal strength is transmit power plus antenna gains, minus cable losses and free-space path loss, plus a knife-edge diffraction penalty (ITU-R P.526) when trees, roofs or the earth's curve poke into the path. Receiver sensitivity comes from the LoRa noise floor for your spreading factor and bandwidth (Semtech AN1200.22, 6 dB noise figure). A link needs 60% of the first Fresnel zone clear to behave like open air. Because signal also soaks into walls, leaves and roofs, the margin a link needs grows with its surroundings: about 10 dB over open ground, 15 dB rural, 25 dB suburban and 30 dB in town.
It assumes flat ground with an even band of trees and roofs starting about 100 m from each antenna, and checks the whole path for the tightest point. Hills and ridges aren't modelled, so for hilly routes check the actual terrain profile too. In Australia, 915–928 MHz LoRa is generally limited to 1 W (30 dBm) EIRP, and every node on a MeshCore mesh must use the same radio settings.