Automated Indoor Vertical Garden
Engineering Context & Motivation
As a farewell gift to my fraternity (Number Six), I set out to build a permanent installation that would provide fresh herbs for the house. However, designing for a high-occupancy shared living space presents a unique engineering challenge: compliance is near zero. If the system relies on human intervention for daily watering or lighting adjustments, it will inevitably fail during the busiest parts of the semester.
The solution was to engineer the human out of the loop. I designed an autonomous "botanical life support system" capable of maintaining 12+ plants with distinct water requirements, adapting to plant height changes, and running for weeks without refill.
Design Constraints
- Autonomy: 2+ weeks unsupervised operation.
- Adaptability: Modular mounting for various pot sizes.
- Efficiency: Moving light source to maximize coverage.
- Resourcefulness: Built largely from reclaimed materials.
Mechanical Design: Resourceful Robotics
The project was built during a period of limited access to standard supply chains, which turned sourcing into a creative constraint. I relied heavily on repurposed industrial components and additive manufacturing to achieve precision on a budget.
Vertical Linear Actuator
To maximize light uniformity and intensity while minimizing energy, I designed a moving light gantry. Instead of buying an expensive linear rail, I reverse-engineered a discarded computer monitor arm found at the Stata Center loading dock.
I stripped it down to its precision linear guide rails and designed custom 3D-printed mounts to couple it with a Nema 17 stepper motor and a lead screw. This provides smooth, controllable vertical motion for the LED panel, simulating sun movement and ensuring even growth.
Left: The "foraged" monitor mount. Right: Custom stepper integration.
Modular French Cleat Framework
The structure needs to be rigid but flexible to accommodate different plant sizes. I utilized a French Cleat system—a classic woodworking technique—reimagined with 3D-printed/laser-cut hybrid anchors.
- Frame: Aluminum extrusion (80/20 style) for skeletal rigidity.
- Cleats: Reclaimed wooden shelves from the house basement, milled to a 45° angle.
- Anchors: Custom 3D-printed rings combined with laser-cut baseplates to securely hold pots of varying diameters.
Electronics & PCB Design
To move beyond breadboards and ensure reliability, I designed a custom carrier board using Eagle (via Fusion 360).
The board acts as a motherboard for the Seeed Studio XIAO ESP32S3, breaking out IO for:
- 12V High-Power Stepper Drivers
- Servo Valve Arrays (PWM)
- I2C Sensor Bus (Moisture/Temp)
- Power Regulation (12V → 5V → 3.3V)
Fabricated Board
Assembled & Reflowed
The final controller installed in the chassis, managing the pump and valve array.
Fluid Dynamics & Precision Irrigation
Reliable water delivery is the core constraint. Standard time-based watering is imprecise due to pressure variations from the reservoir water level. I implemented a Volumetric Delivery System:
- Peristaltic Pump: (3D Printed) Provides positive displacement, ensuring flow rate is independent of head height. Extremely precise dosing.
- Multiplexed Distribution: A single pump feeds a main line, which branches into servo-controlled valves.
- Safety: Check valves prevent backflow; gravity-fed reservoir acts as a buffer.
3D Printed Peristaltic Pump
Servo Valve Multiplexer
Firmware & Control Architecture
The system operates on a distributed architecture to separate real-time hardware control from high-level scheduling logic. (Note: Firmware is currently in the prototype stage).
Layer 1: The Brain
Python + FastAPI
Hosted on a local server. Manages the database of plant profiles, schedules watering events, and logs moisture data. Exposes a REST API for the control unit.
Layer 2: The Coordinator
ESP32 (C++)
Fetches schedules via WiFi. Handles system state machine. Delegates critical motor timing to the sub-controller.
Layer 3: The Muscle
Arduino / Low-Level C++
Dedicated pump interface. Handles micro-stepping and servo PWM with strict timing constraints to ensure smooth peristaltic action.