Inspiration
Our initial goal for this project was to make a hardware hack to solve environmental issues. After forming our group in a team-building meeting, we found a project online automating soil moisture sensing using an Arduino. We decided to take inspiration from this project and build a way to alert users when to water their plants.
What it does
The project displays a website for the user that helps them determine the plants soil moisture over time and alerts them as to when the plant needs to be watered based on the threshold dryness value. The moisture sensor measures the soil moisture using an Arduino and uploads it to the database for analytics.
How we built it
We built the program first using an Arduino microcontroller and soil moisture sensor. We first soldered a 3 pin screw pin terminal to the soil moisture sensor and created a circuit schematic to wire up the sensor to the board. Then, we wrote Arduino code in C++ to read moisture values from the sensor and print them to the serial port. A python script then read the corresponding string using pyserial and sliced it to get the integer moisture value. Then, this value was uploaded to a MongoDB database, which was used to create a moisture value over time graph and alert users when the plant needs watering, embedded in our website. We made a website using Flask to display when users should water their plants at the url bonelessplants.tech. Additionally, we made a CAD design using Onshape for an enclosure for the Arduino and want to 3D print it in the Makerspace.
Challenges we ran into
We initially had challenges interpreting the data printed over the serial port as slicing the data and setting up the library correctly with pyserial was challenging. We also had to learn Flask from scratch, which was difficult because there was new syntax and processes. Flask was difficult to figure out
Accomplishments that we're proud of
We're proud of the fact that this was our first time using Arduino for 3 members and the first time using Flask to build a website while also implementing a project in one day.
What we learned
We learned a number of new frameworks, languages, and hardware. We also learned how to work on a team collaboratively to build a project in a short time.
What's next for Soil Moisture Alert App
We plan on 3D printing the enclosure for the Arduino to keep the technology safe. We also will potentially change the powering of the sensor to prevent soil corrosion and save power usage. In the future, we'll expand to have email and push notifications and also potentially make an app and improve the user interface.
Log in or sign up for Devpost to join the conversation.