Skip to main content

Repeater Density and Coverage Calculations

How many repeaters do you need, and where should they go? This page provides practical calculation methods for MeshCore network coverage planning.

The maximum range between two MeshCore nodes depends on the link budget:

Compliance note: Under 47 CFR 15.247, conducted output power in the 902-928 MHz band is capped at 1 W (+30 dBm), referenced to an antenna of 6 dBi or less. Antennas above 6 dBi require a dB-for-dB reduction in conducted power, yielding a derived EIRP ceiling of 36 dBm (4 W). There is no point-to-point antenna-gain exemption at 915 MHz - that applies only to the 2.4 and 5.8 GHz bands. The +22 dBm above is the SX1262's hardware ceiling, well within these limits; see the Antennas & RF / FCC compliance pages before increasing power or antenna gain.

Terrain Effects on Range

Free-space calculations assume line of sight. The figures below are best-case line-of-sight estimates assuming default SF/BW and ~5 dBi omni antennas. Treat them as approximate upper bounds, not planning targets - actual ranges vary widely with spreading factor, bandwidth, antenna height, power, and clutter. For emergency-grade coverage, derate heavily and confirm with field tests. Real-world path loss modifiers:

EnvironmentTypical Range (equal-height nodes)Range (one node elevated 30m)
Flat open terrain3-8 km10-20 km
Suburban (low buildings)1-3 km5-10 km
Dense urban (high-rise)0.3-1 km2-5 km
Forest/jungle0.5-2 km2-5 km
Mountainous (valley-to-peak)Variable20-50 km (ridge-to-ridge)

The 20-50 km ridge-to-ridge figure is achievable only with full line of sight, adequate Fresnel-zone clearance, and typically directional antennas - not the omni setup assumed elsewhere on this page. These are approximate field-reported results, not guaranteed coverage.

Coverage Area Calculation

For a given expected range R, a single omnidirectional repeater covers approximately:

Coverage area = pi * R^2

At R = 3 km: ~28 km^2 (~11 sq miles)
At R = 5 km: ~78 km^2 (~30 sq miles)
At R = 10 km: ~314 km^2 (~121 sq miles)

These are theoretical maximums. As a planning rule of thumb, actual coverage is typically only 50-70% of the theoretical circle due to terrain, buildings, and RF absorption - and real coverage is usually governed by client antenna height (handheld, low) rather than the repeater's radius.

Repeater Density Guidelines

The figures below are rough starting points for a first pass only, derived from the (unsourced, optimistic) range table above - not sourced guidelines. They assume near-best-case line of sight and ignore that most clients are handheld and low to the ground, so they tend to under-build coverage. Deploy conservatively and infill from measured RSSI/SNR data. For a network where most clients are within 1 hop of a repeater:

  • Urban dense (Manhattan, downtown Chicago): 1 repeater per 0.5-1 km^2 (500m radius)
  • Suburban: 1 repeater per 3-8 km^2 (1-1.5 km radius)
  • Rural flat terrain: 1 repeater per 20-50 km^2 (2.5-4 km radius)
  • Rural with elevation advantages: 1 repeater per 50-200 km^2 (4-8 km radius)

These are starting points biased optimistic. After initial deployment, use the actual RSSI/SNR data from your node database to identify coverage holes and place additional repeaters strategically.

Path Hop Analysis

In MeshCore, messages travel via discovered paths. The path length (hop count) determines:

  • Latency: roughly 100-500ms per hop in normal conditions (a rough range - actual airtime depends on SF/BW/payload, and MeshCore's configurable txdelay also affects per-hop latency)
  • Reliability: Each hop multiplies failure probability. If per-hop reliability were 95%, a 5-hop path delivers ~77% of the time (0.95^5 = 0.774) - but 95% per hop is optimistic. At a more realistic 80% per hop, a 5-hop path drops to ~33% (0.80^5). Per-hop reliability in real deployments varies widely with SNR, contention, and duty cycle, so do not assume 95%. For mission-critical messaging, design for 1-3 hops and verify delivery rates empirically.

Target: most clients should reach their typical destination (a room server, gateway, or key peer) within 3 hops. 5+ hops indicates a coverage gap that a new repeater could address. This 3-hop target is a reliability guideline, not a protocol limit - MeshCore supports up to 64 hops in firmware. Increasing the hop limit lets packets travel farther but does not improve per-hop reliability, so deep paths remain unreliable for time-critical traffic.