Plant Bot | Automate Plant Care

Automate Plant Care

Similar projects worth following
Starting from
basicbro has 15 orders / 1reviews
Ships from United Kingdom
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 an innovative device that transforms your beloved pot into an active participant in plant care. With a USB-powered PCB that seamlessly integrates essential features like a moisture sensor, it eliminates the need for additional wiring. This sleek design facilitates remote plant care over extended periods, proving invaluable for my office plants in the current work-from-home era and during prolonged absences.

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.
  • Hassle-free setup: Simply insert the moisture sensor stake into your chosen pot.
  • Integrated pump driver.
  • Multi colour LED control.
  • WiFi and Bluetooth connectivity.
  • Battery-powered operation as a low-power IoT device.

Use case | Fully Automated Plant Care

The provided sample code showcases the device's capabilities. It measures soil moisture and light levels, and takes actions based on the data. The WS2812B LED's color spectrum, ranging from red (dry) to blue (moist), offers an intuitive visual representation of soil conditions. An additional LED signals pump activation for soil hydration. Built on the ESP32 platform, Plant Bot boasts comprehensive WiFi and BLE connectivity, which I've utilized to transmit data to a Thingspeak channel. A data snapshot is provided below.

Use case | Connected Plant Node

Harness Plant Bot's low-power design to connect your plants to the internet wirelessly. I've developed demos that allow Plant Bot to send Telegram notifications or relay measurements to IoT platforms like Thingspeak or Firebase. With the ESP32's minimal power consumption during deep sleep, a single coin cell battery can last up to a week with daily updates. Reducing update frequency extends battery life even further. Quick USB-C charging ensures Plant Bot remains a reliable companion for plant enthusiasts with extensive collections.


  • Microcontroller | ESP32-C3-MINI
    • WiFi | 802.11b/g/n
    • Bluetooth | BLE 5.0
    • FLASH | 4MB
    • Programming | USB over JTAG
  • Light Sensor | TEMT6000X01
    • Angle of half sensitivity | ± 60°
    • Peak sensitivity | 570nm (suitable for plants)
  • Motor Driver | DRV8837CDSGR
    • Peak Current | 1.2A
    • Voltage | 5V (VUSB)
    • Interface | GPIO
  • Battery Charger | BQ24073RGTR
    • Over Temperature, Voltage & Short Circuit Protection
    • Charge Current | 1.5A
  • Power | 700mA 3.3V LDO
  • Mounting | FR-4 Stake into Soil

  • Final Design Testing & Bulk Order Announcement for Plant Bot

    YJ08/13/2023 at 14:44 0 comments

    As the "Plant Bot" project progresses, we've reached pivotal stages: the final design testing and the initiation of a bulk order. Our comprehensive testing phase was instrumental in validating Plant Bot's capabilities and efficiency. Here are the key takeaways:

    • Moisture Sensing: The corrosion-resistant capacitive moisture sensor accurately gauges soil conditions, with an intuitive LED color spectrum ranging from red (dry) to blue (moist).
    • Ease of Setup: The user-friendly design allows for a hassle-free setup, with the moisture sensor stake easily inserted into any pot.
    • Integrated Features: Plant Bot boasts an integrated pump driver and multi-color LED control, enhancing its functionality.
    • Connectivity: With both WiFi and Bluetooth capabilities, Plant Bot ensures seamless data transmission, as demonstrated by its integration with platforms like Thingspeak.
    • Battery Efficiency: Designed as a low-power IoT device, Plant Bot's battery life is impressive. With the ESP32's minimal power consumption during deep sleep, a single coin cell battery can last up to a week with daily updates.

    With the successful conclusion of our testing phase, we're excited to announce that preparations are underway for a bulk order of Plant Bot. This move signifies our confidence in the product and its potential in the market.

    A special shoutout to JLCPCB for their unwavering support and expertise. Their role in rapid prototyping without compromising on quality has been invaluable. For those embarking on board design and assembly, JLCPCB is a top recommendation for their exceptional quality, cost-effectiveness, and efficiency.

    As we move forward, a big thank you to everyone who has been part of this journey. Your feedback, support, and enthusiasm have been the backbone of Plant Bot's success. Stay connected for more updates on this innovative journey!

  • Announcement and project update!

    YJ11/14/2022 at 12:22 0 comments


    Thank you all for the support I have received over the past year. 

    I really appreciate the comments and feedback through this forum and I fully intend to update my content here frequently with useful content as soon as they become available. However due to the format of this platform, it is quite difficult to present small yet important updates, therefore I am creating an Instagram page where I will post my content more regularly and also demonstrate more of the "behind-the-scenes" work that goes into creating my projects. 

    You can access my Instagram page here, elektroThing (@elektrothing) • Instagram photos and videos.  For those of you who do not want to use Instagram, I am also launching my website,, which will serve as the landing page for all things elektroThing. :) 


    Plant-Bot has been invaluable in my household despite that, I plan to make some improvements to both the hardware and software before making it available to you.

    1. Make Plant-Bot production ready to lower costs.
    2. Write firmware to allow setup and control over BLE. 
    3. Move the Temp and Hum sensor away from "warm" electronics. 
    4. Selling it on Kickstarter or Tindie. The former allows for cheaper products due to the benefits of bulk orders vs Tindie where I will only be ordered in small batches. Would appreciate any feedback on this! 

    Do reach out if there is something on this list that you would like to help with. I am more than happy to send over a board and in return get some work off my shoulders.


    I have been thinking of making an "outdoor" version that will be solar-powered and turn on every 1 or 2 days to measure and turn on a pump /valve when required. Still working out the power budgets to see if this is feasible in the form factor I have in mind.

  • 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 all 3 project logs

Enjoy this project?



Nathann wrote 06/14/2022 at 13:56 point

you inspired me. here is my shot at it. i'm not as advanced as you are.

  Are you sure? yes | no

YJ wrote 06/20/2022 at 13:22 point

Hi Nathann, that looks really interesting. Check out my other project, FLORA, which I am still writing up. 

FLORA | Long Range Garden Monitoring System |

Looking like were on the same page! :) 

  Are you sure? yes | no

Nathann wrote 06/20/2022 at 15:45 point

Shall we try to work on the firmware together, as we both use ± the same component ?

  Are you sure? yes | no

Nathann wrote 06/20/2022 at 15:57 point

I started tinkering about the general logic of the firmware.

I don't know the details of your FLORA sensors, but I guess you can have timer interrupt + LoRa interrupt ?

I detailed on GitHub the way I envisioned the software to works :

it would basically work like this :

Whenever the CPU come out of the sleep mode one of the following action should be performed :

mode 1)
read the config
read the sensors specified in the config
take the decision to turn on or off the mosfet if the condition set in the config are set (some kind of boolean equation that can be changed dinamically EX : if(soilHumidity < A and airHumidity < B) -> water the plant
take the decision to display the data as specified in the config (don't care of keeping the screen on if you are powered by an outlet but might only do it when a button is pressed when on battery)

send the data to a server if set in the config
retreive config update from the server if any and update own config or pass it to the next node

mode 2)
just transmit to any exit node the data passed uppon
applie the insctruction if we are the destination node

comming out of sleep mode are set in the config

button action
LoRa event

which system they trigger should also be specified in the config

so basically we would have to write all the little code to integrate nicely the sensors in the code and a bit of logic for the state machine and config storage in EEPROM

and it would be easy to add more state that can be chosen from different condition

  Are you sure? yes | no

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