Invitation/project suggestion: An automated potted plant

Yes, PETG is definitely the stuff - unless you have ventilation on your printer so you can work ASA or ABS. I have not tried it.

Print a narrow cup with the same wall/bottom settings and then fill it and leave it for a while. If you have issues, over extruding and increasing filament temperature does the trick.

Yes, it works. I have a working prototype with older versions of the 3d printed parts and it it has kept a plant alive for much longer than I would without the help of electronics. The BOM for the non-printed part is the same as for the original Flaura in my version while Mathlabs version has a different PCB.

I have not been able to get mathlabs battery-check to return correct charge levels, and I have yet to integrate a function that prevents deep sleep so I can push OTA updates, but those things are just icing anyway.

Yep, I forgot to commit. Sorry about that. I’ve pushed it now.

I am using a TTGO T-Energy ESP32, which has a slot for a 18650 battery and the hardware to measure the battery voltage. If you are using a different board, the calculation might differ. The multiply by 2 is because the T-Energy only reports half of the battery voltage because the max voltage of the ADC is 3.3v. I did some manual measurements and raw ADC readings of the battery voltage at different charge levels. Then I used linear regression to find the multiplier in the yaml file. Hope that helps you to get the charge level correct

It looks like you got my username mistaken with the name of a computer algebra system from 1964. I like the new name you use more than the one I came up with as a child, but to avoid confusion let’s stick to my actual username: mathgaming

Hi MATHGAMING :slight_smile:

Not sure how the mathlab username came in. Sorry about that.

Okay. Makes sense. I used a different approach which was to have HA alert me when the pot hasn’t been online for more than the long-sleep period… It works if the pot has issues for other reasons as well and it was much easier to do, so I didn’t spend long trying to get the battery measurement working.

You probably know, but the discharge of a lithium battery is only (roughtly) linear from 90 to 10 (-ish) % charge. If you include both ends, you will get a false reading if you do do linear regression.

I’ve done some printing and the inner and outer pots can hold water without any surface treatment if they are printed right with PETG. Leaky bits mainly occur for 2 reasons:

  1. underextrusion and/or poor layer adhesion . 245 C and 110% extrusion works for me.
  2. having places where the extruder changes direction many times on top of each other. The Z seam is one place (randomize it) the corners of the electronics compartment is another. Adding rounded corners to it doesn’t really work very well with the rest of the design. Do you have any ideas?

I’m calling my project “done”. It still needs longer term testing…

Congrats:) Looks really nice too!

Mine is getting pretty close too. I have two pots now that have worked really well for quite some time.

My biggest issue is getting the pumps at a reasonable price. A 3-5 volt mini pump is priced at 22 euro on amazon, so if I need 10 or more, it ads up. They take forever to get from China and there’s also a risk of getting caught in customs so I have to pay taxes and whatnot. Where do you buy yours?

1 Like

I’m Ali all the way.


AU $1.90 6%OFF | USB 5V Low Voltage Small Water Pump Micro Mini Submersible Pump Ultra Quiet Usb Hydroponic Vegetable Planting Craft Fountain

Makes sense if you live in Australia. Your stuff doesn’t have to go as far. To Europe, it usually takes 1½ month from Ali.

I tried those pumps too for a different project. The insides rusted and they died. Flaura-Martin said in a video that those pumps tend to die of. How long have you been using yours?

1 Like

Often I wait a month or so too.

I’ve only used it short term (a month). That’s news to me about reliability. I guess we’ll see. It does struggle a bit to pump water around 50cm vertically, which is a little disappointing. I’d like a slightly higher flow rate.

I have another type that I’ve used for another project which has been going strong for a few years. But can’t find the link just now.

I use a membrane pump. They are more expensive, but according to Flaura-Martin, more reliable:

I think you might want a slightly larger version. This one is tiny.

I think the specs say it can raise water up to 3m, but I’m not sure if that is what they mean. If you like, I can test it.

1 Like

Thanks. I’ll just see how my cheapy goes and I’ll dig up this thread later if I need.

My cheapy claims 3m pumping height but yeah, struggles with 0.5m.

My design makes it a hassle to swap pumps. I may need to revisit it in the future.

Hey there, I see everyone has gone its own way, I did too. It’s exciting, it will give the community many options on self watering pots :slight_smile:

Great news on my end, I have a fully working product. Code + models (with 4 shell variations)

I have

  • redesigned the PCB and fixed issues I encountered
  • redesigned the 3D model:
    • to avoid the problematic print support at the bottom that was hard to remove and breaking the hose connector → I designed the model to be printed on its head, this way the supports are inside and with much less surface contact → easy to remove.
    • this gave me the idea to cut the model in 2 parts. First part: bottom + container, second part: the top lid. The 2nd part will snap fit on the 1st part, no seal needed because the snap is above the water
    • reinforced the model where it had leakage, my vase has been full of water for a week without any issue
    • I also made 4 variations of the external shell because I didn’t like the flat round surface
    • it’s made of 2 parts, it can be printed in different colours
  • fined tuned the slicer to have everything looking good, printing good and waterproof

