Four tiers, no proprietary platform anywhere in the chain. Every layer is something a partner agency could inspect, audit, fork, and self-host.
A node wakes on its duty cycle, takes a reading, buffers it to local storage, and uplinks a compressed payload over 915 MHz LoRaWAN. A gateway running an open network server forwards it to an MQTT broker; a quality-control stage aligned to QARTOD conventions filters and flags it; InfluxDB stores the time series; Grafana serves it to a public, read-only dashboard.
Because every component is open, the same pipeline can be federated into GLOS via ERDDAP, so data lands where regional partners already look for it.
| Tier | Software / hardware | License |
|---|---|---|
| Node firmware | nRF52840 / ESP32-S3, C/C++, TF Lite Micro | open (planned release) |
| Gateway | Raspberry Pi 4 + RAK2287, ChirpStack | MIT |
| Transport | Mosquitto MQTT broker | EPL |
| Quality control | QARTOD-aligned QC stage | open (planned release) |
| Time-series store | InfluxDB v2 | MIT |
| Dashboard | Grafana Cloud, public read-only | AGPL |
| Federation | ERDDAP → GLOS (planned) | open |
Michigan winters are the binding constraint on any solar deployment. AquaMesh and StreamTrack both use LiFePO4 cells specifically because they accept charge down toward −20 °C, where ordinary lithium chemistries refuse. Solar harvest in November–March is modest and is treated as a known limitation, not wished away.
LoRaWAN coverage in remote tributary headwaters is unreliable by nature. Every node buffers to local storage and forwards when the link returns, so a gateway outage costs latency, not records. An optional cellular fallback exists for fully isolated sites.