# 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.

## Link Budget Basics

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

```
Link Budget = TX Power + TX Antenna Gain + RX Antenna Gain - Feedline Loss - Path Loss

Example (typical repeater setup):
TX Power: +22 dBm (158 mW - the SX1262 PA maximum on typical LoRa
          boards, NOT the legal limit. FCC 47 CFR 15.247 permits up
          to 1 W / +30 dBm conducted in 902-928 MHz, subject to
          antenna-gain/EIRP rules.)
TX Antenna: +5 dBi (fiberglass omni)
RX Antenna: +5 dBi (fiberglass omni)
Feedline Loss: -1 dB each end = -2 dB total
Path Loss at 5 km free space: ~105.6 dB at 915 MHz
          (FSPL = 32.45 + 20*log10(d_km) + 20*log10(f_MHz))
Receiver Sensitivity (SX1262, SF9 / BW125 kHz): ~-129 dBm
          (per Semtech SX1262 datasheet; sensitivity varies with
          bandwidth - e.g. ~-126 dBm at SF9 / BW250 kHz)

Available fade margin:
(22 + 5 + 5 - 2) - 105.6 - (-129) = ~53 dB fade margin

Real-world adjustment (buildings, terrain, foliage): -10 to -20 dB
          (an empirical clutter/excess-loss rule of thumb; see
          models such as Hata/COST-231 or ITU-R P.1546)
Net fade margin: ~33-43 dB - solid link
```

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 &amp; 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:

<table id="bkmrk-environmenttypical-r"><thead><tr><th>Environment</th><th>Typical Range (equal-height nodes)</th><th>Range (one node elevated 30m)</th></tr></thead><tbody><tr><td>Flat open terrain</td><td>3-8 km</td><td>10-20 km</td></tr><tr><td>Suburban (low buildings)</td><td>1-3 km</td><td>5-10 km</td></tr><tr><td>Dense urban (high-rise)</td><td>0.3-1 km</td><td>2-5 km</td></tr><tr><td>Forest/jungle</td><td>0.5-2 km</td><td>2-5 km</td></tr><tr><td>Mountainous (valley-to-peak)</td><td>Variable</td><td>20-50 km (ridge-to-ridge)</td></tr></tbody></table>

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.