// the find
tenderlove/esp8266aq
ESP8266 and Plantower AQ sensor
Firmware, PCB, and enclosure for a DIY air-quality node. An ESP8266 reads a Plantower particulate sensor and an SI7021 temperature and humidity sensor, then publishes the readings over MQTT. It suits someone who already runs MQTT, InfluxDB and Grafana and wants a few of these around the house.
- Configuration happens on the device. It brings up its own access point, and its web UI files live in firmware/data, so Wi-Fi credentials are not compiled into the binary.
- The hardware is fully open. The KiCad project, gerber archives, and OpenSCAD source with STL files for the case are all in the repo, so someone can order the board and print the enclosure without reverse-engineering a photo.
- The data path is decoupled. The node only publishes to MQTT, and mqtt-to-influx.rb is a separate listener, so the storage backend can change without reflashing anything.
- The README reads as a project write-up rather than a setup guide. Build and flash steps are in firmware/README.md and pcb/README.md, so getting from zero to a first reading means following three documents.
- The Ruby helpers overlap. client.rb, esp_client.rb, serial-client.rb and i2c-client.rb look like different ways of talking to the device, and nothing in the top-level docs says which one is current.
- The README doesn't say whether the setup access point is password-protected or how stored Wi-Fi credentials are kept on the device. That matters for a sensor sitting on a home network.
- The KiCad files use older formats (.pro, .sch, cache and rescue libraries), so expect a conversion step before editing the board in a current KiCad release.