Only 2 seal needed:

  • moisture sensor
  • water level cables
    Bot can be sealed with hot glue or silicone, it works fine.

I got it working with home assistant, by modifying existing code from @mathgaming, the yaml was clean and easy to work with, thanks!!
Also thanks to @konig who started all of this. :slight_smile:

I did a tuto on my repo, here is the link: GitHub - MikeBailleul/plantidote-smart-flower-pot

Hoping someone in here will try it out and let me know if all instructions (3d printing & ESP home) are clear enough.


We talked in git-project where you posted as well, but I just wanted to give you a pad on the back here as well for a really good design. Also we should probably keep everyone included and continue the conversation here.

You really took it to the next level. It’s really satisfying to see that you could use the half-baked stuff I abandoned in favour of mathgamings design (which by the way is also working now. The count so far is 3, and I am still making more)
It has some nice features too, but it isn’t half as pretty as yours. I will make a few of these for sure and tell you how it goes.

Besides the things I wrote in Git, here are a few things I stumbled across that might help you when making more copies:

  1. it’s a drag to maintain and edit the code, once you have many planters if you have the entire code in each instance in ESP-home. Each change has to be added to all the planters. In stead, you can have the main bulk of you code in one file, and then include it in each instance with

<<: !include flowerpot_main.yaml

I have only substitutions, wifi, ota and api outside the included file while the rest is managed from within the main-file. It is still compiled onto the board same as ever, so it doesn’t need wifi to work

In that way, you can maintain the code for all the planters centralized. I use the studio code server plugin for HA, but it isn’t strictly needed to get it working, it just makes it easier. It also lets you publish to git directly from HA.

  1. Give each a name or a number and print or write it on them. At some point, you will loose track of them otherwise if you have many. It’s super annoying to test which one is broken based of a message from HA. You could include it in the fusion files to make it easy.

  2. I added an optional mini solar-panel to mine for when the pot is placed in a window. It’s not pretty, but it faces outwards, so it does not matter much. It appears to eliminate the need for charging though it is quite new so I am not yet sure. It requires a CN3065 to work: image
    (the polarity of the JST-connectors is backwards compared to the Lolin board. Watch out.)

It’s really fun! Even though I have not personally helped out with everything, I have been following this since September 2022. It has been really fun to “tag along” and see how things change and get better over time. It is also really exciting to see how people that barely know each other come together to share their interests and help each other out in this kind of way :slight_smile:
Ill continue to check up on this from time to time and will most likley also try and build myself a few pots now that they all work as intended.
If there is anything I can do, just let me know. Otherwise I just wanted to say thank you for doing all this “public” so everyone (me) can read and follow along.


This is also credit to @konig who set this all up as a “howdy folk, anyone want to try to work together on this this thing” type project rather than a “Hey everyone, here’s something I built” type thing.

Even with a very loose “project team” and various individual forks/ side-efforts, it’s still interesting to see how it focused collaboration a fair bit.

1 Like

Thank you @Mahko_Mahko for the kind words :slight_smile:

My ambition when I did that was actually to make a proper open source project where we all worked on a shared product. In hindsight, it’s quite understandable that the default choice is to branch off. It comes with a price to stay on the main branch. You have to conform in one way or another to details in the design, that isn’t something you wished for or like. The benefit of cause is that you get other peoples improvements for free.


Oh, great tip of centralizing the code for multiple pots, I had no idea we could do that.

I’m glad to see you got it working with solar panel, I was thinking about this as well but didn’t go that route yet. It makes me think, one thing I forgot to mention is I also added a USB C adapter to be plugged on mine. Because apart from esp32, I think I only have USB C port at home, so it was less awkward to charge it.

Also regarding your scaling question on GitHub, well it’s not that easy. I’m no expert in fusion360 but I think the proper way of scaling a model on 360 would have been to design the parts with parameters in mind, this way we can easily change specific parts. Instead we copied components which are hard to scale now.
For example when trying to scale the outer shell, it will also scale the hole where we put water in a very wide hole. If someone knows of a better way to scale that, let me know. :slight_smile:

I’ve gotten scaling to work with mine. It’s not completely flawless because some of the geometry involved is a little advanced, but for most parts, it got the job done. (until I messed it up with my last edit, apparently - I just tested it again)

It works like this:

I had to start over with my model to get it working as you have to be really disciplined with the geometry in the sketches. If you get just one constraint wrong it all goes sideways and it can be pretty hard to figure out where the error is.

Hey Guys, there is now 219 posts (excluding mine ;-)) - so maybe, since some of you actively followed-up this project, you can give me a TLDR-like short answer:

I have bought all the parts for the original Flaura, including the ESP32.
Now, when I assembled everything, I only then found out (why look earlier :man_facepalming:), that the author has actually made the code something like unusable.

So as a quick question: Anything I can flash to my ESP in order to get it working, which is more or less ready?

BTW: I use IP-Symcon, a very versatile Home-Automation-System.
So I can send basically any kind of command to the ESP, once flashed…