Plant Bot | Automate Plant Care

Automate Plant Care

Similar projects worth following
Turn your pot into an automated plant watering and lighting system!
The Plant Bot is an open-source ESP32-based project that allows for a single PCB to perform the function of sensing moisture levels, watering, providing illumination as well as controlling & communicate with the user over WiFi/BLE.

While there are many similar projects out there like this, none of them incorporate all of the various sensors and pump driver into one nifty package that allows the user to "plug and play" essentially. This frictionless interaction is what I am aiming for so if you have any feedback or suggestions I am all ears! :)

Thank you for reading this and hope you enjoy the project. If you do, check out my other projects and support me on Ko-fi (

What is it

Plant Bot is a device that allows you to convert your favorite pot to play an active role in your plant caring duties. The PCB is designed to be powered over USB and contains all of the necessary functions, including the moisture sensor, reducing the need for extra wires. The result is a compact package that can enable plants to be looked after remotely and for much longer. I found this helpful with my office plants in today's world of working from home and when I am away from home for an extended period.

Before diving further, I have to thank JLCPCB for sponsoring this project. They have been a crucial part of the process by enabling me rapid prototype without compromising quality. All of the PCBAs related to this project were prototyped and assembled by them.  I highly recommend them for the high quality, cost, and time-efficient, if you intend to design and build any boards of your own.

Leveraging existing open-source projects, the Plant Bot can be programmed using Micropython and Arduino. Power users can also use the ESP-IDF tool for maximum customization.

Key Features;

  • Corrosion-resistant capacitive moisture sensor
  • Easy mounting by simply embedding the moisture sensor stake into the pot of your choosing.
  • Pump Driver
  • String LED Control
  • WiFi and Bluetooth Connectivity
  • Environment Sensor (Temperature + Humidity)

Use case | Fully Automated Plant Care

The example code included in this repository demonstrates the device's use case and capability.

This program measures the soil moisture, environmental temperature, and humidity (SHT20) and performs several actions based on the readings received. The moisture level is tied to the color of the WS2812B LED, where it cycles from red (driest) to blue (dampest). This gives the user visual feedback as to what the soil moisture level is like. It also has a separate LED that indicates that the pump is being driven to replenish the soil water levels. Finally, as it is based on an ESP32, it has full WiFi and BLE connectivity, which I have used to send the readings to a Thingspeak channel. Here is a screenshot of the data collected.


  • Microcontroller | ESP32-C3-MINI
    • WiFi | 802.11b/g/n
    • Bluetooth | BLE 5.0
    • FLASH | 4MB
    • Programming | USB over UART (CP2102)
  • Environment Sensor | SHT20
    • Temperature Accuracy | to within 0.3 °C
    • Humidity Accuracy | to within 3%RH
    • Interface | I²C
  • Motor Driver | DRV8837CDSGR
    • Peak Current | 1.2A
    • Voltage | 5V (VUSB)
    • Interface | GPIO
  • Power | 700mA 3.3V LDO
  • Mounting | FR-4 Stake into Soil

  • Register your interest in Tindie

    YJ05/07/2022 at 22:28 0 comments

    Thank you all so much for your interest and support in this project so far. 

    I am happy to report that I have been using some of these boards to look after my plants these past few weeks and am quite pleased with how the board is holding up. On that note, I am listing the Plant Bot on Tindie for now just to keep track of interest in the hardware, once there is sufficient interest I will get them made and shipped out to you! :) 

    Here's the link to the product page.

    Do let me know if you have any questions or suggestions as always! 

View project log

Enjoy this project?



Atratus wrote 05/12/2022 at 13:56 point

How have you solved the corrosion while it's in the soil ?

How long will the PCB keep working while it's in the soil ?

Is there a Outdoor-Housing planned / available ?

Is a Solar-Panel pluggable to charge the built-in accu ?

  Are you sure? yes | no

YJ wrote 05/12/2022 at 14:05 point

It doesn't suffer corrosion as long as you keep the soil level below the "Soil Level" lin on the silk screen. I have an STM32 version that has been operational for 4 years now, with no corrosion issues. 

There is an outdoor version doubling as a weather station. That will also have solar charging. Will update more on that project in due time.

  Are you sure? yes | no

Cat wrote 05/03/2022 at 17:13 point

Sorry, but..  I don't see the files. Schematics, code, etc... it seems it's just me, as EvilGremlin knows 555 is used...

  Are you sure? yes | no

YJ wrote 05/12/2022 at 14:03 point

  Are you sure? yes | no

morgan wrote 05/02/2022 at 17:35 point

Take my MONEY! This exact thing has been on my projects list for a while and with an upcoming road trip I need it more than ever. Nice work!

  Are you sure? yes | no

YJ wrote 05/02/2022 at 23:27 point

Haha, thank you. 

I think the idea behind it is to provide a quick and simple way to just make your pot "smart". Especially with like working from home now, I am having to travel to the office sometimes to just check on my plants, so I came up with the idea to make this. Also inspired by many other projects of this sort. :)

  Are you sure? yes | no

toufic wrote 05/02/2022 at 13:19 point

@EvilGremlin is this the paper you're talking about? Excited to read it:

  Are you sure? yes | no

Nathann wrote 05/02/2022 at 06:09 point

just an idea like that : what about a photo diode or some other sensors to get an idea of the usefull light the plant receive ?

  Are you sure? yes | no

YJ wrote 05/02/2022 at 23:23 point

I thought about it but I think light is generally something that you would notice when placing your potted friend. Also, the photodiode can easily be occluded by the leafy ones! :) 

The PlantBot is able to drive an LED strip too! 

  Are you sure? yes | no

Nathann wrote 05/03/2022 at 06:02 point

agrreed. My relefexion was that with that kind of feedback you could turm on the light just when needed if they can get a few hour of natural light from time to time

  Are you sure? yes | no

EvilGremlin wrote 05/02/2022 at 03:27 point

Why you use 555 instead of ESP32 to generate 100kHz? Also lowpass filter before opamp will help immensely with noise. There is great article on this: "Internet of Things Based Wireless Plant Sensor for Smart Farming, M. Monica Subashini, Sreethul Das, Soumil Heble, Utkarsh Raj, R Karthik"

  Are you sure? yes | no

YJ wrote 05/02/2022 at 23:25 point

Good point. This design was an iteration from one of the projects I worked on many moons ago so it's just a legacy design decision. I took a look at the paper and it's great. Thank for sharing it! 

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates