Inspiration

With the frequency of climate disasters occurring as a result of global warming, droughts are becoming more common across the country. One of our members, as a California native, has brought up their desire to keep plants in their home while not wasting the precious resource of water in the process. Realizing this may be a desire among many people, we decided to develop a way to efficiently water plants based on the species and the average moisture levels needed for them to survive.

What it does

Using AI, the product recognizes the flower/plant species and calculates the optimal soil moisture necessary for it to survive. By using this as a threshold value, the moisture sensor tracks the moisture level every hour, and waters the plant if below that threshold.

How we built it

We utilized Arduino and a water pump for the hardware aspect to control the watering, as well as a SeeSaw moisture sensor for moisture detection. In terms of software, we used TensorFlow (running on Google Collab) to upload pictures of the plant and get image recognition, and then python/Arduino software to use the plant type to calculate the threshold for moisture and set the loop for watering it based on that threshold.

Challenges we ran into

  • Image formatting: It was difficult to take an image of the plant we have and upload it to the database in a format that is automated.

Accomplishments that we're proud of

  • Trained an AI model to recognize flowers and various other plant types.
  • Python to Arduino communication for watering and moisture sensing system.

What we learned

  • How to communicate with Arduino using Python through the serial port
  • How to create an image classification AI through TensorFlow using Google Collab

What's next for OptiGrow

  • Streamlining image capture and automatic input for plant type
  • Implementing app/IoT to allow users to manually water and monitor plant health (possibly using Blynk IoT or Adafruit software)
  • Improved material, such as acrylic or injection molded parts to provide greater product stability

Built With

Share this project:

Updates