Inspiration
We were inspired by the everyday struggle of keeping houseplants healthy, especially for busy people or those new to plant care. Watching plants wilt due to forgotten watering or poor sunlight reminded us how helpful it would be to have a reliable assistant who ensures every plant thrives. We wanted to create something that helps people care for their plants but also helps them learn about their unique needs in a simple, user-friendly way.
What it does
Plant Pal is a smart plant care assistant that connects to a device with soil moisture and light sensors. It continuously monitors real-time data to give personalized care recommendations based on each plant’s needs. Users can easily pair the device with the app via QR code, receive instant notifications about watering schedules and lighting conditions, and explore a plant database for tailored insights. Users can also add plant names to track individual care routines.
How we built it
Hardware: We used an ESP32 microcontroller as the brain of the device, connecting it with a DHT11 sensor for temperature and humidity data, an LDR (light-dependent resistor) to monitor light levels, a soil moisture sensor to track soil health, and LEDs for visual plant status indicators. We also integrated an OLED display to show live sensor readings directly on the device.
Software & Backend: For the backend, we built a Flask server to handle data processing and communication between the hardware and the app.
Frontend: We developed the app using JavaScript and React Native, creating a smooth, responsive interface for users to view real-time plant health updates and receive notifications.
Deployment: We hosted the backend and connected services using Replit, which allowed us to manage our domain and deploy the project efficiently.
Challenges we ran into
Soldering components: Ensuring stable connections between all sensors and the ESP32 required careful soldering, and troubleshooting loose connections took time.
Setting up the environment: Configuring the development environment for hardware and software, especially syncing the ESP32 with our backend, posed initial difficulties.
Backend and frontend integration: Ensuring the Flask backend communicated smoothly with the React Native frontend was challenging, especially with real-time data updates.
Frontend configuration: Designing and adjusting the frontend interface to meet our functional needs and ensure a user-friendly experience required multiple iterations.
Integrating sensor data into the app: Mapping raw sensor data to meaningful insights within the app took significant effort, including calibration and data formatting for display.
Accomplishments that we're proud of
Successfully built a fully functioning prototype that connects hardware to an intuitive app.
Designed a smooth and easy pairing process using QR codes.
Created a user-friendly experience that demystifies plant care, even for beginners.
Developed a scalable database to support more plants as we grow the platform.
What we learned
The importance of precise sensor calibration and testing in different real-world conditions.
Creating an efficient data flow from hardware to app with minimal latency.
The value of user-centric design in making tech feel approachable and helpful.
Small features like QR pairing and timely notifications can significantly enhance user experience.
What's next for Plant Pal
We plan to integrate an AI-powered predictive analysis model to enhance the accuracy of our insights and provide even more precise care recommendations to our users. For larger-scale users, such as farms or greenhouses, we aim to introduce weather stations that consolidate data from multiple sensors onto one centralized platform. Our ultimate goal is to build a self-improving system that continuously learns from data, making Plant Pal smarter and more helpful over time.
Built With
- arduinoide
- esp32
- flask
- javascript
- perenual-api
- python
- react-native
- replit

Log in or sign up for Devpost to join the conversation.