The first version began as an ESP32, a temperature/humidity sensor, and an OLED. That proved the basic sensing path, but it did not yet address the harder system questions: How are multiple nodes identified? Where does configuration live? What happens when inputs are invalid? How is data preserved? How is firmware updated without touching every device?
System-level changes
- Added a FastAPI backend for telemetry and configuration.
- Added SQLite persistence and browser dashboarding.
- Separated secrets from source code.
- Added API-key authentication, device allowlisting, and input validation.
- Moved thresholds and reporting intervals under backend control.
- Added OTA firmware updates and repeatable test evidence.
What broke
Integration exposed configuration mismatches, overly fast charts, OTA authentication errors, device-specific behavior, and the need to separate temperature and humidity controls. Each failure produced a clearer requirement and a more repeatable test.
The next engineering problem
V2 will move from monitoring toward control. That requires actuator safety, separate setpoints, enclosure design, environmental modeling, fault handling, reliability measurement, and a clear distinction between local control and cloud visibility.