Skip to content
All work

Case study · 05 / 06

GreenWing

A university research project pairing a quadcopter, a YOLOv8 crop-detection model, and an ESP32 weather and irrigation network — so a field gets water only where its crops actually need it.

Crop detection model trained and integrated
YOLOv8
Drone/ML, weather station, irrigation firmware
3 subsystems
ESP32 firmware to web dashboard, one project
Silicon → UI
Built at the University of Kelaniya
Research
Screenshot of GreenWing

Context

Conventional irrigation waters a whole field on a schedule, regardless of what is planted where or what the weather is doing, wasting both water and the energy spent pumping it. GreenWing set out to match water distribution to the specific crop species in each zone and the current weather conditions — and to make that level of precision usable by people without farming expertise. Built as a research project at the University of Kelaniya.

I worked across the full stack of the system: the machine-learning crop-detection models, the Arduino/ESP32 firmware for the weather station and irrigation hardware, and the web dashboard that ties the sensor data and irrigation controls together.

01

Seeing the field from a drone

Instead of burying soil sensors across an entire field, the system flies a quadcopter over it and identifies what is growing where. A YOLOv8 model, backed by an OpenCV pipeline, detects and classifies crops from the aerial imagery, so the irrigation plan knows which species sits in each zone. Flight range and energy use were explicit constraints in how the drone platform was specified.

02

Weather as an input, not an afterthought

A dedicated weather station built on ESP32 microcontrollers feeds live environmental data into the system. Irrigation decisions combine that weather data with per-species water requirements, so the system skips or scales watering when conditions already cover the crop's needs.

03

Firmware and valves on ESP32

The irrigation side is its own embedded subsystem: Arduino-based firmware driving valves and pumps, taking commands derived from the crop map and sensor readings. Splitting the repo into separate modules — crop ML, irrigation firmware, weather firmware — kept the embedded code and the ML pipeline independently testable.

04

A dashboard for non-farmers

Because the project's stated aim was letting people without farming expertise run effective agriculture, the web dashboard mattered as much as the hardware. Built with React on a Django backend over MySQL, it shows weather and irrigation data in real time and exposes the controls, and it shipped with a public demo and a recorded presentation.

Stack & architecture

  • YOLOv8 + OpenCV computer-vision pipeline for crop detection from quadcopter imagery
  • ESP32 microcontrollers running Arduino firmware for the weather station and irrigation hardware
  • Quadcopter platform specified around flight range and energy constraints
  • Python for the ML and processing layer
  • React front end with a Django backend and MySQL database for the real-time dashboard
  • Repo split into independent modules: crop ML/DL, irrigation firmware, weather firmware
  • IoT
  • ML
  • Drones
  • Image Processing

Where it stands

Commits
72
Started
Dec 2023
Last push
Apr 2024
Status
Stable · maintained