Introduction: How to Make Smart Flower Pot

Do you know what motivated humans to create the first-ever city? It's agriculture.

In this project, we will make a 3D Printed Flower Pot that could house a small-medium sized plant with an LED display on the outside to indicate the moisture of the soil.

Step 1: Gather All the Materials

You'll need an Arduino, 5 LEDs, ESP8266 and a moisture sensor. Do note that if you have pre-made LED bars lying around, you can modify my design to fit it. Otherwise, just use my design along with 5 5mm LEDs.

Also, if you have a moisture sensor module, you can use that too, but for me I custom designed my own sensor using brass electrodes.

Step 2: 3D Printing

Go ahead and print out the flower pot and the LED Bar holder model which is available on my GitHub. It is possible that my design may be a little too big to be printed for some cheaper 3D Printers out there, if that's the case you can shrink the perimeter of the pot but don't make any changes to the electrode or LED Bar slot. (

Step 3: Assembly

The only thing mechanical part that need to be assembled is the LED bar, just insert and solder 5 different LEDs and cathode pins in series and the anode pins in parallel into the 3D printed LED bar holder. Then, slide it into the slot in the pot.

Step 4: Circuitry

I've made a fritzing schematic which can be found in my video, just use that as a guide. If you're using an arduino, use a protoshield to get the job done. And if you're using NodeMCU module, use a veroboard.

Step 5: Coding

So I'm using an ESP8266-01 module which exacerbates the difficulty ofcreating the firmware for this thing. I've decided to removed all Internet related features as of right now after the video has been posted and started working on a self-made library to be used in the future. You can find my source code on my GitHub. (

Step 6: Web Server

Since I have some experience with full-stack web development using Python + Django, I created my own webserver so that I could receive notification on the moisture level of the pot from anywhere else in the world. But I'd strongly encourage viewers not to do this. If you're using a NodeMCU module, you can use the Blynk app on android instead.

Step 7: Transfer a Plant Over

Of course we can't forget the most crucial step of all. Putting a plant or flower into our pot. I've made a mess while I worked on mine. And I didn't have a shovel, well actually I do but the shovel is monstrously huge compared to my flower pot, thus I use a kitchen spoon.

Step 8: Enjoy Your Pleasant Decoration!

Pretty sure our oldest ancester who first started an agricultural colony would be proud to see how far human ingenuity and technology has come. We can now have an internet-connected flower pot that could send a notification when our pot is dry, how insanely awesome is that!