Executive Summary

MeshRoute

Optimal Multi-Path Routing for LoRa Mesh Networks — replacing naive flooding with intelligent, self-healing communication.

by Clemens Simon · 2026

← Full Interactive Documentation

Contents

  1. Abstract
  2. The Problem
  3. Approaches Evaluated
  4. System 5 — The Solution
  5. Mathematical Evaluation
  6. Resilience & Adaptive QoS
  7. Results
  8. Roadmap & Next Steps

1. Abstract

Meshtastic (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 equal or higher delivery rates.

The most significant finding: Meshtastic's hop limit doesn't just cap range — it prevents delivery. At 500 nodes, managed flooding with hop limit 7 delivers only 51% of messages. At 1000 nodes, only 6%. System 5 delivers 43–76% in the same scenarios. At 1000+ nodes, System 5 uses more total TX than managed flooding — but delivers 7x more messages, making the per-delivered-message cost still lower. The hop limit is not a safety net; it is the primary scaling barrier.

2. What Meshtastic Does Today

Meshtastic's routing (v2.6/2.7) is already substantially better than naive flooding:

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. At 100 nodes with hop limit 3, delivery drops to 92%. At 500 nodes, to 14%. The hop limit doesn't just cap range — it makes large networks fundamentally unreliable.

3. Approaches Compared

Four routing strategies are simulated and compared on identical network topologies:

Naive Flooding (Reference Baseline)

Every node rebroadcasts once. TX = n per message. Not used by Meshtastic — included only as a theoretical worst case for context.

Managed Flooding (Meshtastic Current — All Messages)

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.

Next-Hop Routing (Meshtastic v2.6 — DMs Only)

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.

System 5 — Adaptive Load-Balanced Mesh (Proposed)

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.

4. System 5 — The Solution

System 5 combines six proven concepts, each borrowed from a different domain:

Route Weight Function

W(r) = α · Q(r) × β · (1 − Load(r)) × γ · Batt(r)

Where Q = link quality (OGM reception rate), Load = queue pressure of bottleneck node, Batt = minimum battery along route. 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.

5. Mathematical Evaluation

Each system was scored 0–10 across seven weighted criteria:

Criterion (Weight) Naive Managed Next-Hop System 5
TX Cost per Message (20%)14510
Delivery Reliability (20%)9989
Scalability (15%)1349
Fault Tolerance (15%)8879
Hop Limit Freedom (10%)12310
Energy Efficiency (10%)1358
Broadcast Support (10%)101039
WEIGHTED TOTAL 4.3 5.5 5.1 9.2

6. Resilience & Adaptive QoS

System 5 handles every critical failure mode with graceful degradation:

Local Network Health Score (NHS)

NHSlocal(node) = 0.25·Connectivity + 0.20·Redundancy + 0.20·LinkQuality + 0.20·BorderHealth + 0.15·Gateway

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.0GREENEverything: text, files, firmware, bulk100%
0.7 – 0.9YELLOWMessages + telemetry, no bulk60%
0.4 – 0.7ORANGEPriority messages only30%
0.2 – 0.4REDEmergency + position only10%
0.0 – 0.2CRITICALSOS beacon only3%

7. Results

Before (Managed Flooding)

  • Score: 5.5 / 10
  • TX ≈ 0.5n per message
  • ~50% suppression via SNR
  • Still O(n) scaling
  • Hop limit 3–7 required
  • Delivery collapses at 500+ nodes
  • No load awareness

System 5 (Proposed)

  • Score: 9.2 / 10
  • TX = hops (not proportional to n)
  • 92–100% less TX (≤200 nodes)
  • ~1 TX per hop (hop limit irrelevant)
  • 7x more delivery at 1000+ nodes
  • Battery-aware load balancing
  • Honest: more total TX at 1000+ nodes

Critical Finding: Delivery Rate Collapse Under Realistic Hop Limits

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)20100%100%100%100%
Medium City (5km)10092%100%100%100%
Large Regional (20km)50014%31%51%76%
Dense Urban (3km)200100%100%100%100%
1000 Nodes (40km)10002%6%6%43%
1500 Nodes (50km)15002%4%5%42%
Rural Long Range5077%91%88%100%
Maritime / Coastal3069%82%84%100%
Disaster Relief8062%87%84%78%
Mountain Valley602%2%2%2%

The hop limit creates a delivery ceiling. At 1000+ nodes, managed flooding delivers fewer than 1 in 10 messages regardless of hop limit. System 5 delivers 7x more messages. Note: Mountain Valley (poor propagation, sparse nodes) is equally bad for both — directed routing cannot help when the physical network is too sparse.

TX Cost Comparison (Realistic Hop Limits)

Scenario Nodes Managed 7h TX Sys5 TX TX Savings
Small Local (1km)2016,45911599.3%
Medium City (5km)100201,92040299.8%
Dense Urban (3km)2001,490,555105,32092.9%
Festival (2km)150912,953107100%
Hiking Trail (8km)4028,89421599.3%
Duty Cycle100404,77991899.8%
30% Degraded Links100208,16411,86694.3%
20% Nodes Killed100132,7804,07296.9%

System 5 saves 92–100% of transmissions in small-to-medium networks compared to managed flooding — while delivering equal or higher message delivery rates. At 1000+ nodes, total TX is higher for System 5, but the TX per delivered message is still 3x lower (4,229 vs 13,065).

Consequences

Key advantages over Meshtastic's current routing:

8. Roadmap & Next Steps

Phase 1 — Research & Design

Algorithm comparison, mathematical analysis, interactive documentation with live simulations. Complete.

Phase 2 — Python Simulator

21 scenarios (20–1500 nodes), 6 routers (Naive/Managed at 3,5,7 hops/NextHop/System5), realistic EU868 LoRa model with realistic hop limits. Dynamic cluster scaling (16 for 500 nodes, 64 for 1000+). Reveals delivery rate collapse in managed flooding at scale. Confirms 92–100% TX savings for small-medium networks; honest about large-scale tradeoffs. Complete.

Phase 3 — ESP32 Firmware Prototype

Fork Meshtastic firmware (C++, PlatformIO). Implement System 5 as an alternative routing module alongside the existing FloodingRouter. Test with 5–10 real LoRa devices in a local mesh.

Phase 4 — Community & Upstream

Open source release on GitHub. Pull request to Meshtastic project. Community testing at scale. Documentation and conference presentations.

Want to Help?

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.

← Explore the Full Interactive Documentation