Agwasuri

A solar-powered IoT and machine-learning system that monitors water quality in real time and recommends suitable aquaculture species for fishpond operators in San Juan I, Ternate, Cavite.

Automation & AI · 2026 · Municipal Agricultural Office of Ternate

Device in the pond
Device in the pond
Species prediction page
Species prediction page
Sensor & controller hardware
Sensor & controller hardware
What I Built

Implementation

I designed the web UI in Figma and built the frontend using Tailwind CSS and JavaScript. I modeled the 3D hardware casing in Blender and fabricated it using fiberglass cloth, polyester resin, and MEKP catalyst. I also interviewed fishpond owners and the Municipal Agriculture Office of Ternate, tested the system in actual fishponds, and coordinated our team's case study tasks.

The Problem

Context & stakes

Fishpond operators in San Juan I, Ternate relied on trial-and-error species selection and manual water checks. Summer salinity spikes and rainy-season freshwater dilution caused mass fish kills within 2 to 3 days of stocking, wiping out capital and family income.

A single cycle represents months of savings: fingerlings, feed, labor, and pond preparation. With only two to three cycles per year, one bad season can erase a year's household income.

“Wala kaming ginagamit na device... sana meron para mas accurate.”

“We don't use any device... I wish there was one so it's more accurate.”

Fishpond Owner, San Juan I
“Pag alpas mo pa lang, kuha na siya agad, mga dalawa o tatlong araw lang, namamatay na.”

“Right after stocking, it's gone almost immediately. Two or three days, then they're dead.”

Fishpond Owner, San Juan I
“Gastos ka na ng pera, kailangan mong kumita para sa pamilya.”

“You've already spent money, and you need to earn for your family.”

Fishpond Owner, San Juan I
The Solution

Solution & approach

A solar-powered floating device monitors pond conditions continuously. The dashboard shows live readings and historical trends, and the Machine Learning (ML) model recommends which species will thrive based on current water quality.

Live dashboard

The dashboard refreshes in real time as new sensor data arrives. Operators see current pond conditions, historical trends, and the recommended species without refreshing the page.

Hardware & Sensors

Exploded isometric diagram of the floating device
Sensor and controller setup photo

Everything runs on a 12V solar panel with a 20,000 mAh battery. When Wi-Fi drops, readings log to microSD and sync later. The device floats on a fiberglass enclosure with styrofoam base.

SensorMeasuresModel
pHWater acidity/alkalinitypH-4502C
Dissolved OxygenOxygen available for fishGalvanic Probe
Salinity / ECSalt concentrationDFRobot Gravity
TemperatureWater heatDS18B20

Decision Tree Model

The Decision Tree reads four inputs and outputs the best species:

Decision tree trained on SEAFDEC optimal water parameters: splits on salinity, temperature, dissolved oxygen, and pH into species classes (bangus, tilapia, lapu-lapu, sugpo, mud crab)
Decision Tree classifierOpen full size
AlgorithmAccuracyTrainPredict
Decision Tree93.5%0.018s0.001s
Random Forest93.5%0.929s0.014s

Same accuracy as Random Forest, but 51x faster to train and 14x faster to predict. That speed makes it edge-deployable and easy for operators to understand, since every recommendation traces back to clear rules. Benchmarked against SEAFDEC optimal parameter ranges for each of the five species.

Architecture

System design overview

  1. SensorspH · DO · EC · Temp
  2. ESP32MicroPython
    microSD · Offline log
    Wi-Fi
  3. Laravel APIPHP · Reverb
    MySQL · Data store
    Reverb WS
  4. DashboardLivewire
  5. FastAPIDecision Tree
  6. SpeciesRecommendation
Sensor to dashboard to prediction in under a second. The device logs to microSD when Wi-Fi drops, then syncs automatically when reconnected.

Physical Tiers

Solar-powered floating platform: ESP32-WROOM-32 (MicroPython) reads pH-4502C, Galvanic DO, DFRobot EC, and DS18B20 sensors, with offline microSD logging that syncs automatically on reconnect. Fiberglass buoy enclosure, 20,000 mAh LiFePO4 battery, and a 12V solar panel keep it running off-grid.

Software Tiers

A Laravel 11 API with a Reverb WebSocket pipeline ingests sensor data into MySQL and streams it to the Livewire dashboard. FastAPI hosts the Decision Tree classifier (scikit-learn), benchmarked against SEAFDEC optimal parameters. Decision Tree was chosen over Random Forest for 0.001s edge-deployable inference.

Results

Measurable outcomes

Ten participants from four groups (fishpond operators, MAO officers, marine science experts, IT experts) rated Agwasuri Excellent across the board. The Decision Tree model matched Random Forest accuracy at a fraction of the compute cost.

MetricScore
Decision Tree Accuracy93.5%
Training Time0.018s
Prediction Time0.001s
Software Evaluation (ISO/IEC 25010)4.84 / 5.00 (Excellent)
Hardware Usability (SUS)4.85 / 5.00
Team & Credits

People behind the project

Researchers: Jazrel Dennis P. Mendoza · Reymar V. Mirante · John Mark A. Pachico

Adviser: Dr. Ricky Jay A. Riel

Technical Critic: Dr. Rossian V. Perea

Institution: Cavite State University Naic, January 2026

My Role: IoT System Design, Embedded Firmware, Machine Learning, Full-Stack Web Development, UI/UX Design, 3D Modeling & Hardware Fabrication, Field Research & Interviews

Technical Details

Technologies used

Hardware & sensors
pH-4502CGalvanic DO sensorDFRobot EC sensorDS18B20
Embedded
ESP32-WROOM-32MicroPython
Backend & data
Laravel (PHP)MySQLFastAPI
Machine learning
Decision Tree Classifierscikit-learnjoblib
Web frontend
Tailwind CSSJavaScript
Design & prototyping
FigmaFritzingBlender