Skip to content

ALNezar/FishMaster

Repository files navigation

Fish logo

FishMaster

Aquarium Monitoring and Control System using ESP32

FishMaster is an IoT aquarium monitor that tracks water quality and controls feeding using an ESP32 with a Spring Boot backend and React frontend.


💧 Overview

FishMaster is a smart aquarium system that monitors and controls key aquarium conditions through two layers: an embedded local system and a web-based system.

The embedded system uses an ESP32 microcontroller with sensors to measure parameters like pH and temperature. Readings appear on a local LCD screen, and a servo-driven feeder handles scheduled feeding. This setup works entirely offline, so the aquarium stays managed even if the network fails.

The web system adds cloud connectivity. The ESP32 uploads data to a backend, and users can view their aquarium through a mobile or web interface. The dashboard includes charts, historical data, and remote monitoring. If the network becomes unavailable, the system automatically switches back to the embedded mode.

This dual design gives remote convenience while staying reliable during connectivity issues.


How it Works

The system is designed to work whether or not there is an internet connection.

  • Local System (Offline): The ESP32 reads sensors and controls a servo motor for feeding. It shows the current readings on an LCD screen. If the Wi-Fi goes down, the feeding and monitoring still work.
  • Web System (Online): The ESP32 sends data to the backend. Users log in to a website to see charts, check history, and manage settings for multiple tanks.

fishmaster System Overview diagram
Figure 1: Fishmaster System Overview diagram


Main Features

  • Monitoring: Tracks Temperature, pH, Turbidity, and Ammonia.
  • Feeding: Uses a servo motor to drop food on a set schedule.
  • Alerts: Sends a notification if water levels go outside the safe range.
  • Data History: Saves sensor readings so you can see trends over time.
  • Local Display: An LCD screen on the device shows data without needing a computer.

System Modules

Hardware (ESP32)

Hardware & Parts List

Component Model / Details Qty Purpose
ESP32 ESP32-DevKitC-32E (38-pin, CP2102) 1 Main microcontroller
pH Sensor PH 0-14 Liquid Monitoring Sensor (Arduino-compatible) 1 Water pH detection
Turbidity Sensor FARDUINO Water Turbidity Module (Full Set) 1 Water clarity detection
Temperature Sensor DS18B20 Waterproof Probe 1 Water temperature
TFT LCD Display 2.8" ILI9341 SPI Touch Panel 240x320 1 Local display
Servo Motor SG90 180° 1 Auto feeder mechanism
Breadboard MB-102 830-point Solderless 1 Prototyping
Dupont Wires M-F 10cm, M-M 10cm, F-F 30cm (40pcs each) 3 sets Connections
Resistors 4.7kΩ 0.25W 5% 50pcs Pull-up for DS18B20
Multimeter HABOTEST HT109L 1 Testing & debugging
USB Cable Micro USB 30cm 1 ESP32 power/programming

Software (Web)

Part Function
Backend Spring Boot app that receives data and stores it.
Frontend React dashboard for viewing charts and settings.
Database Stores login info and sensor history.

Progress

  • Hardware sensor setup
  • Basic backend API
  • Dashboard UI
  • Support for multiple tanks
  • Support for calibration settings

Made with 🐟 by Abdalla Nezar | Powered by ESP32 · Spring Boot · React

About

Smart aquarium system built with ESP32 sensors, Spring Boot backend, React PWA frontend, and PostgreSQL. Features live data via WebSocket and offline failsafe control.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors