Since a year the fish tank control is operational. The control for the tank is made with an Arduino DUE board. The saltwater installation exists of the next parts; the main tank, a sump (filter tank), lightning and heating, several pumps and valves and a reverse osmose filter.

The already made control, has the following features:
- heating control; 2 heating elements keeping the right temperature
- Lightning control; 3 different lamp groups for simulating day/night
- valves for several purposes like water changes and adding evaporated water, the valves are equipped with open/close sensors.
- 2 pumps for circulation, filtering and mixing for the production of salt water
- a skimmer
- a RO filter for ultrapure water
- measurement of important process values
For controlling the tank there are several sensors present in the filter and the tanks:
- temperature sensors (2 pcs)
- differential pressure sensors for measurement of the tank levels (2 pcs)
- TDS sensor for checking the quality of the RO water installation
- pH sensor for measurement of the acidity of the water
- Redox sensor for measurement of the amount of dissolved 02
- 2 flow sensors for measurement the supply and filter drain to and from the tank to the sump

The control has also some features for timing, alarming and signaling:
- a human interface (HMI) for supervisory control and data acquisition (scada on windows 10). Masking and forcing process values is possible to influence the control and do maintenance
- a real time clock for keeping the right time; always the right time when not connected to the human interface
- a sim800L for sending and receiving text messages (alarming)
- the sim800L is also used for storing several control parameters
- a RGB led for signaling status information
- a OLED display with some extra information like date/time, temperature and status
- tank parameters are stored in an access database and also "on board" of the fish tank control, the parameters can be maintained in the HMI. changing the parameters on HMI will also update and store the parameters on the board.
- it is possible to write process values to the access database (event driven and polling)
- it is possible to trend max. 3 process values on a digital pen plotter. it is possible to store several sets of process values in an access database; you can choose from the available sets (and if necessary select and store other process values/sets)
- from the menu you can activate a webcam
- and (of course!) all other benefits of the AFSM software package (see the website)
Technical Implementation: Sensors and Aquatic Logic
This project reveals the hidden layers of water-to-network interaction through a structured technical approach:
- Identification Layer: Sensors like the DS18B20 temperature sensor and the pH probe act as high-resolution acoustic and electrochemical inputs, measuring the tank's environment (pH and °C).
- Actuation Layer: A 4-Channel Relay Module acts as a high-power switch, allowing the Arduino to control the tank's "Heater," "Oxygen Pump," and "Lights."
- Wireless Interface Layer: A WiFi module (like the ESP8266-01) acts as a bridge, connecting the tank data to a home network for cloud monitoring.
- Conversion Layer: The Arduino code follows a "sequential decoding" strategy: it only sends data if the WiFi is connected and the sensor buffer is ready, ensuring reliable communication.
- Visual Interface Layer: A 128x64 OLED Display provides high-definition visual feedback for every aquatic status check (e.g., "pH 7.0").
Hardware Infrastructure
The system is built on a robust hardware foundation:
- Arduino Mega 2560 / DUE: The central "brain" managing the multi-sensor array and coordinating relay and data communication tasks.
- DS18B20 Temperature Sensor: Provides reliable and accurate climate monitoring for the tank's environment.
- pH, Redox, and Water Level Sensors: Provide high-precision physical input for advanced aquatic parameter monitoring.
- WiFi / GSM Connectivity (SIM800L): Provides high-speed, reliable data transmission for cloud updates and SMS alarming.
- 4-Channel Relay Bank: Essential for providing safe and energy-efficient control for various tank components.
- Micro-USB Cable: Used to program the Arduino and provide primary power for initial testing.
Aquarium Monitoring and Interaction
The Poseidon tank control process is designed for efficiency and reliability:
- Initialize Hardware: Correctly install the sensors and Arduino inside a custom enclosure and prepare the power system.
- Setup Output Sync: In the
setup()function, define communication credentials (WiFi/SIM) and initialize I2C, Serial, and sensor ports. - Internal Dialogue Loop: The system constantly performs high-performance water checks and updates the cloud dashboard and local HMI in real-time.
- Visual Feedback Integration: Watch as your dashboard data and local OLED display provide rhythmic visual signals, reflecting your aquatic settings and status.
Future Expansion
This platform is designed for growth:
- Enhanced Local Dashboard: Integrate a larger OLED display to show "IP Address," "Room Temp (°C)," and "Water Level (%)" locally on the tank.
- Multi-sensor Synchronization: Connect an Automatic Fish Feeder (using a Servo) to build a truly autonomous "Smart Tank" with integrated alarming.
- Advanced Cloud Interface: Develop a specialized web dashboard to precisely track and log the tank's history from a smartphone anywhere in the world.
- Advanced Environmental Customization: Add specialized "Light Cycles" (e.g., Sunrise/Sunset simulation) to the code to create a complete local aquatic-day report.
Poseidon - the tank control is a perfect project for any electronics enthusiast looking for a more interactive and engaging aquatic-tracking tool!