Telemetry & Monitoring
Built-in Telemetry Types
Meshtastic nodes broadcast telemetry data alongside messages. Understanding what each telemetry type reports helps you configure nodes correctly and interpret network monitoring data.
Device Metrics
Broadcast by all nodes automatically. Includes:
- Battery voltage - raw voltage of the battery pack
- Battery percentage - estimated state of charge
- Air utilization - percentage of time the node's radio was transmitting (TX duty cycle)
- Channel utilization - percentage of time the channel was occupied by any transmission heard by this node (includes all other nodes' traffic)
Environment Telemetry (requires I2C sensor)
Available when a supported sensor board is connected via I2C:
- Temperature (°C or °F)
- Humidity (relative humidity %)
- Barometric pressure (hPa)
- Gas resistance - BME680 only; proxy for air quality / VOC concentration
Supported sensors include BME280, BME680, SHT31, and others. Enable in app: Radio Config → Telemetry → Environment Telemetry.
Position
- GPS coordinates (latitude, longitude)
- Altitude (metres MSL)
- Speed (km/h)
- Heading (degrees true)
Position is broadcast on the primary channel. Disable or reduce frequency for privacy or power savings: Radio Config → Position → Position Broadcast Interval.
Power Metrics
For nodes with external power monitoring hardware:
- Voltage on external rails
- Current draw
Useful for solar-powered nodes where you want to monitor panel output and battery charge current over the mesh.
Configuring Telemetry Intervals via CLI
Set the device telemetry broadcast interval (in seconds):
meshtastic --set telemetry.device_update_interval 3600
3600 seconds = 1 hour. Reduce to 900 (15 min) for more frequent updates; increase to 7200 (2 hr) or more to reduce channel load on congested networks.
Set environment telemetry interval:
meshtastic --set telemetry.environment_update_interval 1800
Enable/Disable via App
In the Meshtastic app: Radio Config → Telemetry. Each telemetry type (device, environment, power) can be independently enabled or disabled and its interval set.
Monitoring Channel Utilization
Channel utilization is the single most important metric for diagnosing a congested Meshtastic network. High channel utilization causes missed messages, failed relays, and poor network performance.
What Channel Utilization Measures
Channel utilization (reported as a percentage in device metrics telemetry) measures the fraction of time that the radio channel is occupied by any LoRa transmission audible to a given node. This includes:
- The node's own transmissions
- Relay transmissions from neighboring nodes
- Position and telemetry broadcasts from all nearby nodes
The 25% Warning Threshold
The Meshtastic project recommends treating 25% channel utilization as a warning threshold. Above this level:
- Packet collision probability increases significantly
- Message delivery reliability decreases
- Effective network throughput drops despite higher raw utilization
Diagnosing High Channel Utilization
If channel utilization is above 25%, work through these checks:
- Count Router/Repeater nodes - Too many infrastructure-role nodes in one area creates excessive relay traffic. Audit whether all Router/Repeater nodes are genuinely needed.
- Check telemetry intervals - Frequent device metrics, position, or environment telemetry from many nodes adds up quickly. Increase intervals across the network.
- Identify high-traffic nodes - Look at air utilization (the TX percentage) in device metrics. A node with very high air utilization is generating a disproportionate share of traffic.
- Switch dense-area personal nodes to Client Mute - Each non-Mute client node attempts relay, multiplying traffic.
Switching to a Faster Modem Preset
LoRa modem presets trade range for throughput. A faster preset carries the same data in less airtime, directly reducing channel utilization:
meshtastic --set lora.modem_preset LONG_FAST # default; good range, moderate speed
meshtastic --set lora.modem_preset MEDIUM_FAST # shorter range, faster; less airtime
meshtastic --set lora.modem_preset SHORT_FAST # short range, maximum speed
Switching from LONG_FAST to MEDIUM_FAST roughly halves the airtime per packet, halving channel utilization all else equal. The trade-off is reduced range. Use this when you have good node density and congestion is the problem.
Viewing Channel Utilization
In the Meshtastic app: Node Details → Device Metrics shows the reported channel utilization from each node's perspective. Check several nodes across the network to understand the overall picture - a node at the center of a dense cluster will see higher utilization than one on the fringe.
Via CLI:
meshtastic --info
The output includes current channel utilization and air utilization for the connected node.