Skip to main content

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:

FieldSourceNotes
Battery level (%)Hardware ADCAccuracy varies by board; some boards always report 100% if battery not detected
Voltage (V)Hardware ADCUseful for deriving SoC for LiFePO4 packs
Channel utilization (%)Radio statsPercentage of airtime used; over 25% indicates congestion
Air utilization TX (%)Radio statsPercentage of time this node was transmitting
Uptime (seconds)System clockResets on power cycle

Environment Telemetry

Requires an external I2C sensor. Supported sensors include (accuracy figures are from each sensor's manufacturer datasheet):

SensorMeasuresI2C AddressNotes
BME280Temp, Humidity, Pressure0x76 or 0x77Most popular; inexpensive; not suitable for air quality
BME680 / BME688 (BME68x)Temp, Humidity, Pressure, gas resistance0x76 or 0x77Reports 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
SHT31Temp, Humidity0x44 or 0x45High accuracy; ±0.3°C, ±2% RH (per Sensirion SHT3x datasheet)
MCP9808Temperature only0x18±0.25°C accuracy (per Microchip MCP9808 datasheet, which is address-selectable across 0x18-0x1F); Meshtastic auto-detects it at 0x18
SHTC3Temp, Humidity0x70Low 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