Meshtastic telemetry and range testing: measure your mesh before you trust it


Meshtastic telemetry and range testing: measure your mesh before you trust it

Every Meshtastic network fails the same way at the start: someone buys nodes, powers them up, mounts one in a shed, and then discovers — usually at the worst possible moment — that the link they assumed was solid is anything but. The firmware's built-in range test module and telemetry exist precisely to prevent this. Used properly, they turn "I think the mesh reaches the coast road" into measured numbers, and those numbers drive the decisions that actually matter: antenna height, node placement, preset selection, and whether a solar node is dying quietly on a hilltop. This guide walks the whole measurement workflow, distinct from the setup steps in our first-node checklist — that article gets a node online; this one makes you trust it.

Why "it works from my balcony" is not data

Anecdotal range reports are the most misleading thing in the LoRa world. A node that reaches 15 km on one afternoon in dry weather from a two-storey rooftop can struggle to make 3 km the next morning in fog, or when the car parks between you and the receiver. LoRa propagation at 915 MHz (the AU/NZ band) is heavily shaped by terrain, vegetation, buildings, and weather. Single lucky contacts prove nothing about reliability.

What you want is a failure envelope: at what distance does the link degrade, and how gracefully? The distinction between "delivered" and "delivered with margin" is what separates a mesh that works from one that works until it rains.

The range test module, properly configured

Meshtastic ships a purpose-built range test module that removes the guesswork. One node is designated the sender: it transmits sequential numbered packets at a fixed interval (the module suggests 30 to 60 seconds between messages). The other node — typically the one you carry — logs which sequence numbers it received, with GPS positions if it has a fix. Both sender and receiver must have the module enabled, and the received log can be exported and plotted, so you end up with a map showing exactly where packets started dropping.

Setup discipline matters more than configuration cleverness:

  1. Fix the sender. Mount it where it will actually live — if the node will ultimately sit on a roof, test from the roof, not from a kitchen bench. Testing from a different location than deployment invalidates everything you measure.
  2. Set an honest interval. Faster intervals produce more data points but skew channel utilisation; 30 seconds is a good default on the standard presets.
  3. Run in the preset you will actually use. Results on LongFast say nothing about ShortFast. Presets trade data rate for link budget, and a link that fails at one data rate may pass at a slower one — that is a legitimate lever, but only if you measured it.
  4. Do multiple passes. Drive or walk the route at least twice, ideally at different times of day. Every "half the packets arrived here" point on the map is a placement decision waiting to be made.

The Meshtastic project's own antenna testing documentation describes the same walk-and-record methodology and — usefully — the practice of comparing antennas on the same route, noting signal strengths and ACK behaviour for each. That comparison workflow is how you answer "should I spend money on a better antenna or on raising this one a metre higher" with evidence instead of folklore.

Reading SNR and RSSI without fooling yourself

Meshtastic's clients expose two numbers that beginners routinely misread. The node metrics documentation is worth reading in full, but the operational summary:

The practical habit: when a link is marginal, look at SNR relative to the preset's limit, and watch the trend across a range test rather than the instantaneous value. A link sitting consistently a few dB above the decode floor will drop out whenever the environment changes — a truck parks, rain moves in, the node's own antenna gets bumped. Margin, not mere success, is the goal.

For deeper debugging, community tools like mesh_stats connect to your node and show per-relay statistics — which neighbours retransmitted your packets, at what SNR and RSSI, over what distances. That is how you discover that a "good" 5 km link is actually being carried by one intermediate node you did not plan for, which changes what you maintain.

Telemetry: the mesh's own health monitoring

Range testing answers "where does the link fail". Telemetry answers "is every node still alive and sane", which for off-grid meshes is the question that keeps systems honest months later. The telemetry documentation covers the built-in reporting: every node broadcasts battery level, voltage, channel utilisation, airtime TX, and uptime. Nodes with attached sensors can add temperature, humidity, pressure (BME280/BME680 being the standard recommendations), particulate air quality, light, and — for solar installations — power metrics from INA-series sensors showing bus voltage, current, and consumption.

Three telemetry-derived habits prevent most slow-motion mesh failures:

We covered the sizing side of this in our solar mesh power budget guide — telemetry is how you verify the budget you calculated actually holds in the field.

A field-tested workflow

For a new node deployment, the sequence that works:

  1. Bench check — flash current firmware, enable telemetry, confirm battery voltage and uptime report sensibly before it leaves the bench.
  2. Range test from the deployment position — sender mounted where it will live, receiver carried along the routes you care about, multiple passes, exported and mapped.
  3. Margin review — anywhere packets arrive with poor SNR, either raise the antenna, reposition, or accept the weak spot in writing.
  4. Baseline telemetry — after deployment, record a week of battery and utilisation numbers as your baseline; future faults are detected as deviations from this.
  5. Seasonal recheck — foliage and weather change LoRa behaviour between seasons. Re-run the range test when the landscape changes materially.

Hardware that makes testing easier

GPS-equipped nodes make range testing dramatically simpler — the receiver logs positions with each received packet, giving you a proper mapping workflow rather than manual note-taking. Our T-Beam Meshtastic node has onboard GPS and is the classic range-test receiver, while the Heltec V3 node is the popular low-cost sender. If you are equipping a whole group, our Meshtastic starter kit bundles matched hardware so both ends of the test speak the same preset from day one.

Honest limits

Range tests measure the link as it exists during the test. They cannot capture every future failure mode: a new building, a wet canopy of leaves in summer, or someone parking a vehicle in the wrong spot. Telemetry catches node health, not RF environment drift. The two together — a measured failure envelope plus continuous health reporting — get you as close to a trustworthy mesh as handheld radio allows, and the measurement habit itself is what separates meshes that quietly fail from ones that get maintained.

This article is general technical information. Radio testing should stay within the licence and power limits applicable to your Meshtastic region settings.


← All posts