Plant Pal, Your New Discrete Clock

by minimatter3d in Circuits > Arduino

312 Views, 6 Favorites, 0 Comments

Plant Pal, Your New Discrete Clock

Plant Pal, Your New Discrete Clock!
IMG_6622.JPG
IMG_6633.JPG
IMG_6629.JPG
IMG_6621.JPG
IMG_6623.JPG
IMG_6635.JPG
IMG_6626.JPG

Meet Plant Pal!

A simple and cute smart planter that not only monitors your plant’s health but also acts as a modern timekeeping device on your desk!

Traditional pot plants are large, unsightly and quite rudimentary. I wanted to change this by creating a new, modern version that’s functional and also practical. Something that doesn’t just hold a plant but also holds useful information! Designed with personality and functionality in mind, Plant Pal uses a NodeMCU and an OLED Display to not only display the current time, but also express your plant’s current feelings! It has an integrated temperature and soil-humidity sensor to monitor your plant's health, and a modular 3D-printed body to ensure maximum functionality!

The result is a friendly plant companion that shows the time and even displays statistics about the plant's health.

It's both a planter and a clock, and an adorable one at that!

Supplies

board.png
dd0e48146a.jpg
bb6be0d843.jpg
OKY3420-2-TTP223-Switch-Button-Self-Lock-Capacitive-Touch-Sensor-Module-7-600x600.jpg

Plant Pal is pretty simple and doesn't require that many components.

What you'll need in total is:

Electronics

  1. NodeMCU (ESP8266)
  2. 0.96" or 1.3" I2C OLED Display
  3. Capacitive Touch Sensor Module
  4. Soil Moisture Sensor Module
  5. Temperature sensor (DS18B20)
  6. Jumper Wires

Tools

  1. 3D printer
  2. PLA or PETG filament
  3. Hot Glue Gun
  4. Glue Sticks

Mounting

  1. M4*8mm x 4
  2. 8mm Magnets

Software

  1. Arduino IDE or VS Code + Platform IO
  2. Optionally, Fusion 360, if you’re designing your own planter
  3. Libraries: Adafruit SSD1306, Adafruit GFX, One Wire

Creating the Planter

IMG_6568.JPG
IMG_6569.JPG
IMG_6573.JPG
IMG_6575.JPG
IMG_6577.JPG

I modelled the entire planter in Fusion 360, making sure it was aesthetic and modern.

The key design features were the modular setup with the detachable sensor body and the drip tray at the bottom. I also had drainage holes in the main planter to ensure that there wouldn’t be overwatering.


You can try to model your own Plant Pal or just download my files from the step below!

If you decide to design it yourself, export the STL files once done in Fusion360 and then slice the files for printing!


I printed my parts with no supports except for the electronic casing.

The quality and infill for the parts were standard at 0.2mm and 20% respectively. I increased the wall width for the main pot to around 3 in order to ensure it was completely waterproof and sealed.


Assembly of Electronics

IMG_6596.JPG
IMG_6593.JPG
IMG_6595.JPG
IMG_6594.JPG
IMG_6591.JPG
IMG_6590.JPG
IMG_6592.JPG

To begin assembly of your Plant Pal, you’ll need to start with its brains or electronics!


First, make sure the 3D printed casing is clean and free from any print defects.

Then, mount the OLED Display, Touch Sensor and Temperature sensor inside the casing using some hot glue.

Make sure to secure the components in place using plentiful amounts of glue. You may also choose to add extra glue over the exposed PCB in order to ensure there are no shorts (like how I did later on), but this step is optional.


Once this is done, we can begin with the wiring!

Note: Make sure to keep the wires short and tidy since they’ll need to fit inside the planter’s front shell.


First, connect the OLED display to the NodeMCU with:

  1. VCC > 3.3v on MCU
  2. GND > GND on MCU
  3. SDA > D2 on MCU
  4. SCL > D1 on MCU


Once that’s done, wire up the soil moisture sensor and the temperature sensor to power via:

  1. VCC > 3.3v on MCU
  2. GND > GND on MCU


Then connect the soil moisture sensor’s analog output to A0 on the NodeMCU.

Once that’s done, connect the temperature sensor to D4 on the MCU board before finally connecting the touch sensor button to D5 on the MCU board!


Then, connect a USB-C cable to the NodeMCU before packing it away inside the casing and sealing it up using four M4 *5mm screws. This will keep the assembly together neatly and protect it from any external elements!

Assembly of Pot

IMG_6578.JPG

Before we can continue, though, we need to do one last step, which is preparing the Pot body itself.


All it requires is inserting (or gluing) a small magnet into the cutout made for the enclosure.

These magnets will help keep the whole Plant Pal together and make it appear sleeker.

Uploading the Code

Screenshot 2025-12-02 174130.png

Now it’s time to breathe life into your Plant Pal!

  1. First, connect your NodeMCU to your computer using a USB-C cable
  2. Open Arduino IDE.
  3. Download and place all 3 files in this step into one folder.
  4. Then open the main.ino file within Arduino IDE
  5. Make sure you have installed the following libraries (via Sketch > Include Library > Manage Libraries):
  6. Adafruit GFX
  7. Adafruit SSD1306
  8. OneWire
  9. DallasTemperature
  10. Then, select the correct board and port via:
  11. Tools > Board
  12. Tools > Port > COMxx
  13. Finally, hit upload, and you’ll be done!


Here's a quick overview of the code and what it makes the MCU do.

First, the NodeMCU reads the temperature from the DS18B20 before measuring the humidity from the analog pin.

Then, it calculates the plant’s “health” through some simple addition/subtraction, which dictates the overall mood of Plant Pal’s face!

Afterwards, it displays the current screen, only updating when required and changing when the touch button is pressed.


The code itself is quite simple yet effective!

Assembly

IMG_6636.JPG
IMG_6632.JPG

Now we're basically done!


Simply insert the electronics module into the side of the pot, making sure the humidity sensor's prongs enter through their allocated hole.

Then, route the wire from underneath the pot and out the back end, ensuring the final clean look.

Done!

Plant Pal, Your New Discrete Clock!
FW5HE1DMI4YB3FF.jpg
IMG_6634.JPG
IMG_6624.JPG
IMG_6619.JPG
IMG_6630.JPG
FEBRSTPMI4YB38Y.jpg
FOZI2PZMI4YB2Q0.jpg
FAJHX63MI4YB2YE.jpg

And that's it!

That's all it takes to make a Plant Pal.

To set the current time, simply send your time through serial to the NodeMCU in the format: "xx:xx" (e.g., "12:30" and it will continue to track it!

Pet Pal is more than just a normal planter, though; it's a character that has actual use on tabletops and other setups. It not only tracks time, but it also displays other vital info, making it the perfect next weekend project!


Happy building, and may your plants (and clocks) always stay happy!