Meshtastic Range Testing Guide
Overview
Systematic range testing goes beyond "does it connect?" - it quantifies signal quality, identifies path bottlenecks, and produces evidence you can use to justify infrastructure decisions. This guide covers the four primary tools available infor Meshtasticcharacterizing mesh coverage and a recommended workflow for comprehensive coverage analysis.
Understanding Signal Quality Metrics
| Metric | Excellent | Good | Marginal | Likely Failure |
|---|---|---|---|---|
| SNR | > +10 dB | +5 to +10 dB | 0 to +5 dB | < −5 dB |
| RSSI | > −90 dBm | −90 to −110 dBm | −110 to −120 dBm | < −125 dBm |
Key point: SNR matters more than RSSI. LoRa can decode signals well below the noise floor - a weak signal in a quiet RF environment (high SNR) will decode reliably even at very low RSSI. Focus on SNR first.
Note: these bands are practical app-display heuristics, not hard thresholds. LoRa can still decode down to roughly −20 dB SNR at high spreading factors (SF11/SF12), so a low SNR is not automatic failure - a −15 dB packet at SF11/12 can still get through.
Tool 1 - Built-In Range Test Module
The range test module sends periodic test packets and logs which nodes receive them, along with signal metrics. It is the most systematic way to characterize coverage frombetween a fixed location.location and a node moving through the area.
CLI Setup
On the sender (the fixed/infrastructure node), enable the module and set the sender interval:
meshtastic --set range_test.enabled true
meshtastic --set range_test.sender 30
The second command sets sender interval to 30 seconds. The node will transmit a test packet every 30 seconds. On the receiver (the mobile node), enable range_test.enabled but leave range_test.sender at 0 (off) so it only listens and logs.
App Setup
- Open the Range Test module settings. On Apple this is Settings >
ModulesModule Configuration > RangeTestTest; on Android it is Settings > Range Test. - Enable the module
- Set sender interval
- Activate Sender mode on the fixed node; leave the mobile node in receiver mode (module enabled, sender off)
Procedure
- Configure
onethe fixed-location node as the sender (range_test enabled, sender interval set) - typically a repeater or infrastructure node. It transmits sequential test packets.
Tool 2 - Trace Route
Trace Route reveals the actual path packets take through the mesh and reports per-hop signal quality. Use it to identify which routers packets are traversing and where bottlenecks are.
CLI
meshtastic --traceroute !nodeId
App
Long-press a node in the node list → select Trace Route.
Output
Trace Route shows each hop in the path, with the SNR andreported per hop (firmware ≥ 2.5). Per-hop RSSI foris eachnot segment.carried in the traceroute payload - only SNR per link is returned. Use this to:
- Confirm which repeaters are actually routing your traffic
- Identify weak links in multi-hop paths
- Verify that a new repeater is being used as expected
Tool 3 - Signal Metrics in Node List
The node list provides a quick snapshot of signal quality for all recently heard nodes - useful for baseline assessment without active testing.
CLI
meshtastic --nodes
Shows
- SNR and RSSI for the last received packet from each node
- Hop count
- Time since last activity
- GPS distance (if both nodes have GPS)
- Battery percentage
Tool 4 - MeshMapper Wardriving (MeshCore)
MeshMapper is ana AndroidMeshCore appwardriving thattool (available for Android, iOS, and web), not a Meshtastic module. It combines GPS-tagged signal data into a visual coverage heatmap - ideal for documenting the measured RF coverage of ana entireMeshCore network across a neighborhood, event venue, or service area. If you are mapping a Meshtastic network instead, use the Meshtastic Map view or a community Meshtastic mapper; this tool is included here as the MeshCore equivalent.
Setup
- Install MeshMapper
on(Android,aniOS,Androidordevice.web). - Connect a
MeshtasticMeshCore deviceviaoverBluetooth.BLE. (MeshCore devices support only one BLE connection at a time, so disconnect the MeshCore companion app first.) - Drive, walk, or cycle through the area you want to map.
- MeshMapper logs GPS coordinates with signal strength for each received packet.
- Upload to generate a coverage heatmap.
Heatmap Colors
| Color | Meaning |
|---|---|
| Green | Strong signal |
| Yellow | Marginal signal |
| Red | Weak signal |
| Blank | No coverage detected |
Recommended Testing Workflow
- Baseline: Check node list (Tool 3) for current signal quality across known nodes.
- Path analysis: Run trace routes (Tool 2) to all infrastructure nodes - confirm expected routing, identify weak hops.
- Coverage measurement: Deploy range test module (Tool 1) for systematic point-to-area coverage data from each infrastructure node.
- Area mapping: Conduct MeshMapper wardriving (Tool 4) for a comprehensive geographic coverage
picture.picture of a MeshCore network. - Ongoing monitoring: Establish MQTT monitoring to continuously log SNR/RSSI from infrastructure nodes - enables detection of degraded links before users report problems.