Skip to content

Latest commit

 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🐠 Aquarium Tank Monitoring System 🐠

PlatformIO Arduino ESP32 ESP8266 STM32 License


Project Overview

The Aquarium Tank Monitoring System is a multi-board embedded project designed to monitor critical water parameters in an aquarium such as temperature, pH, and TDS (Total Dissolved Solids). The system is written in C/C++ and supports multiple microcontroller platforms using PlatformIO and Arduino CLI.

This project focuses on portability, scalability, and real-time monitoring, making it suitable for DIY aquariums, IoT experimentation, and embedded systems learning.


Key Features

  • Real-time water parameter monitoring
  • Supports multiple MCU platforms
  • PlatformIO + Arduino CLI build support
  • Makefile-based unified build system
  • Serial monitoring for live data
  • Easily extendable for automation & IoT

Working Flow (System Operation)

1️ System Initialization

  • MCU boots and initializes peripherals
  • ADC channels are configured
  • Sensors are powered and stabilized

2️ Sensor Data Acquisition

  • Analog sensors read:

    • pH value
    • TDS value
    • Temperature
  • Raw ADC values are captured

3️ Data Processing & Calibration

  • ADC values converted to voltage
  • Sensor-specific formulas applied
  • Calibration offsets used (user adjustable)

4️ Data Output

  • Processed values printed over Serial Monitor
  • Output format is human-readable

5️ Monitoring & Decision Making (Future Scope)

  • Values compared against safe thresholds
  • Can trigger relays for heater/filter control
  • Can transmit data via MQTT / JSON

Working Sequence (Step-by-Step)

Power ON
   ↓
MCU Initialization
   ↓
Sensor Read (ADC)
   ↓
Voltage Conversion
   ↓
Calibration Formula
   ↓
Serial Output
   ↓
Repeat Loop

Supported Boards

This project supports the following platforms:

  • Arduino UNO
  • Arduino Mega
  • ESP32
  • ESP8266
  • STM32 Blue Pill
  • Raspberry Pi Pico (Arduino framework)

Only pin mapping, ADC reference voltage, and libraries need adjustment per board.


Requirements

Hardware

  • Supported microcontroller board
  • pH sensor module
  • TDS sensor module
  • Temperature sensor (DS18B20 / analog)
  • Aquarium setup

Software

Recommended (PlatformIO)

sudo apt update
sudo apt install -y platformio

Alternative (Arduino CLI)

arduino-cli core install arduino:avr

Build & Usage Instructions

1️ Clone the Repository

git clone https://github.com/jsramesh1990/Aquarium-Tank-Monitoring.git
cd Aquarium-Tank-Monitoring

2️ Build Using PlatformIO (Recommended)

make pio-build

3️⃣ Upload to Board

make pio-upload

4️ Monitor Serial Output

make pio-monitor

Alternative: Arduino CLI

make arduino-build
make arduino-upload
make monitor

Wiring Summary

Sensor MCU Pin Notes
pH Sensor ADC Pin Requires calibration
TDS Sensor ADC Pin Use stable reference
Temp Sensor Digital/ADC Depends on sensor type

Refer to board-specific folders for exact pin mappings.


Repository Structure

Aquarium-Tank-Monitoring/
├── Aquarium/            # Board-specific code
├── README.md
├── Makefile
└── LICENSE

Calibration Notes

  • pH and TDS sensors must be calibrated using reference solutions
  • ADC reference voltage differs per board
  • Avoid electrical noise near sensors

Future Enhancements

  • Relay-based heater & filter automation
  • MQTT / JSON output
  • Web dashboard (ESP32)
  • Data logging (SD / Cloud)
  • Unit tests & CI using GitHub Actions

Learning Outcomes

  • Embedded sensor interfacing
  • Multi-platform firmware design
  • PlatformIO & Makefile workflow
  • ADC calibration techniques
  • Real-time monitoring systems

About

Aquarium monitor, PlatformIO project, ESP32/Arduino, water parameter sensing, automated control, GitHub repository, complete project structure

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages