Reading Network Statistics in the Meshtastic App
Reading Network Statistics in the Meshtastic App
Understanding what your Meshtastic network is actually doing requires knowing how to read the statistics the app surfaces. The mobile app (Android and iOS) and the web client all expose channel utilization, airtime, packet counters, and radio-level metrics. This page explains every number, what healthy ranges look like, and how to spot a congested network before it starts dropping messages.
Where to Find Network Statistics
Android App
Open the Meshtastic Android app and navigate to Settings → Radio Configuration → Device. Channel utilization and airtime metrics appear at the top of the device status screen. Individual node signal metrics (SNR and RSSI) are shown in the node list by tapping any node row and selecting Node Info.
iOS App
Tap the Nodes tab, then tap any node to see its detail card. Signal strength, last heard time, hop count, and telemetry battery readings are all shown here. The channel utilization percentage is displayed on the Mesh tab’s header area when connected to a local node.
Web Client (meshtastic.local or IP)
On the web client served directly from the device, the Dashboard section shows live channel utilization, air utilization, and packet statistics. This is the most detailed view and updates roughly every 15 seconds.
Channel Utilization %
Channel utilization measures what fraction of available airtime on the LoRa channel has been consumed by transmitted packets over a rolling window (typically the last 5 or 15 minutes depending on firmware version).
| Utilization Range | Network Health | Interpretation |
|---|---|---|
| 0 – 15% | Healthy | Plenty of spare capacity. All traffic should get through. |
| 15 – 25% | Moderate | Noticeable load. Start auditing position broadcast intervals. |
| 25 – 50% | High | Collisions increasing. Expect occasional packet loss. |
| 50 – 100% | Congested | Severe contention. Most non-acked packets will be lost. |
The underlying metric is computed by the device firmware using the LoRa modem’s receive statistics. Every received or transmitted packet’s on-air time is summed and divided by the window period. A single packet at SF10 / BW125 / CR 4/5 takes approximately 370 ms on air. At the default LongFast preset you can fit roughly 40 such packets per minute before hitting 25% utilization—a limit that is easily exceeded on a busy community mesh.
Air Utilization
Air utilization is closely related but specifically counts the fraction of time the radio was actively transmitting (TX duty cycle). Regulators in many countries impose limits (e.g., 1% or 10% duty cycle per hour in EU 868 MHz sub-bands). Meshtastic’s firmware enforces these limits internally; when the limit is approached the device will delay or drop outgoing packets to stay compliant. If you see the air utilization climbing toward your regional limit, reduce your transmit frequency.
Packet Counters
The firmware maintains several packet counters that help diagnose forwarding behavior:
- Packets Rx: Total valid LoRa packets received (passed CRC check).
- Packets Rx Bad: Packets received with a failed CRC. A high ratio of bad packets to good packets indicates RF interference or a node with a damaged antenna.
- Packets Tx: Packets this node has transmitted (original or forwarded).
- Packets Tx Relay: Subset of Tx that were relayed on behalf of another node. A router node should have a high relay ratio. A client node with a very high relay count may be flooded because its hop limit is too generous.
- Packets Rx Duplicate: Packets seen more than once. Some duplication is normal in mesh (same packet arrives via multiple paths); more than 10–20% of total Rx suggests a routing loop or misconfigured hop limits.
SNR — Signal-to-Noise Ratio
SNR is the most important single-number indicator of link quality. It is reported in decibels (dB) and expresses how far above the noise floor the received signal sits. LoRa can decode packets at negative SNR values because spread-spectrum processing gain allows it to recover signal from noise.
| SNR (dB) | Link Quality | Notes |
|---|---|---|
| ≥ 5 | Excellent | Strong link. Consider a lower spreading factor for shorter air time. |
| 0 to 5 | Good | Reliable communications. Typical for in-range nodes. |
| −5 to 0 | Marginal | Packet loss possible. Occasional retransmit expected. |
| −10 to −5 | Weak | Frequent packet loss. Borderline path—consider a relay. |
| < −10 | Very Weak | Near the LoRa sensitivity floor. Most packets will be lost. |
The minimum decodable SNR depends on the spreading factor. At SF7 the floor is approximately −7.5 dB; at SF12 (LongSlow) it is −20 dB. The default LongFast preset uses SF11/BW250, giving a floor around −17.5 dB.
RSSI — Received Signal Strength Indicator
RSSI measures the absolute power level of the received signal in dBm (decibels relative to 1 milliwatt). A more negative number means a weaker signal. Unlike SNR, RSSI alone does not tell you whether a packet can be decoded—a −120 dBm signal in a quiet environment may decode fine while a −100 dBm signal swamped by noise will not.
| RSSI (dBm) | Interpretation |
|---|---|
| −60 to −80 | Very strong. Nodes are physically close or have excellent antennas. |
| −80 to −100 | Normal operational range for most deployments. |
| −100 to −115 | Weak but decodable at high spreading factors. |
| < −120 | At or below sensitivity floor. Packet loss very likely. |
What Healthy Numbers Look Like
A well-configured community mesh with 10–30 nodes should exhibit:
- Channel utilization consistently below 15%.
- SNR between −5 and +10 dB on all primary relay links.
- RSSI above −115 dBm on relay links.
- Duplicate packet ratio below 10%.
- Zero or near-zero “Rx Bad” packets (CRC failures) unless there is known interference.
Spotting a Congested Network
The most common congestion warning signs:
- Rising channel utilization: If utilization creeps above 25% during normal operation (not an emergency event), the first remediation step is to increase the position broadcast interval for all nodes. The default 15-minute interval is reasonable for a small network but too aggressive for a mesh with 50+ nodes.
- High duplicate count: More than 20% duplicates often indicates that too many nodes are configured as ROUTER or that hop limits are set too high, causing the same packet to traverse the network redundantly.
- Increasing Rx Bad rate: If the ratio of CRC-failed packets is rising, a hidden-node problem or external interference source (other LoRa devices on the same frequency, industrial equipment) is likely the cause.
- Messages not delivered even to nearby nodes: When a close-range node shows good SNR and RSSI but messages are still failing, the channel is likely saturated and ACKs are being lost.
Node Telemetry Metrics
Each node periodically transmits a DeviceTelemetry packet containing battery voltage, battery level percentage, and (if available) temperature. In the node list you can see these values next to each node. A battery level below 20% combined with low SNR from that node often means the node is running on backup power after a mains failure—an important operational signal in an emergency mesh.
No comments to display
No comments to display