GrowController: IoT Environmental Monitor
ESP32-based CO2, temperature, and humidity monitor with VPD calculation and Prometheus/Grafana integration.

Problem
Monitoring environmental conditions in controlled growing environments requires real-time data collection, alerting, and historical analysis. Commercial solutions are expensive and inflexible.
Approach
Built a complete monitoring system: ESP32 microcontroller with Sensirion SCD41 CO2 sensor, HTTP server exposing Prometheus metrics and JSON API, automatic VPD (Vapor Pressure Deficit) calculation with growth-stage-specific thresholds.
Data
Real-time measurements: CO2 (400-5000 ppm), temperature (-10 to 60C), humidity (0-100% RH). VPD calculated using standard atmospheric formulas.
Validation
Tested against reference instruments. VPD calculations verified against published horticultural cultivation guides.
Results
Low-cost monitoring system (<50 EUR hardware). Prometheus metrics enable Grafana dashboards with historical trends and alerts. JSON API supports custom web UIs.
My Role
Developer. Extended existing SCD4X library with VPD calculations, Prometheus metrics, and growth stage configuration.
Next Steps
Add MQTT for Home Assistant integration; implement deep sleep for battery operation; multi-sensor mesh network.
Key Outcomes
- Complete IoT monitoring solution
- Prometheus/Grafana integration
- Real-time VPD alerting
- Open-source on GitHub