# Range Test Module

The Range Test module automates signal strength measurement for deployment validation - letting you map exactly where in your coverage area packets arrive successfully, and at what SNR and RSSI values.

## What the Range Test Module Does

Range Test operates as a sender/receiver pair:

- **Sender node** - Broadcasts a test packet at a configurable interval, incrementing a sequence number each time.
- **Receiver node (typically your phone)** - Logs each received packet with GPS coordinates (from the receiver's location), SNR, RSSI, and sequence number.
- **Output** - A CSV file saved to the receiver's device containing all received packets with position data, signal quality, and sequence numbers. Missing sequence numbers identify packet loss.

## Setting Up a Range Test

### Configure the Sender Node

```
meshtastic --set range_test.enabled true
meshtastic --set range_test.sender 60
```

`sender` is the interval in seconds between test packets. 60 seconds works well for driving tests; 30 seconds for walking tests where you move slower.

### Configure the Receiver

```
meshtastic --set range_test.enabled true
meshtastic --set range_test.save true
```

With `save true`, received packets are logged to a file called `rangetest.csv` in the root of the device's SD card (if equipped) or internal storage.

## Conducting a Range Test Drive

1. Place the sender node at your repeater location or test deployment point. Ensure it has GPS lock and is transmitting.
2. Configure your phone/portable node as the receiver.
3. Drive or walk through your intended coverage area.
4. After the test, retrieve the CSV file. Each row contains: timestamp, GPS lat/lon, SNR, RSSI, sequence number.
5. Import the CSV into Google Maps (My Maps), QGIS, or any mapping tool to visualize coverage.

## Interpreting Results

<table id="bkmrk-rssisnrconnection-qu"><thead><tr><th>RSSI</th><th>SNR</th><th>Connection Quality</th></tr></thead><tbody><tr><td>-80 to -100 dBm</td><td>&gt;5 dB</td><td>Excellent - reliable delivery</td></tr><tr><td>-100 to -115 dBm</td><td>0 to 5 dB</td><td>Good - occasional packet loss</td></tr><tr><td>-115 to -125 dBm</td><td>-5 to 0 dB</td><td>Marginal - 20-40% packet loss</td></tr><tr><td>Below -125 dBm</td><td>Below -10 dB</td><td>Edge of range - unreliable</td></tr></tbody></table>

Note: LoRa can decode packets at negative SNR values (down to approximately -20 dB depending on Spreading Factor) - this is one of its most remarkable properties. RSSI alone is not the full picture; low RSSI with high SNR can still be a reliable link.

## Using Range Test for Repeater Placement Decisions

Deploy a temporary repeater at a candidate site, run a range test drive across the intended coverage area, then compare the CSV output against a test from your next-best candidate site. This gives objective, data-driven evidence for repeater placement decisions rather than guessing based on map topology alone.