💡 Inspiration

Traditional watering methods like sprinklers waste up to 50% of the water they use. They treat every plant the same, ignoring that some need more or less water, or operate on different schedules. We wanted a setup that’s smarter, healthier for plants, and massively more efficient.

Plant Hopper solves this by individually targeting plants using computer vision, optimized schedules, and soil moisture readings. The system scales across multiple plants using a database-driven model instead of fixed hardware zones.

⚙️ What We Built

✅ Hardware + Firmware

  • Custom CAD turret with 2 DOF (pitch + base rotation)

  • AprilTag detection to locate each plant and calculate distance and offset

  • PID alignment + trigonometry to compute optimal shooting angle

  • Servo-controlled custom, tunable, water gun for precision watering

✅ Cloud + Web App

  • Firebase backended, Next.js + Vercel webapp

  • Robot publishes soil moisture sensor data and CV images for analysis to the database

  • Web app sends commands (e.g., water now, do plant scan, get current moisture health)

  • Commands are executed in real-time through a Python threaded controller

  • This lets users monitor and control their plants from any device, anywhere, with no local setup.

✅ Python Control Layer

A multithreaded Python script ties everything together:

  • Runs computer vision

  • Manages serial communication with the Arduino

  • Handles Firebase reads/writes

  • Oversees timing, alignment, and command execution

🧠 What We Learned

Building Plant Hopper forced us to combine multiple disciplines at once:

  • Systems Integration: Hardware + web app + database + serial communication

  • Hardware control: PID and apriltag calculations to accurately track plant movements.

  • Real-Time Syncing: Keeping commands and sensor data properly timed

  • Firebase Architecture: Structuring live robot–app communication

  • Camera Calibration: Fixing lens distortion using a YAML calibration file for AprilTag accuracy

  • Multithreading Parallelism: Utilized the CPU's multithreaded architecture to communicate between many sources of information.

  • Cross-System Debugging: Managing both hardware constraints and web-side logic

🚀 Next Steps

There’s lots of room for growth:

  • 📱 Add new UI features (analytics, reminders, plant profiles)

  • 📦 Create DIY kits for scalable deployment

  • 💧 Upgrade to a high-pressure water system for range and accuracy

  • 🌿 Expand to greenhouse or multi-plant environments

  • 🤖 Development towards wheeled turrets

Built With

+ 6 more
Share this project:

Updates