NestGrow — Sistema IoT per culle di accrescimento vegetaleNestGrow — Sistema IoT per culle di accrescimento vegetale

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 NestGrow con grafici umidità e irrigazioni 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

Modale configurazione zona NestGrow 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

Tab Sistema NestGrow — backup, dati storici ed export 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.dev

Il 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

PianoCullePrezzoNote
Free1€0/mesePer sempre gratuito
Pro5€0/mese🆕 Gratuito durante la beta
Enterprise20Disponibile presto
UltraIllimitatoSu misuraContattaci

🚀 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

Terminal window
# 1. Estrai l'archivio
unzip nestgrow-docker-v1.0.1.zip
cd nestgrow-docker-v1.0.1
# 2. Configura le variabili d'ambiente
cp .env.example .env
nano .env # modifica le password
# 3. Genera un JWT secret sicuro
python3 -c "import secrets; print(secrets.token_hex(32))"
# copia il valore nel campo JWT_SECRET del .env
# 4. Avvia il sistema
docker compose up -d
# 5. Apri il browser
# http://localhost:3001

Al 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 .so non 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



🇬🇧 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

NestGrow dashboard with moisture charts and irrigation data 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

NestGrow zone configuration modal 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

NestGrow System tab — backup, data retention and Excel export 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.gz file
  • 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 Server

The 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

PlanCellsPriceNotes
Free1€0/monthFree forever
Pro5€0/month🆕 Free during beta
Enterprise20Coming soon
UltraUnlimitedCustomContact 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

Terminal window
# 1. Extract the archive
unzip nestgrow-docker-v1.0.1.zip
cd nestgrow-docker-v1.0.1
# 2. Configure environment variables
cp .env.example .env
nano .env # set your passwords
# 3. Generate a secure JWT secret
python3 -c "import secrets; print(secrets.token_hex(32))"
# copy the value to JWT_SECRET in .env
# 4. Start the system
docker compose up -d
# 5. Open your browser
# http://localhost:3001

On 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.so binaries 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


NestGrow is a lake8.dev project — 2026


← Back to projects