

NestGrow — Sistema IoT per culle di accrescimento vegetale
🇮🇹 Italiano
🌱 Cos’è NestGrow
NestGrow è un sistema completo per la gestione automatizzata di culle di accrescimento vegetale — fioriere intelligenti dotate di sensori di umidità, pompe di irrigazione e comunicazione WiFi tramite ESP32.
Il backend Docker riceve i dati dai sensori, decide quando irrigare, registra tutto lo storico e mette a disposizione una dashboard web per il controllo in tempo reale da qualsiasi dispositivo.
Il sistema è pensato per chi vuole coltivare in modo preciso e autonomo — dall’hobbista con una singola fioriera all’azienda agricola con decine di linee di produzione.
🖥️ Dashboard
Dashboard real-time — umidità per zona, livello serbatoio, contatore irrigazioni e grafici storici
La dashboard mostra in tempo reale:
- Umidità attuale per ogni zona con aggiornamento automatico ogni 60 secondi
- Stato pompe con controllo manuale ON/OFF
- Grafici storici umidità per zona (24h, 7gg, 30gg)
- Livello serbatoio con alert automatico se vuoto
- Numero di irrigazioni per zona nel periodo selezionato
⚙️ Configurazione zona
Ogni zona è configurabile indipendentemente — coltura, soglie di irrigazione, durata ciclo e frequenza lettura sensori
Ogni zona della culla si configura in modo indipendente:
- Nome e coltura — etichetta la zona con cosa stai coltivando
- Irrigazione automatica — attiva/disattiva per zona
- Soglia minima umidità — sotto questa percentuale parte l’irrigazione
- Obiettivo umidità — target da raggiungere dopo l’irrigazione
- Durata ciclo — secondi di pompa per ogni irrigazione
- Intervallo lettura sensori — configurabile in tempo reale sull’ESP32 senza riflashare
💾 Gestione dati e backup
Backup automatico notturno, gestione retention dati e export Excel completo
Il tab Sistema include:
- Backup automatico ogni notte alle 02:00 con lista scaricabile
- Restore da file locale
.sql.gz - Retention configurabile — scegli quanti giorni di storico conservare
- Export Excel — letture umidità, irrigazioni e riepilogo per zona
🧩 Architettura
ESP32 WROOM-32D (firmware open source) │ └── WiFi → MQTT → Docker backend │ ├── FastAPI + SQLAlchemy async ├── MariaDB 11 ├── Eclipse Mosquitto 2 ├── Vue 3 + Vite dashboard └── License Server lake8.devIl backend Docker è closed source con codice critico compilato in binario tramite Cython — i sorgenti Python non sono accessibili nemmeno dall’interno del container.
Il firmware ESP32 è completamente open source (MIT) disponibile su GitHub.
📦 Piani disponibili
| Piano | Culle | Prezzo | Note |
|---|---|---|---|
| Free | 1 | €0/mese | Per sempre gratuito |
| Pro | 5 | €0/mese | 🆕 Gratuito durante la beta |
| Enterprise | 20 | — | Disponibile presto |
| Ultra | Illimitato | Su misura | Contattaci |
🚀 Installazione in 5 passi
Requisiti
- Docker >= 24.0 e Docker Compose >= 2.0
- Porte 1883, 8000, 3001 disponibili
- ESP32 WROOM-32D con firmware NestGrow
Download
Scarica l’ultima versione dal link ufficiale:
👉 Scarica NestGrow Docker — Ultima versione
Setup
# 1. Estrai l'archiviounzip nestgrow-docker-v1.0.1.zipcd nestgrow-docker-v1.0.1
# 2. Configura le variabili d'ambientecp .env.example .envnano .env # modifica le password
# 3. Genera un JWT secret sicuropython3 -c "import secrets; print(secrets.token_hex(32))"# copia il valore nel campo JWT_SECRET del .env
# 4. Avvia il sistemadocker compose up -d
# 5. Apri il browser# http://localhost:3001Al primo avvio si apre la schermata di registrazione — crea il tuo account gratuito e il sistema è operativo.
🔌 Firmware ESP32
Il firmware open source per ESP32 WROOM-32D è disponibile su GitHub:
👉 github.com/jaffa2970/nestgrow-esp32
Funzionalità principali:
- Captive portal per configurazione WiFi da browser (nessun codice da modificare)
- 4 sensori umidità capacitivi indipendenti
- Galleggiante serbatoio
- 4 pompe/valvole via relè HW-316
- Intervallo lettura configurabile per zona in tempo reale
- Sincronizzazione NTP automatica
- Safety timeout pompe e blocco serbatoio vuoto
🔒 Sicurezza
- Codice backend compilato con Cython — binari
.sonon leggibili - JWT per autenticazione dashboard
- Gestione utenti con ruoli Administrator e User (read-only)
- Tutti i dati rimangono on-premise sul tuo server — nessun dato inviato al cloud
- Backup automatico notturno con download locale
🗺️ Roadmap
Le prossime versioni includeranno:
- 💡 Sensore di luce + lampade UV — gestione ciclo luminoso automatico
- 🧪 Sensore pH — monitoraggio e alert chimica del terreno
- 📷 Telecamera ESP32-CAM — stream live e timelapse per culla
🔗 Link utili
- Download Docker: github.com/jaffa2970/nestgrow-backend/releases/latest
- Firmware ESP32 (MIT): github.com/jaffa2970/nestgrow-esp32
- Supporto: apri un ticket dalla dashboard dopo la registrazione
🇬🇧 English Version
🌱 What is NestGrow
NestGrow is a complete system for the automated management of vegetable growing cells — smart planter boxes equipped with moisture sensors, irrigation pumps, and WiFi communication via ESP32.
The Docker backend receives sensor data, decides when to irrigate, records full history, and provides a web dashboard for real-time control from any device.
The system is designed for anyone who wants to grow precisely and autonomously — from hobbyists with a single planter to agricultural companies with dozens of production lines.
🖥️ Dashboard
Real-time dashboard — per-zone moisture, tank level, irrigation counter and historical charts
The dashboard shows in real time:
- Current moisture per zone with automatic 60-second refresh
- Pump status with manual ON/OFF control
- Historical moisture charts per zone (24h, 7d, 30d)
- Tank level with automatic alert when empty
- Irrigation count per zone for the selected period
⚙️ Zone configuration
Each zone is independently configurable — crop, irrigation thresholds, cycle duration and sensor read frequency
Each growing cell zone is independently configurable:
- Name and crop — label the zone with what you’re growing
- Automatic irrigation — enable/disable per zone
- Minimum moisture threshold — irrigation starts below this percentage
- Moisture target — target to reach after irrigation
- Cycle duration — seconds of pump per irrigation event
- Sensor read interval — configurable in real time on the ESP32 without reflashing
💾 Data management and backup
Automatic nightly backup, data retention management and full Excel export
The System tab includes:
- Automatic backup every night at 02:00 with downloadable list
- Restore from local
.sql.gzfile - Configurable retention — choose how many days of history to keep
- Excel export — moisture readings, irrigations and per-zone summary
🧩 Architecture
ESP32 WROOM-32D (open source firmware) │ └── WiFi → MQTT → Docker backend │ ├── FastAPI + SQLAlchemy async ├── MariaDB 11 ├── Eclipse Mosquitto 2 ├── Vue 3 + Vite dashboard └── lake8.dev License ServerThe Docker backend is closed source with critical code compiled to binary via Cython — Python sources are not accessible even from inside the container.
The ESP32 firmware is fully open source (MIT) available on GitHub.
📦 Available plans
| Plan | Cells | Price | Notes |
|---|---|---|---|
| Free | 1 | €0/month | Free forever |
| Pro | 5 | €0/month | 🆕 Free during beta |
| Enterprise | 20 | — | Coming soon |
| Ultra | Unlimited | Custom | Contact us |
🚀 Installation in 5 steps
Requirements
- Docker >= 24.0 and Docker Compose >= 2.0
- Ports 1883, 8000, 3001 available
- ESP32 WROOM-32D with NestGrow firmware
Download
Download the latest version from the official link:
👉 Download NestGrow Docker — Latest release
Setup
# 1. Extract the archiveunzip nestgrow-docker-v1.0.1.zipcd nestgrow-docker-v1.0.1
# 2. Configure environment variablescp .env.example .envnano .env # set your passwords
# 3. Generate a secure JWT secretpython3 -c "import secrets; print(secrets.token_hex(32))"# copy the value to JWT_SECRET in .env
# 4. Start the systemdocker compose up -d
# 5. Open your browser# http://localhost:3001On first launch the registration screen opens — create your free account and the system is ready.
🔌 ESP32 Firmware
The open source firmware for ESP32 WROOM-32D is available on GitHub:
👉 github.com/jaffa2970/nestgrow-esp32
Key features:
- Captive portal for browser-based WiFi setup (no code changes needed)
- 4 independent capacitive moisture sensors
- Tank float switch
- 4 pumps/valves via HW-316 relay
- Per-zone read interval configurable in real time
- Automatic NTP time sync
- Pump safety timeout and empty tank lockout
🔒 Security
- Backend code compiled with Cython —
.sobinaries not readable - JWT authentication for dashboard
- User management with Administrator and User (read-only) roles
- All data stays on-premise on your server — nothing sent to the cloud
- Automatic nightly backup with local download
🗺️ Roadmap
Upcoming versions will include:
- 💡 Light sensor + UV lamps — automatic light cycle management
- 🧪 pH sensor — soil chemistry monitoring and alerts
- 📷 ESP32-CAM camera — live stream and timelapse per cell
🔗 Links
- Docker download: github.com/jaffa2970/nestgrow-backend/releases/latest
- ESP32 firmware (MIT): github.com/jaffa2970/nestgrow-esp32
- Support: open a ticket from the dashboard after registration
NestGrow is a lake8.dev project — 2026
← Back to projects