The World Water Forum determined that 70 percent of all water consumed in the world is consumed by agricultural practices, with much of that going to waste by farmers who generally have a poor water efficiency of 30-40%. Consequently, over 842 million small farmers go hungry and impoverished each year due to droughts, water shortages, famines, and crop failure, which can all be attributed to inefficient irrigation techniques that result in water wastage. Furthermore, according to the WHO, water wastage has contributed to rising poverty and famine levels which impacts over 2.5 billion people. This inspired me to develop a cheap and cost-effective solution that promotes and drives effective agricultural irrigation for small farmers.

What it does

A cheap wireless sensor network that monitors the health and growth of agricultural fields to improve farming efficiency and decrease environmental impact. It reads up to 5 soil moisture values and 5 tensiometer values as well as relative humidity, internal temperature, and external temperature. Even if the node disconnects, the code is such that the node will be easily added back into the cycle system. The wireless sensor network is designed for scheduled transmission, meaning that the gateway will call each node to transmit its data at regular intervals on a schedule determined by the user. This ensures that no packet will be lost, dropped, or any signal interference/destruction will occur between nodes. After the node is called and it transmits its data, it will go into a deep-sleep mode, and will wait until the next call from the central gateway to transmit its data. Each packet of information is constructed to use the least data possible, and contains all the sensor data. After the gateway receives the nodes data, it sends it to the raspberry pi and wait 5 seconds before calling the next nodes data. The raspberry pi, using the Moteino Dashboard software, will create an nginx server that the user can access from a desktop computer through the local host IP address (, or from an mobile computer or mobile phone through the raspberry pi's real IP address ( and login to the dashboard. The nginx server uses flask and uwsgi to host this server. The dashboard displays all the nodes on the gateway network as well as some sensor data, and allows the user to select any node to further look at its sensor values. Then the use will see the updated values from each sensor along with signal strength, start time, and other information. The user may click on any of the sensor data and it will take them to a page with a real-time updating graph and analysis page that allows the user to see the overall rise and fall of the data. The real-time graph also allows the user to zoom in and out, and move forward or backward in time. This will allow the farmers to make accurate conclusions about seasonal and daily changes in their crops. Furthermore, the raspberry pi logs all this data into a micro-SD card that the farmer can remove and analyze at anytime. This total system cost for 1 node and 1 gateway with a raspberry pi 3 will be around 30 dollars. For more nodes, the price will increase. This cost is quite cheap, and is cost-effective for small farmers to purchase and utilize to help them efficiently irrigate their fields and target problems within their crops. The sensor data will also allow the farmer to see their crops growth over time, and monitor the fertility of the soil. Thus, this system will allow small farmers to more effectively manage their farm.

How I built it

The system is built using Moteino's connected with Moteino weather shields to provide humidity and internal temperature values. The circuit was created using easyEDA, and simulated it with LTSPICE, using circuit analysis and electronic protocols to perform the math for the passive components. The Moteino Gateway Dashboard software system was used to create the dashboard, while the server was built with Nginx structure on flask and uwsgi to access the dashboard from any computer. The Vegetronix VH400 soil moisture sensors was used as the soil moisture sensors. The circuit was built using a breadboard for the circuit and jumper and alligator clips to connect most everything.

Challenges I ran into

I ran into many challenges with the code design of the scheduled transmission as well as the creation of the server. However, through trial and testing, I pushed through and fixed my code issues.

Accomplishments that I'm proud of

I am also proud of the efficiency of the system in providing such large amounts of real-time data from many nodes. I am also proud of the scalability of my system; it can be expanded to include many more nodes and sensors. I am also proud of how cheap my system is.

What I learned

I learned more powerful linux commands, more python, and I learned to persevere through problems. I also learned much about the problems prevalent in our society specifically in our environment.

What's next for Wireless Sensor Networks for Agricultural Applications

I will begin working on making a structural enclosure for the system as well as soldering a permanent circuit board. I want to fix the global water and food crisis by helping farmers efficiently irrigate crops and increase agricultural productivity. I will also expand this system to include more sensor options as well as cheaper options to decrease cost. I will begin talking to farmers to learn more about their specific issues to improve my system.

Built With

Share this project: