Optimal Multi-Path Routing for LoRa Mesh Networks — replacing naive flooding with intelligent, self-healing communication.
by Clemens Simon · 2026
← Full Interactive DocumentationMeshtastic (v2.6/2.7) uses managed flooding with SNR-based suppression for broadcasts and next-hop routing for direct messages. These are clever optimizations over naive flooding — but both still scale as O(n) per message, requiring a hop limit (default 3–7) that caps network range.
This paper presents System 5, a routing protocol that achieves O(hops) cost for all message types. Simulated against Meshtastic's actual managed flooding with realistic hop limits (3, 5, 7) across 21 scenarios (20–1500 nodes, 6 routers each), System 5 delivers 92–100% fewer transmissions in small-to-medium networks while achieving dramatically higher delivery rates (half-duplex collapses managed flooding to 0–87% delivery across all scenarios).
The most significant finding: Half-duplex radio physics — not just hop limits — collapse flooding delivery. At 500 nodes, managed flooding delivers only 3% of messages. At 1000 nodes, 0%. Even at 100 nodes, only 27%. System 5 delivers 46–100% in the same scenarios. Half-duplex and collisions are now enabled on ALL scenarios, revealing that managed flooding is fundamentally unreliable with realistic radio physics.
Meshtastic's routing (v2.6/2.7) is already substantially better than naive flooding:
Interval × (1 + (Nodes-40) × 0.075).The remaining limitation: Both managed flooding and next-hop still scale as O(n) per message. The hop limit (3–7) is necessary because each hop multiplies transmissions proportional to network size. But this creates a double penalty: not only does each message waste bandwidth — messages that need more hops than the limit simply never arrive. With half-duplex enabled, at 100 nodes delivery drops to 27%. At 500 nodes, to 3%. At 1000 nodes, to 0%. Half-duplex radio physics and hop limits together make flooding fundamentally unreliable.
Four routing strategies are simulated and compared on identical network topologies:
Every node rebroadcasts once. TX = n per message. Not used by Meshtastic — included only as a theoretical worst case for context.
SNR-based suppression + ROUTER priority. TX ≈ 0.5n per message. Still O(n) but ~50% cheaper than naive. Proven effective up to ~100 nodes. Hop limit required.
Learns one relay per destination. TX = hops after learning, but first message still floods. Only works for direct messages — broadcasts unchanged. Single cached relay, no load balancing, no multi-path.
Geo-clustering + multi-path + weighted load balancing + adaptive QoS + fallback. TX = hops for all message types. Score: 9.2/10 vs. 5.5 for managed flooding. Details in Section 4.
System 5 combines six proven concepts, each borrowed from a different domain:
Where Q = accumulated route quality from distance-vector, Load = queue pressure of the next-hop node (from its last OGM), Batt = battery level of the next-hop node. All metrics are locally observable — no path-wide data collection needed. Traffic share: Share(r) = W(r) / Σ W(all routes).
The proportional distribution creates a negative feedback loop: overloaded paths lose weight → traffic shifts → path recovers → weight increases. The network self-balances without central control.
Each system was scored 0–10 across seven weighted criteria:
| Criterion (Weight) | Naive | Managed | Next-Hop | System 5 |
|---|---|---|---|---|
| TX Cost per Message (20%) | 1 | 4 | 5 | 10 |
| Delivery Reliability (20%) | 9 | 9 | 8 | 9 |
| Scalability (15%) | 1 | 3 | 4 | 9 |
| Fault Tolerance (15%) | 8 | 8 | 7 | 9 |
| Hop Limit Freedom (10%) | 1 | 2 | 3 | 10 |
| Energy Efficiency (10%) | 1 | 3 | 5 | 8 |
| Broadcast Support (10%) | 10 | 10 | 3 | 9 |
| WEIGHTED TOTAL | 4.3 | 5.5 | 5.1 | 9.2 |
System 5 handles every critical failure mode with graceful degradation:
Critically, NHS is computed locally per cluster, not globally. A node failure in Asia does not affect QoS in Munich. Each node evaluates its own neighborhood: its direct links, its cluster's border nodes, its route redundancy to local destinations, and whether it can reach an internet gateway. This means Cluster A can be GREEN while Cluster C is RED — each cluster manages its own traffic independently.
NHS drives adaptive QoS — eight priority classes from P0 (SOS, always passes) to P7 (firmware updates, only at NHS > 0.9). As local NHS drops, that cluster automatically throttles low-priority traffic. Self-healing loop: less traffic → fewer collisions → links recover → NHS rises.
| NHS Range | Level | Allowed Traffic | Max Rate |
|---|---|---|---|
| 0.9 – 1.0 | GREEN | Everything: text, files, firmware, bulk | 100% |
| 0.7 – 0.9 | YELLOW | Messages + telemetry, no bulk | 60% |
| 0.4 – 0.7 | ORANGE | Priority messages only | 30% |
| 0.2 – 0.4 | RED | Emergency + position only | 10% |
| 0.0 – 0.2 | CRITICAL | SOS beacon only | 3% |
Previous simulations used an unrealistic TTL of 30 hops — far above Meshtastic's actual default of 3–7. With realistic hop limits, managed flooding's delivery rate collapses in larger networks:
| Scenario | Nodes | 3-hop Del. | 5-hop Del. | 7-hop Del. | Sys5 Del. |
|---|---|---|---|---|---|
| Small Local (1km) | 20 | 87% | 87% | 87% | 100% |
| Medium City (5km) | 100 | 25% | 27% | 27% | 100% |
| Large Regional (20km) | 500 | 1% | 2% | 3% | 76% |
| Dense Urban (3km) | 200 | 51% | 51% | 51% | 100% |
| 1000 Nodes (40km) | 1000 | 0% | 0% | 0% | 46% |
| 1500 Nodes (50km) | 1500 | 0% | 1% | 1% | 44% |
| Rural Long Range | 50 | 20% | 25% | 25% | 100% |
| Maritime / Coastal | 30 | 20% | 24% | 24% | 100% |
| Disaster Relief | 80 | 15% | 19% | 19% | 78% |
| Mountain Valley | 60 | 2% | 4% | 4% | 5% |
Half-duplex collapses flooding to 0–60% delivery in ALL scenarios. At 1000+ nodes, managed flooding delivers 0–1% of messages. Even at 100 nodes, only 27% arrive. System 5 maintains 46–100% delivery across all scales. Note: Mountain Valley (poor propagation, sparse nodes) is bad for both — directed routing cannot help when the physical network is too sparse.
| Scenario | Nodes | Managed 7h TX | Sys5 TX | TX Savings |
|---|---|---|---|---|
| Small Local (1km) | 20 | 16,459 | 115 | 99.3% |
| Medium City (5km) | 100 | 201,920 | 402 | 99.8% |
| Dense Urban (3km) | 200 | 1,490,555 | 105,320 | 92.9% |
| Festival (2km) | 150 | 912,953 | 107 | 100% |
| Hiking Trail (8km) | 40 | 28,894 | 215 | 99.3% |
| Duty Cycle | 100 | 404,779 | 918 | 99.8% |
| 30% Degraded Links | 100 | 208,164 | 11,866 | 94.3% |
| 20% Nodes Killed | 100 | 132,780 | 4,072 | 96.9% |
System 5 saves 92–100% of transmissions in small-to-medium networks compared to managed flooding — while delivering dramatically higher message delivery rates (100% vs 27–87% for managed flooding). Half-duplex collapses flooding delivery in ALL scenarios, making System 5 the only viable approach for reliable communication.
Key advantages over Meshtastic's current routing:
Feedback from Bay Area Mesh operators revealed that half-duplex radio physics — not routing algorithms — is the true scaling bottleneck at elevated nodes. Five features were built in response:
| Bay Area Scenario | Flood Del. | S5 Del. | S5 TX | Silenced |
|---|---|---|---|---|
| Bay Area (half-duplex) | ~6% | ~74% | ~516K | — |
| Bay Area + Silencing | ~6% | ~70% | ~284K | 57% |
| Bay Area + Stress | ~5% | ~55% | ~283K | — |
| Bay Area + Silencing + Stress | ~5% | ~49% | ~132K | 57% |
Algorithm comparison, mathematical analysis, interactive documentation with live simulations. Complete.
26 scenarios (20–1500 nodes), 6 routers, realistic EU868 LoRa model with half-duplex radio, collision capture, duty cycle. Bay Area 3-tier topology with node silencing. Confirms 92–100% TX savings and dramatically higher delivery rates — half-duplex collapses flooding to 0–87% delivery in all scenarios. Complete.
Standalone firmware for Heltec V3, T-Beam, RAK4631. System 5 routing core (14 functions), OGM discovery, OLED display, serial CLI. Wire protocol v2.0 with sequence numbers and node silencing control. Complete — installation guide.
Open source release on GitHub. Pull request to Meshtastic project. Community testing at scale. Documentation and conference presentations.
This is an open research project. Whether you're a firmware developer, network theorist, LoRa enthusiast, or just curious — every perspective makes the protocol better.