Automated Water Quality Monitoring IOT System for Small-scale Aquaculture Farms | SciTechnol

Journal of Computer Engineering & Information Technology.ISSN : 2324-9307

All submissions of the EM system will be redirected to Online Manuscript Submission System. Authors are requested to submit articles directly to Online Manuscript Submission System of respective journal.

Research Article, Jceit Vol: 9 Issue: 5

Automated Water Quality Monitoring IOT System for Small-scale Aquaculture Farms

Aishwarya Girish Menon*, and Prabhakar Menon

Department of Computing and Information Technology, REVA University, Bangalore, India

*Corresponding Author:
Aishwarya Girish Menon
Department of Computing and Information Technology
REVA University
Bangalore, India

Received: October 24, 2020 Accepted: November 20, 2020 Published: November 27, 2020

Citation: Menon AG, Menon P (2020) Automated Water Quality Monitoring IOT System for Small-scale Aquaculture Farms. J Comput Eng Inf Technol 9:5.


The traditional way of monitoring water quality of aquaculture ponds like fish farms and shrimp farms is to do it every few hours so as to minimize the stress to the animal and to minimize the mortality rate. The entire process is a tedious task involving manpower for collection of water samples and performing several lab tests. This results in unnecessary requirement of man power and in efficient usage of time thereby affecting the farmer’s economic returns and ultimate sustenance. This proposed IoT System uses Arduino development board with sensors for cost effectiveness and provides a real time monitoring environment whereby data is collected from certain specified areas of the pond every few hours and sent as an SMS via the GSM module to the farmer’s mobile along with a warning in case any of the parameters have crossed the defined range. The System will be powered by Solar Panels so that the device need not be charged manually thus automating the system.

Keywords: Aquaculture ponds; IoT; Real-Time monitoring; Arduino; GSM; Water quality analysis


Aquaculture ponds; IoT; Real-Time monitoring; Arduino; GSM; Water quality analysis


Small-scale farmers or aqua culturists have limited resources with economical constraints. Often cases arise where they aren’t able to sustain a successful fish farm or shrimp farm due to improper water quality analysis methods. In order to maintain a sustainable farm with the least mortality rate, a real time monitoring system which analyses each pond at every timed interval ensures that the water quality levels do not fluctuate suddenly and remains in a state ideal for the organism’s growth, health and ultimate survival. The system is run using Arduino development board which collects data from several predefined locations of each pond using sensors to conclude at which region of the pond, there is fluctuation in water quality levels. This helps in pinpointing the affected location with ease. The date and time at which the interval analysis was performed, the data obtained from sensors with respective parameter labels and ideal range as well as a warning if any of the parameters have exceeded the permitted range along with the geographic location provided by the GPS module, of the region where the parameter fluctuated on the pond is sent as SMS via a GSM module. The reason for choosing a GSM based data communication system is so as to accommodate the constraints on lack of proper Wi-Fi access and highspeed internet in rural or remote areas, the installation of which is quite costly and some farmers may not have the budget to purchase smartphones and cloud services. Transfer of data via SMS, is the best option since even Basic mobiles can receive SMS. The purpose of this proposed system is to ensure that the farmer receives accurate data at night as well as day without the requirement of expensive and time-consuming lab tests, manual collection of samples, unnecessary manpower and remain cost effective with minimal human requirement or interaction in the processes. In case a failure of connectivity occurs in the GSM module, the data will be transferred and stored as text document in a micro SD card which will be accessed by the Arduino as soon as connection is back online to send the data as SMS to the user. The System is designed to be roughly one-third the cost of high cost machineries available in market. The system also Increases the Bio Security aspect of the culture system by avoiding man to pond contamination by any ignorant workers.

Internet of things

Internet of Things is an interconnection of computing devices which have the ability to transfer data over a network without the requirement of human interference and interaction. Internet of things help in automating tasks that are time consuming and often error prone. It creates a wide network between several devices which can communicate with one another with ease in order to share data and instructions making the system even more powerful. Each iot system has a unique identifier (UiD) which allows us to access and interact with that particular system. It offers a wide range of network connection methods some of which are Wi-Fi, Cellular, Bluetooth and Ethernet. It is an efficient system which has the ability to provide real time monitoring services. For example, iot based security systems which use PIR sensors can alert the respective residents of a house if it detects any unusual movements within the vicinity of the home at night. Similarly, the PIR sensor based IoT system can be used to turn on and turn off lights in a room by detecting motion which help in saving electricity. The application of IoT has been experiencing a remarkable boost today in various fields ranging from self-driving cars in automotive industries, automated healthcare systems in hospitals, to oil and gas leakage detection in large scale industries as well as in military for combat operations. IoT has enabled thousands of farmers over the world to increase their cultivation success rates to an optimal level in agricultural and aquaculture fields suing real time monitoring systems that provide accurate data from time to time. The following paper highlights the application of IoT in aquaculture field.

