Campus Air Quality Sensor Mesh
A small mesh of ESP32 nodes reading PM2.5 and CO2 across three engineering building floors, feeding a shared dashboard.
Implementation
Five nodes, each an ESP32 with a PMS5003 particulate sensor and an SCD30 CO2 sensor, published readings over MQTT to a Raspberry Pi broker. A basic Grafana dashboard showed readings per floor. It ran for about four months during a renovation period when air quality was a genuine concern, then was shelved once construction ended and the maintainers graduated.
Architecture
Each node polls its sensors every 60 seconds and publishes to a topic keyed by floor and room over Wi-Fi MQTT. A Mosquitto broker on a Raspberry Pi 3 persisted messages to a local InfluxDB instance, which Grafana read from directly. A LoRa fallback path was prototyped for one node to test range without Wi-Fi, but never rolled out to the rest.
Technologies
Known limitations
- Archived: the hardware was decommissioned in 2024 and the dashboard is no longer running. This entry is kept for reference.
- No calibration against a reference instrument — absolute PM2.5 values were approximate, useful mainly for relative trends.
- Single point of failure at the Raspberry Pi broker; no redundancy was ever added.
Members
- Daniel Cho
- Minji Lee