SmartPot — AI Plant Companion
Voice-controlled ESP32 plant assistant with edge AI and sensor intelligence.
Problem
Plant care is inconsistent and reactive — users forget to water, miss soil anomalies, and have no natural way to interact with their devices.
Solution
Built a fully offline-capable ESP32 plant companion with wake-word detection, intent routing via edge AI, sensor fusion (soil, temperature, humidity, light), and a real-time web dashboard.
Approach
Ran FreeRTOS tasks concurrently for audio processing, sensor polling, MQTT telemetry, and web server — all on a single ESP32-S3. Voice commands are resolved locally without a cloud call.
Outcome
- Sub-200ms wake-word to response latency entirely on-device.
- Persistent volume & preference settings saved to NVS flash.
- Real-time dashboard with live sensor graphs and voice command history.
- Custom intent router handling 20+ plant-care intents with confidence scoring.
Case Study
Overview
SmartPot is a fully offline-capable ESP32 plant companion that combines edge AI, sensor fusion, and voice control into a single embedded system.
The Challenge
Plant care is inherently reactive — users forget to water, miss early signs of stress, and have no natural interface with their devices. Most smart plant systems either require constant cloud connectivity or offer only basic moisture alerts.
Technical Architecture
The system runs on an ESP32-S3 using FreeRTOS to manage concurrent tasks:
- Audio Task: Streams microphone input through a wake-word detection model (TensorFlow Lite)
- Sensor Task: Polls soil moisture, DHT22 (temp/humidity), and LDR (light) every 30 seconds
- MQTT Task: Publishes telemetry to a local broker and syncs with the Next.js dashboard
- Web Server Task: Serves the real-time dashboard over Wi-Fi
Edge AI Pipeline
Voice commands are resolved entirely on-device using a custom intent router:
- Wake-word detected (sub-100ms)
- Audio buffer captured (1.5 second window)
- Command classified into one of 20+ plant-care intents
- Response synthesized and spoken via DFPlayer Mini
Outcomes
- Sub-200ms end-to-end latency from wake-word to spoken response
- Persistent user preferences stored in NVS flash across power cycles
- Real-time dashboard with live sensor graphs and command history