All projects

GrowBuddy

A platform for monitoring the growing environment in greenhouses and grow rooms. ESP32 sensors measure air temperature, humidity and soil moisture and switch pumps, fans or lights according to rules.

Client
Personal IoT platform
Year
2026
Status
In development
My role
Hardware, Firmware, Backend, Frontend
Technology
ESP32-C3, FastAPI, TimescaleDB, React
Screenshot of the GrowBuddy website

About the project

GrowBuddy is a complete rewrite of my older project as a cloud platform. It works for a single grower with a few pots as well as for a team that shares several greenhouses and needs different permissions.

The device

  • Seeed XIAO ESP32-C3 with an air temperature and humidity sensor and a capacitive soil moisture sensor. It can optionally switch a relay, for example for a pump, always with a maximum run-time safeguard.
  • Cheap soil moisture sensors are imprecise. That is why every reading is the median of fifteen quick measurements and can be corrected for temperature.
  • The device sleeps most of the time. It sends data over HTTPS with certificate verification and stores it in flash memory when Wi-Fi is down.
  • It is set up through its own Wi-Fi portal with a random password for each unit, so no passwords or tokens live in the code.

The platform

  • Real-time dashboards, CSV export and alerts by email, webhook and in the app.
  • Automation based on rules and schedules with safeguards. Switching commands expire and the device has to acknowledge them.
  • A 24-hour forecast based on history and the weather forecast, anomaly detection and calculated vapour pressure deficit (VPD).
  • A Python (FastAPI) backend on PostgreSQL with TimescaleDB and a React frontend. Everything runs in containers, with automated tests for the backend, frontend and gateway.

Status

The platform is in development. The software works and is covered by tests; I am now validating it on real hardware. Next up are MQTT, over-the-air firmware updates and a mobile app.