Water quality analysis parameters

The presence of pollutants in water are crucial factors which determine how an organism (Ex: Tilapia or Penaeus Monodon) is affected in terms of growth rate, reproduction and survival. The range of these parameters differ depending upon the species.

The parameters to be analyzed by the system are: -

1. Water Temperature – The water temperature affects the metabolism of the species. The amount of feed must be decreased when temperature is slightly high or low and increased when the temperature is at an optimal or ideal level.

2. PH level–Extreme levels of pH in water deeply affects the Exoskeleton or tissue formation and metabolism of the species which increases the mortality rate or by making the species susceptible to unwanted diseases or low growth condition.

3. Dissolved Oxygen – Amount of oxygen dissolved in water determines the growth rate of the species. If the level of oxygen is lower than ideal range it would result in stunted growth and regular metabolic interruption. Low dissolved oxygen level also denotes the salinity level of the water is high than the normal levels as well since higher oxygen levels is an indicator of lower salinity levels.

4. Nitrite ion concentration – Nitrite is extremely toxic to certain species and can result in fatality if the concentration increases beyond permissible range.

5. Ammonium ion Concentration – Increased levels of ammonia in water reduces the blood oxygen level in the species. This would result in lower survival rate.

6. Electrical Conductivity–The electrical conductivity of the water body determines the total concentration of dissolved ions. Increase in dissolved ions is an indicator of high levels of toxicity in water such as high levels of nitrate, nitrite or ammonium ions which affects the survival rate of the species.

7. Redox Potential – Fluctuation of Redox potential values from the ideal range affects dissolved oxygen, nitrate, nitrite and hydrogen Sulphide levels in water by increasing or decreasing these parameters beyond required range. This may be harmful for the survival and growth of the species.

Proposed system

The system is composed of Sensors, Communication modules, Power source and Microcontroller. The microcontroller to be used in this experimentation is AtMega328 embedded on Arduino Nano Development board. The microcontroller is responsible for controlling all the communication and data transfer processes as well as control of sensors [1]. A 170-point breadboard is used for extending power and ground connections. The sensors to be used include Water Temperature sensor, pH sensor, Ammonium and Nitrite ion sensors, Dissolved Oxygen sensor, Electrical Conductivity sensor and Redox Potential sensor. The sensors mentioned are used for measuring the most crucial parameters corresponding to sustenance of aquaculture fish ponds or shrimp farms. Any fluctuation in these factors affect the mortality rate of the organisms and hence it is necessary to constantly monitor these water quality parameters in aquaculture ponds and farms. A GPRS/GSM (sim800L) module, Magnetometer (HMC588L) and a GPS module (U-Blox Neo-6M) is connected to the Arduino board. The GPRS/GSM module alerts the farmer by sending a SMS to their mobile numbers. The SMS will include details such as the specifications of the parameter which has fluctuated beyond permissible range as well as the GPS location of the point on the pond where the fluctuation was measured. The GPS module is preprogrammed with certain pin points around the pond where the System is to perform monitoring of water quality parameters and collect the data. The chassis of the system represents the typical shape of a speed boat which is pentagonal in shape in order to accommodate swift movement through the water. The parameters analyzed during each interval along with the time, place and date of analysis will be stored in the form of text file in the Micro SD card connected to the Arduino board using a Micro SD Card Module for reading and writing to the SD card. In the event of failure of GSM module to send the parameter data and warnings (if any) at that particular interval of analysis, the data will be sent to a separate text file in the micro SD card. Once connection is back online, the data stored in that text file will be read by the Arduino board and sent to GSM module to resend the SMS with those parameters [2].

Figure 1 represents the usual structure of Aquaculture ponds, the ponds being Rectangular or Square in shape. The points where water quality analysis is to be carried out are chosen at the center of each border and the center of the pond in order to obtain accurate data throughout the pond and reduce unwanted wastage of power supply. The path which can be followed are represented in Figure 1 in the form of arrow heads and the point where water quality analysis is to be done is represented as a dot. Overall, there are five points (taken as p1, p2, p3, p4, p5) for performing analysis across the pond [3]. The system is pre-programmed with the longitudinal and latitudinal positions of each point so that it can drive the dc motors and propellors of the boat system to move the boat system towards each point in a sequential order with the help of magnetometer and GPS module. The system halts at each point, performs analysis of each parameter in order, send data to the GSM module along with a warning in case any of the parameters fluctuated along with the point coordinates. GSM module sends the data in the form of SMS to the farmer’s mobile.

Figure 1: Aquaculture pond monitoring boat - water quality analysis points on ponds and path of traversal to points.

Since there is a requirement of 9 pins for analog I/O pins in the system while Arduino nano has only 8 analog I/O pins, we may use a switch network connection in order to connect two sensors to one of the analog I/O pin, divert the voltage and current to the sensors to be used and then diverted back to the other sensor once the usage is done by lowering the voltage and current flow in the sensor already used through coding.

The system is based on RC Boat design wherein the proposed System does not require Manual Control, rather it is automated with the help of GPS module and a magnetometer which acts as a compass, guides the System towards marked positions of the pond [4].

The Block diagram of the System is shown in Figure 2 wherein the pentagonal shape represents the body of the Boat System and the components are represented as rectangular shapes.

Figure 2: Block diagram Representation of System Chassis and Component arrangement.

The entire system will be powered by Solar Panel of suitable voltage to ensure maximum automation and reduction of Consistent Maintenance issues. The solar power from the solar panels will be transferred to a Lithium ion battery pack through a Li-on battery charging module (TP4056). The system is driven using Two DC Motors (3v-5v) to which two 3-blade propellers are attached for controlling the direction of turn of the System. The DC motors are controlled by a Motor Driver (L298N) which controls the DC motor speed and propeller direction turn.

Software components

Arduino ide: Arduino IDE is an open source software supported by Arduino.CC which is used to write code in Arduino programming language (a combination of C and C++ programming language with special rules and libraries). The IDE allows the user to write the code and upload it to the Arduino Development board to be executed by the microcontroller embedded on the board Figure 3. The application itself is written in Java programming language. It is available for Mac OS X, Windows and Linux platforms.

Figure 3: Arduino IDE Enviroment.

The Arduino IDE is to be used for writing the coding of the proposed system in order to obtain control over all the components of the system.

Hardware components: Arduino nano version 3 development board the Arduino Nano V3 is one of the smallest Development boards consisting of ATMega328 Microcontroller embedded on the board. The interaction of the board with the computer is done via a Mini- B USB cable. It is powered by batteries as it does not include DC power jack Figure 4.

Figure 4: Arduino Nano Development board.

Component specifications:

Microcontroller used – Atmel ATMega328 SMD Package

Digital I/O pins – 14 pins (6 pins are PWM pins) – with DC current of 40mA per pin

Board Dimensions – 0.70” x 1.70” Analog Input pins – 8 pins Recommended Input voltage – 7-12 v Recommended Voltage limit – 6-20v Operating voltage at logic level – 5v Flash Memory – 32KB


Microcontroller Clock Speed – 16MHz

Solar panel: Solar panel for Arduino is a PV module with photovoltaic cells that absorbs solar energy and converts it to Direct Current Electricity to power the Arduino board and its components. It consists of ground and power connections.

Lithium ion charging module (tp4056): The lithium ion charging module is used for charging single cell or higher cell li-on battery cells. It consists of battery protection IC to cut off current after charging. It helps to prevent over charging and reverse polarity connection issues.

Lithium ion battery: Lithium Ion (Li-ion) batteries are rechargeable batteries used in portable Electronic devices. It is light weight, compact and has high energy density. The battery has two electrodes, anode and cathode which consists of lithium acting as electrolyte. The electrolyte carries positive ions from anode to cathode and vice versa through a separator. This creates free electrons in anode creating positive current which then flows through the device to be powered while the separator blocks electron flow inside battery.

GSM/GPRS Module (SIM 800L): SIM800L is a cellular GSM/ GPRS module which allows GPRS transmission and communication by sending or receiving SMS and calls. It has Quad-Band network (8500/900/1800/1900 MHz) support and uses Serial communication method. It supports 2G/3G/4G sim cards. It searches automatically for network as soon as its powered and logs in to the network. It accepts micro sim cards. The Supply voltage recommended is 4v.

GPS Module (U-BLOX NEO-6M): U-Blox Neo-6M GPS module includes a built in GPS antenna along with UART TTL socket. It uses the UBlox technology for positioning information and EEPROM for storing configuration settings. It has four pins which are RX,TX, power and ground [5,6]. It includes battery for obtaining quick GPS lock. This module is used to find the current location of the system. Supply voltage ranges from 2.7 to 6 VDC and has a cold start and warm start time of 27 seconds with maximum speed of 500 m/s.

Magnetometer (HMC588L): HMC588L is a 3-axis magnetic electronic compass which includes HMC118X series magnetoresistive sensors, ASIC amplification, automatic degaussing strap drivers, offset cancellation, I2C serial bus and 12-bit ADC for 1° and 2° compass head accuracy. It is used to measure direction of magnetic field at a point in order to move towards the next GPS location. Operating voltage range is 3V-5V and Measuring range is ± 1.3-8 Gauss.

DC Motors: DC motors are rotary Electrical motors which convert DC electricity to mechanical energy. It consists of Internal mechanisms like electromechanical mechanisms to change direction of rotation. DC motors provide anticlockwise and clockwise rotation. The recommended operating voltage range for DC motor for the System is 3V-6V.

3-Blade propellers: Three-blade propellers are helical metallic or plastic mechanical parts with three protruding blades which is attached with motors which provide the electrical energy causing the propellors to rotate in clockwise or anticlockwise direction to produce linear motion as the motor generates rotational power on the propellers.

Solder less breadboard: Solder less breadboards do not require soldering of different components. Breadboards provide a construction base for connecting various electrical and electronic components and extending connections.

Motor driver (L298N): The motor driver module is used for powering dc motors and stepper motors. L298N module comes inbuilt with 5v regulator which can supply external circuits. It has the ability to control the speed and direction of the motors.

DC-DC Buck converter (LM2596): The DC-DC buck converter is a step-down voltage regulator with adjustable potentiometer to get required voltage flowing through the connections or devices connected to it [7]. The LM2596 converter module is a dc-dc buck converter readily available.

Waterproof temperature sensor: The waterproof temperature sensors are used to measure the temperature of the water body it is immersed in. generally most waterproof temperature sensors can measure within a range of -55°C to +125°C [8]. It consists of data communication wire, power wire, ground wire and a temperature limit alarm system.

PH Sensor: The pH sensor is used to measure the alkalinity and acidity (collectively called pH of a solution) of a given water body or solution. The pH scale ranges from 0 to 14 [9-11]. Usually these sensors are made of pH glass electrodes with Ag/AgCl reference electrodes which is used to measure the pH value of water.

Electrical conductivity sensor: The electrical conductivity sensor is used to measure the electrical conductivity or total ion concentration of an aqueous solution and is used for water quality analysis in aquaculture and water culture fields. It consists of electrodes which measure the increase in conductance with increase in concentration of ions in the solution.

Dissolved oxygen sensor: Dissolved oxygen sensor is used to measure the amount of oxygen available in a water body which determines whether there is sufficient oxygen for the organisms to live. For this project a galvanic or polarographic electrochemical DO sensor may be used. In electrochemical dissolved oxygen sensors, the dissolved oxygen from water body diffuses across oxygen permeable membrane to the sensor. Inside the sensor it undergoes chemical reduction reaction with NaOH solution producing electrical signals which is read by the sensor.

Redox potential sensor: Redox potential sensors or oxidationreduction potential sensors are used to measure the ratio of oxidizers and reducers in the given solution. It consists of 2 electrochemical half cells whose reference electrode is Ag/AgCl while measurement electrode is usually Pt.

Nitrite ion sensor: Nitrite ion sensors use special nitrite ion selective electrodes to detect the nitrite ions concentration in the aqueous solution or water body.

Ammonium ion sensor: The ammonium ion sensor is used for obtaining the ammonium ion concentration in the given solution or water body. Generally, Ammonium ion sensors use Ag/AgCl electrodes with custom filling solution (usually bromide in oxidised form) to selectively interact with ammonium ions.

Micro SD card reader module

The micro SD card reader is used to transfer data read by the sensors connected to Arduino to the micro SD card which acts as a Storage device. It requires a power supply of 5v to 3.3 v. The module consists of 6 pins which are Power, Ground, MISO, SCK, CS and MOSI. It has a SPI interface.


The expected results to be generated by the System have been presented below. For the purpose of understanding, A dataset based on ideal water quality parameters for the freshwater species ‘Tilapia’ has been used in generating the results. In this example, we consider that analysis is carried out at 2 intervals per day, interval 1 at 10:00 am and interval 2 at 10:00pm. Each interval includes 5 locations p1, p2, p3, p4 and p5 across the pond where the analysis is carried out respectively.

