Smart Irrigation System Using Arduino and GSM
Module
Prof. Himadri Nath Saha Tanishq Banerjee Suvrojit Kumar Saha Ayush Das
Department of Computer Science Department of Computer Science Department of Electronics And Department of Computer Science
and Engineering and Engineering Communication and Engineering
Institute of Engineering and Institute of Engineering and Institute of Engineering and Institute of Engineering and
Management Management Management Management
Kolkata,India Kolkata,India Kolkata,India Kolkata,India
himadri@[Link] banerjitanishq@[Link] sahasuvrojitkumar@[Link] dasayush94@[Link]
Arjun Dutta Anirup Roy Samabrita Kundu Arghyadyuti Patra
Department of Computer Science Department of Computer Science Department of Computer Science Department of Computer Science
and Engineering and Engineering and Engineering and Engineering
Institute of Engineering and Institute of Engineering and University of Engineering and University of Engineering and
Management Management Management Management
Kokata,India Durgapur ,India Kolkata,India Kolkata,India
arjuncode47@[Link] anirup.roy42@[Link] samabritakundu@[Link] arghya003patra@[Link]
Arkodip Neogi Smita Bandyopadhyay Sampriti Das Niloy Chakravorty
Department of Computer Science Department of Computer Science Department of Computer Department of Electronics And
and Engineering and Engineering Science and Engineering Communication
University of Engineering and Institute of Engineering and Institute of Engineering and Institute of Engineering and
Management Management Management Management
Kolkata,India Kolkata,India Kolkata,India Kolkata,India
arkodipneogi1997@[Link] smiban1998@[Link] sampriti.das06@[Link] chakravortyniloy98@[Link]
Abstract-The steady increasing requirement for food requires I. INTRODUCTION
rapid development in food production technology. There is a
wide range of crops and plants with different varieties. Various
Perfect irrigation is an important feature for growing healthy
crops and plants have different requirements for water, crops. As India is a country where agriculture is one of the
fertilizers and sunlight .In a country like India, much of the cores of economy, irrigation has to be smart and advanced.
economy is based on agriculture. India thrives on agriculture and As we are stepping into a world of automation, the work load
farmers work day and night for the best productivity of crops. of the farmers can be reduced by formulating an automated
But they might be having problems in farming during natural system for maintaining a requisite supply of water. So this
hazards and the scheduled watering of the crops can get automated system has been devised to take care of the daily-
hampered. The main reason is lack of rain and shortcoming of watering schedule of the crops. This system will be used for
land reservoir water. The continuous water removal results in the
every crop with different moisture levels pre-programmed in
reduction of water from the earth’s surface. As a result this leads
to the increase of uncultivated land. Water wastage is also a big
the arduino. Here, arduino UNO R3 has been programmed to
concern that the world faces. Nowadays water shortage is sense the moisture of the soil. When the moisture of the soil
increasing day by day as a result saving water is also a topic of drops below a definite level, which is pre-defined in the
concern nowadays. Therefore smart irrigation system has been arduino, the system will be activated automatically and the
proposed and designed so that the plants or crops can be supplied plants will be watered keeping them healthy. The system is
with water in a proper time interval. also helpful in saving water, as the system supplies water to
the crop or the plant concerned, when needed.
Keywords- Indian irrigation, Arduino, fertilizers ,crops , GSM (Global System for Mobile Communications) executes
manually overriding ,Gsm module ,Tank refill system .
computerized cellular conference systems. Results are sent
978-1-5386-7266-2/18/$31.00 ©2018 IEEE 532
Authorized licensed use limited to: Mattu University. Downloaded on May 25,2026 at 18:19:42 UTC from IEEE Xplore. Restrictions apply.
from the system to the agricultural manufacturer. The coded activated. The system also checks the water level in the
instructions from the cell phone, controls the entire irrigation reservoir before supplying water from the main tank. If in
system. case, the water of the tank is below the lowest level, at first the
system fills the tank from the reservoir with the help of a
[Link] WORKS second pump. When the water level in the tank just touches
the highest level, the system stops the second pump and
Joaquín Gutiérrez, developed a system which consists of checks for the water level at the highest level. Once it receives
distributed wireless network of soil-moisture & temperature the confirmation of the water level, it supplies water to the
sensors placed in the root level of the plants. The Gateway unit crop with the help of the first pump. The moisture range of the
triggers actuators, handles sensor information, and transmits concerned crop will be pre-programmed in the system. As
data to the web application. An algorithm was developed with soon as the moisture reading goes below the specific range,
threshold values of sensors which was programmed into a the system delivers water to the concerned crop until the
microcontroller-based gateway to control the water quantity moisture of the soil reaches the moisture content required by
[1]. the concerned crop. Simultaneously, the farmer always has the
power of manually over riding the system, for instance if he
Jia Uddin constructed a model of automatic irrigation system wishes not to irrigate the crop even if the moisture content of
based on solar power and microcontroller where solar energy the soil is below par value as required by the crop, he can just
is used for source of power supply. The paddy field is send a message to the system via GSM module, specifying
enclosed with different types of sensors. After sensing the “NO” , thereby stopping the entire system.
water level the sensors delivers the information to farmers
through cellular phone. Without going into the field the farmer III. HARDWAREDETAILS
controls the motor over cellular phone. If the water level arises
at danger level, the motor will be off automatically without the
outline of the farmer [2]. A. Arduino UNO R3
The automatic irrigation system was tested for 136 days which
Arduino is an open source physical processing which is base
resulted upon saving 90% in comparison to the traditional
on a microcontroller board and an incorporated development
irrigation system. The automated system has been used
environment for the board to be programmed. It takes in a few
successfully in other places for 18 months. The system can be
inputs, for instance, switches or sensors and monitors a few
used in geographically isolated area for its low cost and energy
multiple outputs, for example, lights, engine and others.
autonomy [3].
Arduino is a cross-platform app as its programs can run on
Windows, Macintosh and Linux operating systems (OS)
Drip irrigation is beneficial as it lowers the misuse of water by
contrary to most microcontrollers’ frameworks which run only
applying fertilizers and water directly to the root zone. Usage
on [Link] is a very sophisticated physical processing
of the sensors in the setup of microcontroller based drip
stage focused around a straightforward microcontroller board,
irrigation system has been a major development in the domain
and an environment for writing programs for the
of agriculture. [4][5]
board.[8][9][10]
Graphical user interface software helps in anticipating the data
Inexpensive - Arduino boards are moderately cheap as
from each WSU using any device with the internet. Hence,
compared to other microcontroller boards. The cheapest
from here we can obtain a real time data analyzing system.[6]
version of the Arduino module can be designed by hand, and
even the preassembled Arduino modules cost around $50.
The automatic irrigation technique irrigated using wireless
sensor network as Zig-bee and internet technology which was
Cross-platform - The Arduino programs runs in multiple
developed for improving irrigation system. Sensors are placed
operating systems like Windows, Macintosh OSX, and Linux.
in farm for collecting the information. Hence we can control
So we conclude that Arduino has an advantage over most
the system automatically using internet. [7]
microcontroller boards which are constrained to only
Windows.
Straightforward, clear programming method - The
Arduino programming environment is easy to use for
III. SYSTEM OVERVIEW beginners, yet sufficiently diverse for cutting edge customers
to adventure as well. For educators, it is favorably involved
around the Processing programming environment, so users
Using the soil moisture level sensor, the system measures the
finding ways to understand the programming algorithms and
moisture content of the soil [11] and accordingly takes
syntax in that environment will be accustomed with the nature
decision when to supply water. As a result, the first pump, gets
of Arduino.
533
Authorized licensed use limited to: Mattu University. Downloaded on May 25,2026 at 18:19:42 UTC from IEEE Xplore. Restrictions apply.
Open source and extensible programming - The Arduino
B. GSM Module
program language is available for development by veteran
engineers. The lingo can be accessed through C++ libraries or
header files and people expecting to understand the specific It is a cellular communication [Link] stands for global
purposes of different interests can shift from Arduino to the system for mobile communication. GSM Module consists of
AVR C programming language on which it is based. mobile station, Base station and Network subsystem.
Basically, one can incorporate AVR-C code clearly into one’s
Arduino programs if he/she wants to do so. Here the GSM Module is used to send SMS alerts and also
helps the user to manually over ride the system.
Open source and extensible hardware - The Arduino is
solely based on Atmel's Atmega8 and Atmega168 C. Flying Fish MH Sensor
microcontrollers. The plans for the modules are circulated
under a Creative Commons license, so experienced circuit This is a very cheap analogue board containing a comparator
designers can make their own particular interpretation of the and a pot to give both an analogue and digital (threshold)
module, work on it, extending and improving it. Slightly output[11]. Various sensor configurations can be found which
inexperienced customers can make variations to the include an LDR, NTC thermistor, two resistive water/moisture
breadboard of the module, keeping in mind the main objective detectors and more besides. The water/moisture detectors
to perceive how it capacities and save money and time. utilise a 2 pin header which can allow us to reuse the
comparator board for any particular device we have available
.Due to the circuit's simplicity, the digital output tends to
oscillate when the two inputs to the comparator have a similar
magnitude.
Here the MH sensor is used for measuring the moisture of the
concerned soil and provide data to the concerned brain of the
system which does the matching part of the algorithm.
D. Relay Module
This is a 5V, 10A 2-Channel Relay interface board. It can be
used to control various appliances, and other equipments with
large current. It can be controlled directly with 3.3V or 5V
logic signals from a microcontroller (Arduino, 8051, AVR,
T ABLE 1: ARDUINO-UNO SPECIFI CAT IONS PIC, DSP, ARM, ARM, MSP430, TTL logic).
Microcontroller UNO Specifications
Operating-Voltage 5 Volts Here the relay module is used to turn the combination of DC
Recommended input voltage 7 to 12 Volts motors on and off.
Limits of inputs voltage 6 to 20 Volts
Digital I/O Pins 14 (of which 6 E. DC Motor
provides PWM
output) A DC motor is any of a class of rotary electrical machines that
converts direct current electrical energy into mechanical
Analog Input Pins 6 energy. The most common types rely on the forces produced
DC Current per I/O Pin 40 mA by magnetic fields.
DC Current for 3.3V Pin 50 mA
Flash Memory (ATmega328) 32 KB (of which Here 2 DC Motors have been used to make 2 pumps for water
0.5 KB used by flow.
bootloader)
SRAM (ATmega328) 2 KB F. Water Level Sensing Circuit
EEPROM (ATmega328) 1 KB
Clock Speed 16MHz A water level sensing circuit has been made by using a
Length 68.6 mm particular combination of Arduino UNO, two 10 kilo-ohm
resistors, bread board, jumper wires and a 5V DC supply. Here
Width 53.4 mm it is used to measure the water level in a tank.
Weight 25 g
534
Authorized licensed use limited to: Mattu University. Downloaded on May 25,2026 at 18:19:42 UTC from IEEE Xplore. Restrictions apply.
IV. SYSTEM DESCRIPTION
The whole circuit has been constructed keeping accuracy, time
saving and cost in mind. The whole system is automated. The
moisture sensor reads the moisture of the soil and sends the
data to the microcontroller, which is the Arduino here. The
feasible moisture level/range, of the concerned crop is pre-
programmed in the Arduino. As soon as the Arduino receives
data, from the moisture sensor, outside the normal level/range,
the Arduino sends SMS alert to the owner of the crop, with the
help of the GSM module. After the alert, the Arduino, with the
help of the relay module, switches on the first pump, which is
constructed here by a DC motor, and supplies the crop water
until the reading from the moisture sensor reaches the normal
level/range.
If the water in the tank is below the low level, which is being
measured by the water level circuit, the signal is sent to
Arduino, which further sends an SMS alert to the owner of the
crop, with the help of the GSM module. After the alert, the
Arduino, with the help of the relay module, switches on the
second pump, which includes another DC motor, and fills the
tank with water from the reservoir.
When the water reaches the highest level in the tank, which is
measured by the water level circuit, the Arduino gets the
signal and again sends SMS alert to the owner of the crop.
After SMS alert, the Arduino switches off the second pump,
with the help of the relay module. Then the Arduino switches
on the first pump, with the help of the relay module and
supplies water to the concerned crop. The moisture sensor
always checks the moisture of the soil. So the moment, the
moisture of the soil lowers, the system operates. As a result,
the crop will always get water supply when needed.
Furthermore suppose the farmer doesn’t want to irrigate the
crop at the current moment. Our system has another facility of
manually over riding where the arduino on receiving the string
“NO” from the GSM module exits the loop and the system is
stopped. The entire process continues every 5 minutes.
The block diagram of the whole system has been given in
Fig.2.
Fig.3Pie Chart of Global Water Usage
535
Authorized licensed use limited to: Mattu University. Downloaded on May 25,2026 at 18:19:42 UTC from IEEE Xplore. Restrictions apply.
if([Link]()>0)
The above image is given in the paper to make the readers of {
the paper understand that most of the water usage in India is for(i=0;i<8;i++)
done by the agricultural sector and that this paper is useful in {
the sense that it aids in water conservation and better
s[i]=[Link]();
production of crops.
}
s[i]='\0';
}
[Link] : if(strcmp(s,msg2)!= 0)
{
#include<SoftwareSerial.h> //to make digital pines of a= analogRead(A0);
arduino as RX & TX// b= analogRead(A1);
SoftwareSerial gsm(2,1); //to specify digitalpin 2 as RX if(b>500)
and pin 1 as TX & name of module is kept as gsm// {
int sensorPin = A0; digitalWrite(motor2reservoir, LOW);
int watersensor =A1; delay(1000);
int sensorValue = 0; motorflag= 1;
int motor1soilwater= 6; sensorValue = analogRead(sensorPin);
int motorflag=0; if(sensorValue>631)
int motor2reservoir= 5; {
int a,b; digitalWrite(motor1soilwater, HIGH);
void setup() delay(1000);
{ [Link]("AT+CMGF=1"); //Turns on the message
[Link](9600); //Sets the data rate in bits per sending operation of the GSM Module.//
second (baud) for serial data transmission// delay(1000);
[Link](9600);
[Link]("The system starts !"); [Link]("AT+CMGS=\"+91xxxxxxxxxx\"\r");//Inputtin
pinMode(watersensor, INPUT); g the receiver's no.//
pinMode(sensorPin, INPUT); delay(1000);
pinMode(motor2reservoir,OUTPUT); [Link]("ALERT: Soil moisture level has got lower
pinMode(motor1soilwater,OUTPUT); than REQUIRED! The pump has been switched on!");
} delay(100);
void loop() [Link]((char)26);
{ delay(1000);
char s[100]; }
int i=0; else
[Link]("AT+CMGF=1"); //Turns on the message if(sensorValue<520)
sending operation of the GSM Module.// {
digitalWrite(motor1soilwater, LOW);
delay(1000); delay(1000);
[Link]("AT+CMGF=1"); //Turns on the message
[Link]("AT+CMGS=\"+91xxxxxxxxxx\"\r");//Inputtin sending operation of the GSM Module.//
g the receiver's no.// delay(1000);
delay(1000); [Link]("AT+CMGS=\"+91xxxxxxxxxx\"\r");
[Link]("Do you want to continue?"); //Inputting the reciever's no.//
delay(100);
[Link]((char)26); delay(1000);
delay(1000); [Link]("ALERT: Soil moisture level is more than
[Link]("AT+CNMI=2,2,0,0,0"); // AT Command to REQUIRED! The pump has been switched off!");
receive a live SMS// delay(100);
delay(1000); [Link]((char)26);
char msg2[100] = "No"; delay(1000);
}
536
Authorized licensed use limited to: Mattu University. Downloaded on May 25,2026 at 18:19:42 UTC from IEEE Xplore. Restrictions apply.
} Algorithm: The proposed system undergoes the following
else steps:
if(b<200) Step 1: Start the process.
{ Step 2:If ‘NO’ received from user, break the loop.
Step 3: Initialize power to be supplied to GSM.
[Link]("AT+CMGF=1"); //Turns on the message
Step 4: Check the moisture level (less than or more than).
sending operation of the GSM Module.//
Step 5: If the level will be more than a fixed criteria, no need
delay(1000); to irrigation.
[Link]("AT+CMGS=\"+91xxxxxxxxxx\"\r"); Step 6: If Moisture level is less than a fixed criteria, start
//Inputting the reciever's no.// irrigation.
delay(1000); Step 7: Initialization of pump and rain gun.
[Link]("ALERT: Water level is Low ! Your tank is Step 8: After the process completed, it moves to original state.
being refilled !"); Step 9: The process will run again after 5 minutes.
delay(100);
[Link]((char)26);
delay(1000);
digitalWrite(motor2reservoir, HIGH);
motorflag=0;
}
del(s);
while(1);
}
delay(300000);
}
void del(char * s)
{
int i;
for(i=0;i<8;i++)
{
if(s[i]!= '\0')
s[i]='\0';
} FIG4
}
VII. FUTURE WORKS
VI. OBSERVATION AND RESULTS
This system is available for a specific crop as a specific level
A semi-automated version of this system was constructed of moisture is programmed in the Arduino. So it cannot be
using a single pump which supplied water to the plant when used for different crops at different occasions. For this,
soil moisture went below the required moisture level. A LCD machine learning algorithm can be used, so that it can sense
display was used for displaying the output. A buzzer was also the moisture level of the crop dynamically and maps it with
used for alerting the user. A GSM module was also connected. the required column of the data set for the required crop where
As the system needs to be fully automated and cost-effective, alongside each value of moisture required sun intensity and
the LCD display and the buzzer have been replaced by a GSM temperature of the climate is specified. The authors of this
Module and a pair of pumps. For each and every action, the paper also plan to modify the algorithm in order to give the
user will receive SMS Alerts. The second pump has been user of the product more control i.e., along with the String
installed to refill the storage tank, from a reservoir, when the specifying “NO” the user can also specify the amount of time
water level in the tank comes to lowest level. Therefore the the system should be in sleep mode and with “Yes’ command
user will no longer need to check the water level in the tank at the system reactivates. Also only the solution for water deficit
regular intervals and switch on the pump manually. is described in the paper. What if there is excess accumulation
of water around the crop. The authors of the paper are
currently working on the method to solve this problem.
537
Authorized licensed use limited to: Mattu University. Downloaded on May 25,2026 at 18:19:42 UTC from IEEE Xplore. Restrictions apply.
VIII. CONCLUSION [8]Leo Louis,”WORKING PRINCIPLE OF ARDUINO AND
USING IT AS A TOOL FOR STUDY AND
This project has been made in order to reduce the work load of RESEARCH”,International Journal of Control, Automation,
the farmers and increase the efficiency of the irrigation Communication and Systems (IJCACS), Vol.1, No.2, April
process. With the help of this system, the water tank will be 2016
automatically filled with water, when empty, from reservoir,
without any manual work. [9] [Link], “Arduino – Introduction”, 2015
The whole world, nowadays, is mainly aiming towards fully [Online],Available:[Link]
automated systems with less human labor. This project has [Accessed: 25- Feb - 2015]
also been aimed at that sector. The problem of water wastage
during irrigation has also been solved. Dry areas where water [10][Link], 'Arduino - Products', 2015.[Online].
supply is limited, those areas can also be perfectly irrigated by Available: [Link] [Accessed: 25-
the use of this system. Moreover, components of the system Feb- 2015].
are also reliable, low cost and easily affordable.
This system has not only meant for farmers only. It can be [11] [Link]>6519>simple-soil-moisture
used in greenhouse plants also. In this world of advancement,
money and time saving are two important factors to be kept in [12] Singh, P., & Saikia, S. (2016). Arduino-based smart
mind. This project also saves time and money by quick hassle- irrigation using water flow sensor, soil moisture sensor,
free work and affordable cost. temperature sensor and ESP8266 WiFi module. 2016 IEEE
Region 10 Humanitarian Technology Conference (R10-HTC).
REFERENCES doi:10.1109/r10-htc.2016.7906792
[1]Joaquín Gutiérrez, Juan Francisco Villa-Medina, Alejandra [13] Rajalakshmi, P., & Devi Mahalakshmi, S. (2016). IOT
Nieto-Garibay, and Miguel ÁngelPorta- Gándara, “Automated based crop-field monitoring and irrigation automation. 2016
Irrigation System Using a Wireless Sensor Network and GPRS 10th International Conference on Intelligent Systems and
Module,” IEEE Transactions on Instrumentation and Control (ISCO). doi:10.1109/isco.2016.7726900
Measurement, vol. 63, no. 1, January 2014.
[14] [Link].
[2] JiaUddin, S.M. Taslim Reza, QaderNewaz, Jamal Uddin,
Touhidul Islam, and Jong-MyonKim,“Automated Irrigation [15] [Link]
System Using Solar Power” ©2012 IEEE
[3] Joaquín Gutiérrez, Juan Francisco Villa-Medina, Alejandra
NietoGaribay, and Miguel ÁngelPorta- Gándara “Automated
Irrigation System Using a Wireless Sensor Network and GPRS
Module ” IEEE 2013
[4]Manish Giri, DnyaneshwarNathaWavhal (2013).Automated
Intelligent Wireless Drip Irrigation Using Linear
Programming. International Journal of Advanced Research in
Computer Engineering & Technology (IJARCET)Volume 2,
Issue 1
[5] Miranda FR, Yoder RE, Wilkerson JB, Odhiamboc LO
(2005). An autonomous controller for site-specific
management of fixed irrigation [Link].
Agric., 48:183-197.
[6] Zazueta FS, Smajstrla AG (1992). Microcomputerbased
control of irrigation systems. Appl. Eng. Agric., 8(5): 593-596.
[7] B. Astrand and A. Baerdveldt, A vision based
rowfollowing system for agricultural field machinery,
Mechatronics, vol. 15, no. 2, pp. 251269, 2005.
538
Authorized licensed use limited to: Mattu University. Downloaded on May 25,2026 at 18:19:42 UTC from IEEE Xplore. Restrictions apply.