Inspiration

We recognize that marginalized communities exist within Canada, one being the Indigenous community. We researched the difficulties of agriculture and ultimately sustainable living within the Northern regions of Canada and found that land and soil conditions are poor. Furthermore, more specifically for youth, gardening and agriculture fosters a sense of oneness with nature (https://www.cbc.ca/newsinteractives/features/ottawa-indigenous-youth-garden). Overall, Urban Sprout advocates for healthy and sustainable living through agricultural practices.

What it does

Our project is an IoT device that measures the moisture of the soil using a soil moisture sensor. If the moisture of the soil is less than 25% then the soil is automatically watered using a cup with a servo. A web app is also used to display the optimality of the data, where when green, there is enough moisture, where when red, water is needed, thus servo is activated.

How we built it

For this project we used a moisture sensor which is connected to our ESP8266. This moisture sensor gets data on how damp the soil is. This data is returned to the ESP8266 and from there it does 2 things. The first thing is that it checks if the soil is less than 20% dry and if so it triggers a servo motor to pour water into the soil to add moisture. When there is enough moisture, the motor stops. The ESP8266 also makes a POST request to our flask server with the current moisture of the soil. With this information our Web App displays the optimality of the soil.

Challenges we ran into

  • We faced a lot of issues with the ESP8266 and the configuration of UofT's wifi since it requires a username and password, which we were not able to figure out how to connect the ESP8266 to use Eduroam wifi
  • We also struggled a lot with setting up the ESP8266 that it is able to send POST requests to our web server
  • We faced a conversation problem between Python and JavaScript *Scrapped React.js frontend and flask backend

Accomplishments that we're proud of

  • We successfully setup flask and used it properly
  • We got Eduroam wifi to work with our ESP8266
  • Connection from ESP8266 -> Flask -> Frontend

What we learned

  • How to use Flask
  • How to use Requests
  • Wifi configuration
  • How to use servo motors and moisture sensors
  • How to use ESP8266 Microcontroller
  • Javascript and @keyframes

What's next for Urban Sprout

  • Cleaner web app using React.js
  • Cleaner hardware design
  • Preparation before hackathon
  • Sleep
Share this project:

Updates