Ideal approximate Range for Water Quality parameters (Species: Tilapia)

Temperature (Fahrenheit) – 75-94 pH (pH scale) – 6-8

Electrical Conductivity (micro siemens / cm) – 0 - 1500 Nitrite ion Concentration (mg/L) – 0 – 0.6

Ammonium ion concentration (Percentage) – 0 – 0.03 Redox Potential (milli Volts) – 150 – 250

Dissolved Oxygen (Percentage) – 80 – 120

The Figures 5 and 6 shows the SMS alert received by the user on mobile after each of the five locations across the pond is analysed in a given interval of time along with the sensor data, coordinates of each point and the date and time of the interval at which analysis was performed. In Figure 5 all the respective values of the water quality parameters analysed by the system at interval 1 at point p1 as mentioned in the description of Figure 1 is sent to the user stating none of the values have fluctuated to dangerous level. In Figure 6 the details of the analysed water quality parameter as well as the warning that pH level has exceeded the safe range at position p3 is also sent to the user. Similarly, the data for the remaining locations p2, p4 and p5 in interval 1 are also sent to the user after analysis.

Figure 5: SMS alert containing water quality parameter values after analysis on user’s mobile for First interval point p1 on the pond.

Figure 6: SMS alert containing water quality parameter values after analysis on user’s mobile for First interval point p3 on the pond with alert that pH value has exceeded permissible range.

The Figures 7 and 8 shows the dataset for Tilapia Species generated and stored in SD Card by the Arduino Nano Board after analysis. The text file from the SD card is converted to excel sheet for better visualization in computer. The excel sheet above consists of the date and time of analysis, the coordinates where analysis is performed, the interval to which the analysis performed belongs and the data read from the sensors of each water quality parameter. This data is used to create graphical representation of the fluctuation of each parameter at different locations on the pond. The Figure 9 gives the graphical representation of the different temperature values obtained after analysis at each location of the pond (p1, p2, p3, p4, p5) using line graph. The blue line in the line graph represents the values at each location while the red lines indicate the minimum and maximum permissible Temperature range. If the blue line crosses either of the red lines, then there is a dangerous fluctuation of the respective parameter at that particular location and the user is immediately alerted. In case of Figure 9 the blue line remains within the safe region found between the two red lines.

Figure 7: Water Quality Analysis Data from Arduino visualized as Excel sheet part-1.

Figure 8: Graphical representation of Temperature parameter values at different locations (p1,p2,p3,p4,p5) of The pond at interval 1 on 10-10-2020 from dataset.

Figure 9: Graphical representation of pH parameter values at different locations (p1,p2,p3,p4,p5) of The pond at interval 1 on 10-10-2020 from dataset.

In Figure 10 the different pH values obtained after analysis at each location in the pond is represented as a blue line while the red lines represent the minimum and maximum permissible range of pH level. It can be noticed from the graph that the blue line crosses the maximum permissible range red line at the top, at position p3. This means that the pH level at position p3 has exceeded to a dangerous level and the user is immediately alerted regarding the same. Similarly, line graphs may be created for each parameter for every interval analysis.


The small-scale aquaculture farmers are always under economical constraints. They often find it difficult to hire extra manpower and resources to continuously monitor the water quality of aquaculture ponds the organisms to be cultivated are present in, to prevent sudden increase in toxicity of water which affects its mortality rate. Hiring extra workers or purchasing automated high-end water quality systems approximate the cost to over thousands of dollars (lakhs in rupees). The automated water quality monitoring system mentioned in this paper helps in reducing the cost of the system to about 1/3rd of the cost of high-end models with almost equivalent efficiency and since the system is automated, there is no requirement of direct human interaction. The system needs to be maintained only once or twice a month.

The system being an automated real-time monitoring device, carries out water quality analysis of the pond at every fixed intervals of time at certain marked positions on the pond, in order to save energy and obtain accurate measurements from different areas of the pond. Analysis carried out at these specified ponds helps the user to identify the affected area on the pond immediately. The frequent analysis also helps to detect whether any of the crucial water quality parameters have exceeded the ideal range quickly and alert the user through SMS which may be received by a smartphone or a basic phone. The user will receive the details of the affected area, readings of all parameters measured, as well as which parameter exceeded the range to a dangerous level within a fraction of time.


Track Your Manuscript