Currently, according to the USDA, 80% of US water consumption is in the agricultural sector. This figure remains more or less the same all over the world and is a serious concern as water sources dwindle around the globe; a solution needs to be put in place to make water consumption in agriculture more sustainable. Therefore, we made an Arduino microcontroller that could sense the moisture levels of soil and water the plant appropriately.

What it does

It waters a field remotely based on the moisture content of the soil and records the moisture content and time in google sheets for further analysis. This data goes is served to a web app and updates automatically.

How I built it

  • A micro-controller is used (ESP8266 with wifi capabilities) to measure using soil moisture sensor (YL-69 and YL-38).
  • The soil moisture sensor has two electrodes and will conduct electricity if some level of moisture is present, if there is no moisture present the resistance will be infinite.
  • The resistance measured (inversely proportional to moisture content) and sent to the ESP8266.
  • There are 3 outputs:
  • This then gives an output to a red led if moisture is more than 50% the red led will shine to show that the soil is moist and does not need to be watered.
  • If the moisture level falls below 50% then the green led will glow and the pump will water the field. The pump is connected through a relay.

  • The moisture measured along with the date, timestamp, resistance and moisture content is automatically recorded in a google sheet which is shared with the entire team.

  • This is then used in our web app which tracks its moisture level

A diagram has been appended along with the operations used (in the image gallery). Link to the dashboard is also included in the link section.

Challenges I ran into

Our teammates operated in different time zones - Bahrain and the United States - which made collaboration incredibly difficult amongst us. This made time management a very real and difficult challenge, especially given that we decided to work on a hardware project that required interdependency.

In addition to this, although we were able to implement graphs within python, we were unable to actually transfer that into HTML, which was unfortunate since we would have loved to implement visualisation tools within our project website.

Accomplishments that I'm proud of

We built an actual project that is able to perform its full intended function in its prototype form - a feat we were unsure we would actually be able to achieve.

What I learned

We learnt how to use Arduino sensors and create a dashboard to track it. We also learned about the online web app maker, wayscript, which we used to access our google spreadsheet data and further transfer modules seamlessly between all the different languages we ended up using.

What's next for Automated Irrigation

We would also like to implement a temperature sensor since another characteristic of wasteful water consumption in agriculture is the fact that farmers oftentimes water their crops in broad daylight when evaporation is at its peak although the ideal times remain at daybreak and early evenings. Using a combination of both temperature sensors and low moisture levels in the soil to track when water ought to be given will definitely make our product even more sustainable. We would also potentially like to create a database of crops and their watering needs so as to be fully facilitating (eg, rice requires high moisture at all times to grow).

Share this project: