Telemetry Module: Device, Environment, and Power
The Telemetry module broadcasts sensor data from your node across the mesh - battery voltage, temperature, humidity, barometric pressure, and more. Other nodes receive this data and display it in the app, and it can be forwarded to external systems via MQTT. Note that telemetry (battery state, temperature, and occupancy-correlated patterns) is broadcast on the channel and, on any channel with an MQTT uplink, is republished to the broker externally. Disable telemetry types you do not need on sensitive or privacy-critical nodes.
Enabling Telemetry
In the Meshtastic app: Radio Config → Modules → Telemetry
Via CLI:
meshtastic --set telemetry.device_update_interval 1800
meshtastic --set telemetry.environment_update_interval 1800
meshtastic --set telemetry.power_update_interval 1800
Intervals are in seconds. The default device telemetry update interval is 1800 seconds (30 minutes), which is appropriate for most deployments. Setting an interval to 0 selects the default (1800 s) - it does not disable that telemetry type. To disable a telemetry type, set its *_measurement_enabled flag to false instead.
Device Telemetry
Device telemetry is always available - it reports internal state from the node itself, no external sensors required:
| Field | Source | Notes |
|---|---|---|
| Battery level (%) | Hardware ADC | Accuracy varies by board; some boards always report 100% if battery not detected |
| Voltage (V) | Hardware ADC | Useful for deriving SoC for LiFePO4 packs |
| Channel utilization (%) | Radio stats | Percentage of airtime used; over 25% indicates congestion |
| Air utilization TX (%) | Radio stats | Percentage of time this node was transmitting |
| Uptime (seconds) | System clock | Resets on power cycle |
Environment Telemetry
Requires an external I2C sensor. Supported sensors include (accuracy figures are from each sensor's manufacturer datasheet):
| Sensor | Measures | I2C Address | Notes |
|---|---|---|---|
| BME280 | Temp, Humidity, Pressure | 0x76 or 0x77 | Most popular; inexpensive; not suitable for air quality |
| BME680 / BME688 (BME68x) | Temp, Humidity, Pressure, gas resistance | 0x76 or 0x77 | Reports gas resistance (a VOC/air-quality proxy), not a fully-calibrated IAQ index, in Meshtastic; the gas sensor element needs a warm-up period before readings stabilize |
| SHT31 | Temp, Humidity | 0x44 or 0x45 | High accuracy; ±0.3°C, ±2% RH (per Sensirion SHT3x datasheet) |
| MCP9808 | Temperature only | 0x18 | ±0.25°C accuracy (per Microchip MCP9808 datasheet, which is address-selectable across 0x18-0x1F); Meshtastic auto-detects it at 0x18 |
| SHTC3 | Temp, Humidity | 0x70 | Low power; used on some integrated boards |
meshtastic --set telemetry.environment_measurement_enabled true
meshtastic --set telemetry.environment_screen_enabled true
Power Telemetry
Requires a supported I2C current/voltage sensor on the bus: INA219, INA226, INA260, or INA3221. Reports voltage, current draw, and calculated power consumption - useful for monitoring solar systems and diagnosing battery drain.
meshtastic --set telemetry.power_measurement_enabled true
Telemetry Intervals and Airtime Impact
Every telemetry broadcast consumes airtime. At Long Fast preset, a small telemetry packet takes roughly 0.3-0.5 seconds of airtime. At 30-minute intervals with one sensor type, this is negligible. But if you enable all three telemetry types at 5-minute intervals on a busy network, the combined airtime impact becomes meaningful. As a guideline:
- Fixed infrastructure nodes: 15-30 minute intervals are appropriate
- Portable/personal nodes: 30-60 minute intervals to reduce network load
- Emergency operations (where battery monitoring is critical): 5-minute intervals acceptable
No comments to display
No comments to display