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.
Supported sensor types
| Sensor | Measurements | Interface | Cost | Notes |
|---|---|---|---|---|
| BME280 | Temperature, humidity, barometric pressure | I²C or SPI | $3–8 | Most common; accurate; fast response |
| BME680 | Temperature, humidity, pressure, VOC/air quality index | I²C or SPI | $8–15 | Adds air quality score; best for environmental monitoring |
| SHT31 | Temperature, humidity | I²C | $5–10 | Higher accuracy than BME280 for humidity; no pressure |
| GPS modules | Latitude, longitude, altitude, speed, heading | UART | $5–25 | See GPS module comparison below |
| INA219 / INA260 | Voltage, current, power draw | I²C | $2–5 | Battery and solar monitoring; useful for remote health checks |
GPS module comparison
| Module | Constellations | Current draw | Cold fix time | Notes |
|---|---|---|---|---|
| u-blox M8N | GPS, GLONASS, BeiDou | ~25 mA | ~30 s | Common in T-Echo, T-Beam; good urban performance |
| u-blox M10 | GPS, GLONASS, BeiDou, Galileo | ~15 mA | ~25 s | Newer generation; lower power, better accuracy |
| u-blox MAX-M10S | GPS, GLONASS, BeiDou, Galileo | ~5 mA | ~25 s | Ultra-low power; T-Deck Plus; best for battery nodes |
| Quectel L76K | GPS, GLONASS, BeiDou | ~20 mA | ~35 s | Budget option; lower sensitivity than u-blox |
| UC6580 | GPS, GLONASS, BeiDou, Galileo, QZSS, NavIC (L1+L5) | ~30 mA | ~20 s | Heltec T096; dual-band L1+L5; highest precision available |
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. Standard connection:
| BME280 pin | RAK4631 / WisBlock | Heltec V4 / V3 | T-Echo |
|---|---|---|---|
| VCC | 3.3V | 3.3V (pin 13) | 3.3V |
| GND | GND | GND (pin 14) | GND |
| SDA | IO1 (SDA) | GPIO 41 | SDA (P0.26) |
| SCL | IO2 (SCL) | GPIO 42 | SCL (P0.27) |
| SDO | GND (I²C addr 0x76) | GND | GND |
| CSB | 3.3V (I²C mode) | 3.3V | 3.3V |
Enabling telemetry in MeshCore firmware
Sensor support is compiled into the firmware for supported boards. For custom sensor connections:
# In platformio.ini build flags, add sensor definition:
build_flags =
-DHAS_BME280=1
-DBME280_I2C_ADDR=0x76
# Then rebuild and flash
pio run -e your_target --target upload
Pre-built firmware with BME280 support is available for RAK4631 WisBlock (which has a dedicated sensor slot) and select Heltec builds. Check the MeshCore firmware releases page for available variants.
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:
- Temperature and humidity at the repeater's physical location
- Barometric pressure trend (useful for weather monitoring)
- Air quality index (BME680 only)
- Battery voltage and solar input (if INA219 connected)
The RegionMesh community operates several telemetry-equipped repeaters on hilltops and tower sites, providing real-time weather data for the surrounding area via the mesh network.
Network monitoring with MQTT
For operators managing multiple nodes, MeshCore can be bridged to MQTT for centralized monitoring:
- Run a Raspberry Pi or server with a room server + MQTT bridge
- All mesh traffic (messages, telemetry, node advertisements) is forwarded to MQTT topics
- Visualize with Grafana + InfluxDB for historical trending
- Alert on node disappearance (node stops advertising = possible power failure)
See the Room Servers & Gateways section for MQTT bridge setup details.
No comments to display
No comments to display