-
-
Overview of Hardware and Plant
-
The esp32 is connected to a lux sensor and soil moisture sensor
-
The Raspberry Pi Zero 2 W is connected to a temperature sensor
-
Plant with temperature probe inserted
-
Home Screen
-
Taking Photo Screen
-
Processing plant....
-
Processing plant with multiple options
-
Finish your plant!
-
Nicholas
-
Dashboard page
-
more info page
PlantPals
Inspiration
The inspiration behind PlantPals came from the growing need for accessible plant care solutions, especially for beginners who may feel overwhelmed by the complexity of nurturing their plants. With the rise of smart technology and IoT, we saw an opportunity to create a tool that simplifies plant care, combining sensor data with easy-to-understand insights. We wanted to empower users by making plant care more intuitive, accessible, and data-driven, and subsequently to increase enthusiasm for botany and agriculture.
What it does
PlantPals is an IoT system that helps beginners monitor and care for their plants effortlessly. It connects an ESP32 chip, which gathers sensor data direct from the plant (like soil moisture and light levels), and sends this information to a central Raspberry Pi server running Flask and connected to a temperature sensor. Through the PlantPals app, users can take a picture of their plant to identify it and load personalized care data, give their plant a name and “birthday”, and monitor their plant’s health levels in conjunction with a plant information display when the app is used alongside our PlantPals device.
How we built it
We built PlantPals using a combination of hardware and software. On the hardware side, we used a Raspberry Pi to host the Flask server, which is also attached to a one-wire temperature sensor that would monitor the room’s temperature. We connected an ESP32 chip to gather sensor readings which capture key environmental data that would be nearby the plant, such as soil moisture and lux for light. On the software side, we developed a React Native mobile interface using Expo Router that connects with the Plant.id API to help users identify plants and receive care advice, and display health bar data for your plant.
Challenges we ran into
One of the main challenges we faced was dealing with limitations from the 3rd party API. The information we were given sometimes wasn’t complete or in the format we wanted. Since this was our first time working with hardware, we also ran into a few related issues as some of the documentation was sparse. We also ran into some wiring issues from limited documentation of pin diagrams for some of our sensors and devices, so we needed to think critically when testing how our PlantPals device worked.
Accomplishments that we're proud of
We're proud of building a complete and fully responsive system; none of us have ever worked on hardware and network projects before as 4 previously software-focused computer science students, so being able to wire everything up, take in and process sensor data, and send the data over wifi was a huge accomplishment for us. We're also proud of our front-end; we used the Plant.id API for their identification functionality and information retrieval, and managing and passing along all the data retrieved from the API took a lot of work. The fact that we managed to pick up so many new skills this hackathon is something we are all super happy with!
What we learned
We learned about how to work with microcontrollers like the ESP32, how to set up a Flask server on a Raspberry Pi, and how some different sensors work. We deepened our understanding of React Native and how to integrate and call a unique API. We also spent a lot of time troubleshooting; whether it was sensor communication issues, wiring issues, or design issues of the camera screen looking a little bit weird without us having to tinker with it, each of us learned how to adapt to obstacles on the fly.
What's next for PlantPals
Currently, PlantPals supports only one plant for a user who would like to take care of their houseplant. Our next step is to make PlantPals scalable so that it can be used for agricultural purposes, allowing farmers to monitor a variety of environmental factors–for example, in their garden or greenhouse. We’ve kept this in mind during the design of our system: we have a temperature sensor connected to our Pi which would act as our server, so there would be one per greenhouse, but we would have many PlantPals devices per greenhouse so farmers can monitor different varieties of plants and areas. This would help the agricultural field introduce a level of automation into their work, so they can focus more on innovating new practices and diagnosing plant issues (which we can also integrate into PlantPals using the Plant.id health diagnosis function!).
Log in or sign up for Devpost to join the conversation.