Ripy the smart flowerpot
a self-watering plant pot with configurable parameters
Author: Nedelcu Andreea
GitHub Project Link: https://github.com/UPB-PMRust-Students/project-andreea-35
Descriptionβ
Ripy is a plant pot add-on that waters your plant regularly! You set a desired humidity level and it adds water accordingly so as to maintain it. The display is where you can view your plant's conditions (current humidity / temperature) or set parameters (desired humidity level / number of times to water the plant per day).
Motivationβ
Sometimes you have households where family members are away more often than they are at home. Even those who do spend a lot of time inside might go on vacation or have to be out of town for a couple of days, maybe a week - and not even the least demanding of plants can go unwatered that long! Ripy makes sure any green friend, fussy or not, is maintained happy and hydrated!
My family has a bunch of plants around the house but some aren't exactly thriving due to us getting busy and forgetting to water them or leaving them unwatered while we're away on vacation. That's what inspired me to take on this project!
Architectureβ
Logβ
Week 5 - 11 Mayβ
Week 12 - 18 Mayβ
Week 19 - 25 Mayβ
Hardwareβ
Raspberry Pi Pico W - the brains: reads sensor data, controls the relay module (which switches the pump) and updates the LCD;
Capacitive Soil Moisture Sensor - measures the soilβs moisture level through analog output. The Pico reads this to determine if watering is needed;
LM35D Analog Temperature Sensor - measures ambient temperature through analog output; Values are displayed on the LCD;
5V Relay Module- acts as a switch for the water pump. Triggered by a GPIO pin from the Pico;
Water Pump - turns on when the relay is triggered to water the plant;
1602 LCD Display with I2C Adapter - shows current humidity, temperature, and user-set parameters. Connects to the Pico via I2C;
3 Γ Push Buttons - provide input for adjusting settings like desired humidity and number of waterings per day. Each button connects to a GPIO pin.
Schematicsβ
KiCAD schematic TBA
Bill of Materialsβ
Device | Usage | Price |
---|---|---|
Raspberry Pi Pico 2W | The microcontroller | 39.66 RON |
Capacitive Soil Moisture Sensor | The soil moisture sensor | 4.77 RON |
LM35D Analog Temperature Sensor (TO-92) | The temperature sensor | 4.99 RON |
Water Pump | The water dispenser | 13.49 RON |
ΓΈ 8mm 1m Transparent Tube | Water transportation from the pump to the pot | 2.92 RON |
1 Channel 5V Relay Module | Water pump activation | 4.99 RON |
1602 Green LCD Display with I2C adapter | Display for our parameters | 26.83 RON |
3x 6 x 6 x 6 Push Buttons | Interaction with the display | 1.08 RON |
Softwareβ
Library | Description | Usage |
---|---|---|
embedded_hal | Hardware abstraction layer for embedded systems | Used for abstracting hardware interactions |
gpio | GPIO manipulation | Used for interacting with GPIO pins |
defmt | Efficient logging for embedded systems | Enables detailed logging for system diagnostics and debugging during development |
embassy-rp | Peripheral access library | Used for initializing and interacting with peripherals |
embassy-time | Time management library | Used for time-based operations such as delays |
heapless | Data structure library | Used for String vectors |