🌿 ESPlanty | Self-watering Solar Powered Plant | No plumbing & no powerpoints | # Irrigation , # Deep Sleep , # Battery

I kill plants so I decided to have my own crack at a self-watering plant. I call it ESPlanty.

Key features:

  1. Solar/battery powered
  2. No plumbing required - Concealed water tank
  3. Moisture and light monitoring (light is handy for solar tracking too)
  4. Water tank and battery level monitoring

More details:

  1. Photo’s of the base
  2. Irrigation rings I designed and printed
  3. Enclosure details (version 2, version 1 is in post above it)
  4. The jade plant cuttings seem to be going well!
  5. ESPHome config
  6. Description of it’s operation
  7. Materials List
  8. Wiring Diagram


  1. Long term testing
  2. Some of my battery tracking / power production sensors aren’t quite working yet.
  3. Still not 100% convinced by the mositure readings and how they relate to the plant needing water. To watch…
  4. Maybe do a logic diagram or at least a simple description of it’s operation

A few credits: ssieb, jesserockz and rradar over on Discord helped with various bits. And I’ve linked to few other sources in my config.


I’ve built the base with the concealed 20lt water reservoir. I went with treated pine sleepers, which my local hardware store cut to size for me. Decking screws to hold it together. This side will face the wall, as a balance between asthetics and accesibility. I’ve got the castors on…

Will update a work-in progress config and high level logic in this post periodically:

Main features/logic:


  1. Deep sleep at night
  2. Sleep wake/on interval during day
  3. Go back to sleep when data has been sent
  4. “Stay awake” swtiches in HA so next time node wakes up it will stay awake (for updates.OTA).
  5. Multi-sample sensors that have variability/spikes

To do:

  1. Optimise pump speed to feed “drip watering” style system.
  2. Pump control based on moisture, water tank, and battery level.
  3. Consolidate and minimise code once all testing is done (optimise for energy)

Edit: Config moved down here:

I got interested in “irrigation rings” to disperse water more evenly so am tineking with some 3d printable designs based on what I’ve seen online. Doubt they’ll hold up super well in the long term, but let’s see…


1 Like

List of related projects:

Some more progress pics.

Main control box with solar panel.

How it assembles.

Getting there…Almost ready for an actual plant;)

PLA enclosure warped in the sun and the hot glue goes way too soft too.

Back to the drawing board for an enclosure;)

Gonna be a bit painful as I’m really glued in lol… Oh well, lesson learnt. All obvious in hindsight.

Progress pics for version 2 enclosure.

For version 2 of the enclosure, I’m going with the “Andreas Spiess Ikea approach”

• But I actually got a similar one from my local Kmart.

Here’s some pics.

1 Like

Dear @Mahko_Mahko
Very nice post.
I was just testing you ESP Code. It is very nice!!!
I was wondering why you are using “input_boolean.defeat_sleep” with a helper and not a dedicated switch for this device?
Did you tried such a solution?


I’ve refined the config more which I’ll repost soonish.

I was considering having both wake options.

The remote virtual switch doesn’t require any hardware.

A button/switch would need to be weatherproofed.

I may still add one.

I recall that a wake button is better than a wake switch. Something about it being hard to determine the true state of a switch on boot. Might be wrong though.

You’re welcome.

I was more thinking about a “remote” virtual switch on the device, and not created with a helper.
There where i have my switch Test.

Oh right I see.

The virtual switch can’t be on the device as when it is in deep sleep it will not track the state as changed in HA / retrieve the changed state when it wakes (I think).

I would prefer that but it doesn’t seem to work as you might want. Let me know if you find otherwise.

Till now, i couldn’t fine a solution.
Maybe someone else?
I will open a new Topic with this question.

1 Like

Trying to repropagate a large jade branch cutting!


Underneath it’s just like this (it’s not the same as below but it is just a stump below soil)…! Hope it survives!

1 Like

Interesting project. I just started something simular for my balcony. No plumbing and no power outlet.
I ordered some parts from Aliexpress. As for now it is enough for 8 plants, expandable to 16. I use a 8-relay board with onboard ESP, with an extra 8-relay board I can expand it to 16.
Each plant has it’s own micropump. The idea is to measure the moisture and when it’s on the minimum the according pump starts for a defined time to water it to the max level. I want to do that with some interruptions to get a more accurate measuring of the moisture level. The main hose comes from the tank, goes tot an 8-fold divider. From there there goes a hose to every pump.

I just received all the parts and programmed the ESP so it is visible in Home Assistant, so I’m not that far yet

1 Like

Keep me posted on your project please.

I’m probably going to do another one when I finally finish this one that will service two plants, so keen to see your “multi plant solution”.

The new one will replace my old “beer dispenser” irrigation system;)

That’s a really nice way to do it with a beer pump :smiley:
What type of sensor are you using for the waterlevel sensor in the tank?

The new system has a VL53L0X. I’m still working through some reliability issues. Might be connections. Stops reporting when battery voltage gets lower. But generally works well. Much smaller than an ultrasonic.

The old system doesn’t have anything. I got a float switch which I was going to use with an aqara reed switch but I never got around to installing it.

I think I was originally going to pop one of these in the bottom but the signal range didn’t seem to be good and I don’t think they’re really supposed to be immersed.

AU $23.31 48%OFF | Aqara Flood Sensor Water Immersing Sensor IP67 Waterproof Remote Alarm Work With Smart home app

AU $2.18 | Thinary VL53L0X Time-of-Flight (ToF) Laser Ranging Sensor Breakout 940nm GY-VL53L0XV2 Laser Distance Module I2C IIC 3.3V/5V

I’m not at that point yet, but I have to add one in my system as well. I’ll have a look at that one when I’m going to add one.

1 Like

Rewired it with better quality wire and it seems to be ok now.