Water Reminder Plant Pot
For this project I made a plant pot which lets you know when your plant needs water. I came up with this idea because I always forget to water my plant and I needed some kind of reminder to do it. I also felt very inspired by Tamagotchi's during this project and thought it would be fun to somehow combine the two ideas. With my project I want to create the same kind of feeling to watering a plant as taking care of a Tamagotchi.
It works like this: The sensor measures the moisture level of the soil, and will play an animation on the OLED screen based on that number. When your plant has had enough water, a happy animation will play. When your plant is drying out, a sad animation will play.
Supplies
Tools
- Laser cutter
- Soldering iron
Supplies
- Arduino Uno
- USB-B Cable and USB Adapter
- 0.96 inch I2C OLED Display
- Grove - Moisture Sensor
- 7x Jumper Wires M/M
- Solder-able Breadboard
Plant pot
- MDF plate
- Paint
- 2x small pedal bin bags
Programs
- Illustrator
- Aseprite
- Ifranview
- OLEDanimations
- Arduino IDE
Assemble Components on Breadboard
First, I started off with doing some small experiments with the components to see if I could get them to work and how I could get the moisture meter and screen to interact with each other. After doing that, I assembled the components like the image above. I put the screen on a breadboard so that it's easier to attach it to the pot later on, but it can also work without breadboard.
Animation
I made 2 short animations in Aseprite for the OLED screen. To make them playable on the screen I followed the tutorial from the channel Volos Projects.
First, I exported my Aseprite animation with the frames as individual .png files. To convert the .png images into bitmap files I used Ifranview. After that, the bitmap files need to be turned into code. To do this, I put the files into the OLEDanimations program like in the tutorial I linked before. Using this code you can put animations on the OLED screen using Arduino IDE.
The Code
Using this code the moisture sensor will constantly check the values of the soil. When the value reaches below 300, the sad animation will start to play on the screen.
These values can be changed based on which plant you have and how much water your plant needs. I found these values to be working the best in my case. For this plant it takes about 7-9 days for the value to reach below 300 after I watered it. Which should be the right amount of time for succulent plant to need water.
Downloads
Laser Cutting the Plant Pot
For the plant pot I used a simple box design which I found on Makercase. I made my own engraving pattern using Adobe Illustrator and exported everything to a .dfx file. For this step its important to use the right measurements for the hole. The measurements I used in my file turned out to be a bit to small for the screen to fit through.
For the next step, I laser cut the design on a MDF plate and assembled the pot with wood glue.
Downloads
Soldering the Components and Assembling the Pot
Thankfully this project doesn't need a lot of soldering. I used a solder-able breadboard, which is completely optional since the Jumper Wires can be soldered directly onto the pins of the OLED screen.
After doing the soldering work I put everything attached everything into the pot. I put a plastic layer and an extra layer of cardboard on top of the Arduino to protect it against the soil and water. After doing that, the pot is ready to be used for a plant. Finally, I depotted a plant and put it into two small pedal bin bags which I attached to the pot.
Conclusion
I feel like I learned a lot during this project. Since this is my first time using an Arduino, I felt a bit overwhelmed at the start of this project as I wasn't very confident in my technological abilities. I came up with this idea pretty early on in the project but at first I wasn't sure if I would be able to implement it. To get over this feeling, for me personally it helped a lot to start with small. First I started with doing small experiments with the different components before I tried to put everything together. Ultimately, I had a lot of fun working on this project and am very satisfied with the results!