Autonomous Greenhouse System Using Arduino UNO — (POC)

Farhaan Nazirkhan
3 min readOct 31, 2022

This project was built as part of an IoT Smart Farming competition held at University of Mauritius.


The drastic changes in climate over the past years have brought in its trail several issues. Adverse changes in weather patterns have indubitably taken a toll on the farming process. Global warming, anti-cyclones, torrential rainfall and other unprecedented climatic changes make it problematic for farmers to take necessary measures to cater for their plants.

Greenhouse farming which is more common these days has also faced the adverse effects of climate change. The lack of basic needs for a plant to survive such as inadequate water, fertilisers, sunlight and proper ventilation and temperature due to uncertain weather patterns, hampers plants’ growth, causing them to wither. Likewise, overwatering or exceeding the quantity of the intake of plants cause them to die. Eventually, this can also lead to the wastage of resources.

Hence, any change in weather behaviour will trigger a specific sensor to provide the correct quantity of essentials to plants by using the Arduino microcontroller board. This project will allow greenhouse farming to be more reliable by making it autonomous and also less costly.

Our Aim

Through the usage of different sensors alongside a microcontroller board such as an Arduino, we wish to make greenhouses more autonomous and efficient.

Our objectives

· To automate the irrigation process by using a water pump and tubes to deliver water to the plant when the moisture of the soil is low.

· To automatically regulate the pH levels of the soil by delivering a solution when required.

· To automatically regulate the temperature of the greenhouse using fans.

· To automatically adjust the light levels by using a grow light to ensure an adequate amount of light for the plant for photosynthesis to occur.

· To automatically and wirelessly send a message to a mobile device notifying the user that the tanks are almost empty.

The functions of the system

A Soil Moisture Sensor detects the moisture content of the soil and sends the data to the microcontroller. The microcontroller interprets the data and activates a water pump if the moisture content is less than 20% and stops when it reaches 60%.

A Soil pH Sensor measures the current pH of the soil and sends the data to the microcontroller. The microcontroller activates a pump to supply a solution to decrease pH level if the alkalinity of the soil is greater than 6.4 and activates another pump to supply a solution to increase pH level when the alkalinity is less than 5.4.

A Temperature Sensor measures the temperature of the greenhouse and sends the data to the microcontroller. The microcontroller activates a fan if the temperature is greater than 24 °C and switches off when the temperature is below 18 °C.

A Photoresistor connected to a 10K ohm resistor is used to detect the current light inside the greenhouse and send the value to the microcontroller. The microcontroller activates a 6000k LED light when the luminosity drops below a threshold value to ensure the plant receives enough light.

A Water Level Sensor submerged into the tanks sends a signal when the liquid level is low, that is when the circuit is closed. The microprocessor then uses a GSM Module to send a message wirelessly to a mobile device notifying the user that the tanks are almost empty.

The components used to demonstrate the practicality of the proposed solution:

PS: Unable to test for soil pH due to unavailability of this sensor but the function(code) is still available below.
Note that, the 12 volt power supply for the grow light and 5 volt power supply for the GSM Module is not included in the above list of components diagram.

The wiring diagram of the different components:

The complete code for the system can be viewed from here.

I deeply appreciate every member of this team for showing relentless effort for this project.
Sarwin Rajiah , @Farhaan Nazirkhan, @ Anissah Nazirkhan

Image of the team members

Thank you so much for taking the time to read my article. Do not forget to follow me so that you do not miss out any future articles. You may also check out my portfolio from here.



Farhaan Nazirkhan

A proactive Software Engineering student with a passion for computer programming and Information Technology.