Telemetry & Monitoring

Environmental Sensors & Telemetry

MeshCore nodes can be equipped with environmental sensors to report weather data, air quality, and precise positioning across the mesh. This turns repeater nodes into distributed sensor stations. Note that MeshCore's sensor/telemetry support is more limited and more firmware/build-dependent than Meshtastic's telemetry module - check the MeshCore repository for the current list of supported sensors before planning a deployment.

Supported sensor types

SensorMeasurementsInterfaceCostNotes
BME280Temperature, humidity, barometric pressureI²C or SPI$3 - 8Most common; accurate; fast response
BME680Temperature, humidity, pressure, VOC/air quality indexI²C or SPI$8 - 15Adds air quality score; best for environmental monitoring
SHT31Temperature, humidityI²C$5 - 10Higher humidity accuracy than BME280 (Sensirion SHT31 ≈ ±2% RH vs Bosch BME280 ≈ ±3% RH); no pressure
GPS modulesLatitude, longitude, altitude, speed, headingUART$5 - 25See GPS module comparison below
INA219 / INA260Voltage, current, power drawI²C$2 - 5Battery and solar monitoring; useful for remote health checks

GPS module comparison

Current-draw and time-to-first-fix figures below are approximate; confirm against each module's datasheet (u-blox M8/M10, Quectel L76K, Unicore UC6580) for your specific board and configuration. Which GPS chip a given board ships with varies by revision.

ModuleConstellationsCurrent drawCold fix timeNotes
u-blox M8NGPS, GLONASS, BeiDou~25 mA~30 sCommon in T-Beam; good urban performance (note: T-Echo commonly ships the Quectel L76K, not the M8N)
u-blox M10GPS, GLONASS, BeiDou, Galileo~15 mA~25 sNewer generation; lower power, better accuracy. The MAX-M10S below is a specific M10-family module
u-blox MAX-M10SGPS, GLONASS, BeiDou, Galileo~5 mA~25 sUltra-low power; T-Deck Plus; best for battery nodes
Quectel L76KGPS, GLONASS, BeiDou~20 mA~35 sBudget option; lower sensitivity than u-blox
UC6580GPS, GLONASS, BeiDou, Galileo, QZSS, NavIC (L1+L5)~30 mA~20 sDual-band L1+L5; high precision. Verify the exact Heltec board name it ships on against current Heltec listings

Note: GPS draws significant power (~15 - 30 mA active). For repeater deployments where position is static, configure the node to fix position at startup and then disable GPS polling to save power.

Connecting a BME280 to common boards

Most MeshCore-compatible boards expose I²C headers. The pin assignments below are indicative only - always check your specific board's official pinout before wiring. I²C pins are remappable in firmware on many boards, the firmware default may differ from the values shown, and you must confirm each VCC pin is 3.3 V (not a 5 V pin) to avoid damaging the sensor:

BME280 pinRAK4631 / WisBlockHeltec V4 / V3T-Echo
VCC3.3V (verify pin)3.3V (verify pin)3.3V (verify pin)
GNDGNDGND (verify pin)GND
SDASDA (check board pinout)SDA (check board pinout)SDA (check board pinout)
SCLSCL (check board pinout)SCL (check board pinout)SCL (check board pinout)
SDOGND (I²C addr 0x76)GNDGND
CSB3.3V (I²C mode)3.3V3.3V

Enabling telemetry in MeshCore firmware

Sensor support is compiled into the firmware for supported boards. For custom sensor connections, build flags similar to the following are used - but verify the exact build-flag names against the current MeshCore source (platformio.ini and the sensor driver code), as the names below are illustrative and may differ between firmware versions:

# In platformio.ini build flags, add a sensor definition
# (verify exact flag names in the MeshCore source):
build_flags =
 -DHAS_BME280=1
 -DBME280_I2C_ADDR=0x76

# Then rebuild and flash (see the PlatformIO CLI docs):
pio run -e your_target --target upload

As of 2026-06-08, pre-built firmware with BME280 support may be offered for some boards such as the RAK4631 WisBlock (which has a dedicated sensor slot) and select Heltec builds. Availability of pre-built sensor variants changes over time - check the MeshCore firmware releases/flasher page for the current list rather than assuming a given board has a pre-built image.

Telemetry data in the mesh

Sensor data is included in periodic telemetry packets broadcast by the node. Other nodes and apps that receive these packets display:

As an illustrative example, a local mesh community might operate several telemetry-equipped repeaters on hilltops and tower sites, providing real-time weather data for the surrounding area via the mesh network. (This is a hypothetical use case, not a documented specific deployment.)

Network monitoring with MQTT

For operators managing multiple nodes, MeshCore can be bridged to MQTT for centralized monitoring:

See the Room Servers & Gateways section for MQTT bridge setup details.