Inspiration
I’ve always enjoyed growing plants and experimenting with small electronics, so I decided to combine both hobbies. I wanted a simple way to see when plants actually need water or light without guessing.
Connection to My Hobby
I spend a lot of time building small electronics projects and tinkering with sensors, microcontrollers, and Raspberry Pis. I also like caring for plants and setting up indoor grow lights. PlantLink combines both interests — it’s a hands-on electronics project that makes plant care easier and more data-driven. It’s satisfying to design a system that’s both useful and tied to something I already enjoy.
What it does
PlantLink uses ESP32 sensors to measure soil moisture and light levels, sending the data to a Raspberry Pi that runs a local web dashboard. The dashboard shows live readings and lets users toggle grow lights.
How I built it
- Hardware: ESP32, capacitive soil-moisture sensors, grow-light
- Network: MQTT broker (Mosquitto) on Raspberry Pi
- Backend: Python with Flask for data handling and APIs
- Frontend: HTML, CSS, and JavaScript with Bootstrap for the dashboard
- Hosting: Nginx serving the site locally
Challenges I ran into
- Calibrating sensors for consistent readings
- Handling Wi-Fi and MQTT reconnections
- Debugging JSON payloads and topic formatting
Accomplishments that I'm proud of
- Built an end-to-end IoT system that works reliably
- Got real-time updates working across multiple devices
- Created a simple, usable dashboard for live plant data
What we learned
- Setting up MQTT communication between microcontrollers and servers
- Calibrating and stabilizing analog sensor inputs
- Managing local hosting and asynchronous web updates
What's next for PlantLink
- Add automatic watering with a servo-controlled valve
- Store data in the cloud for long-term tracking
- Build a mobile-friendly interface for remote access
Built With
- Hardware: ESP32, Raspberry Pi, capacitive soil-moisture sensors, grow lights
- Software: JavaScript (MQTT.js), HTML, CSS, Bootstrap
- Networking: MQTT (Mosquitto), Nginx
- Tools: VS Code, PlatformIO, Tailscale
Built With
- bootstrap
- css
- esp32
- html
- javascript
- mqtt
- nginx
- platformio
- raspberry-pi
- tailscale
Log in or sign up for Devpost to join the conversation.