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.
- 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
- MCU boots and initializes peripherals
- ADC channels are configured
- Sensors are powered and stabilized
-
Analog sensors read:
- pH value
- TDS value
- Temperature
-
Raw ADC values are captured
- ADC values converted to voltage
- Sensor-specific formulas applied
- Calibration offsets used (user adjustable)
- Processed values printed over Serial Monitor
- Output format is human-readable
- Values compared against safe thresholds
- Can trigger relays for heater/filter control
- Can transmit data via MQTT / JSON
Power ON
↓
MCU Initialization
↓
Sensor Read (ADC)
↓
Voltage Conversion
↓
Calibration Formula
↓
Serial Output
↓
Repeat Loop
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.
- Supported microcontroller board
- pH sensor module
- TDS sensor module
- Temperature sensor (DS18B20 / analog)
- Aquarium setup
sudo apt update
sudo apt install -y platformioarduino-cli core install arduino:avrgit clone https://github.com/jsramesh1990/Aquarium-Tank-Monitoring.git
cd Aquarium-Tank-Monitoringmake pio-buildmake pio-uploadmake pio-monitormake arduino-build
make arduino-upload
make monitor| 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.
Aquarium-Tank-Monitoring/
├── Aquarium/ # Board-specific code
├── README.md
├── Makefile
└── LICENSE
- pH and TDS sensors must be calibrated using reference solutions
- ADC reference voltage differs per board
- Avoid electrical noise near sensors
- Relay-based heater & filter automation
- MQTT / JSON output
- Web dashboard (ESP32)
- Data logging (SD / Cloud)
- Unit tests & CI using GitHub Actions
- Embedded sensor interfacing
- Multi-platform firmware design
- PlatformIO & Makefile workflow
- ADC calibration techniques
- Real-time monitoring systems