Inspiration

Having failed to water my plants in time, I needed to be reminded when the soil got too dry. This was done as a final-year project at University (Computer Science).

What it does

Using Docker containers, PlantMo is a server and frontend for collecting data. The data is collected using a different device, not in the stack. A Raspberry Pi was used with a soil moisture sensor to collect soil moisture data. Another Pi Microcontroller (Pico) was used for collecting the temperature of a location.

Plants can be created by a user and set to remind them when to water a plant, details such as recommended temperature and soil moisture target percentage are chosen by the user and used for the reminders. Users can also search for their plant when adding a plant, which uses the Perenual API (Perenual.com) to gather plant details such as watering frequency.

How I built it

Angular was used for the front end with TailwindCSS. The site is fully responsive and can be used on any device, although the graphs will not display properly.

Currently, the source on GitHub is not open, although it will be open soon after the project has been marked.

Challenges I ran into

Wiring up the different chips/sensors to a Raspberry Pi, never doing any sort of electronics projects before.

Accomplishments that I'm proud of

Email notifications are sent when the soil moisture reaches a set threshold. Dashboard overview of all the plants. Exact soil moisture values are shown - no more guesswork! Figuring out electronic wiring diagrams and working with the Pi's GPIO.

What I learned

Growing plants is hard...

What's next for PlantMo

There still needs to be more work done (light tracking for example) in order to get more meaningful results. Fuzzy logic should be implemented in deciding whether to send an email (maybe using watering habits?). There should also be a focus on 'mass actions' for industrial (larger scale) applications.

Share this project:

Updates