DIY Smart Plant Pot





Introduction: DIY Smart Plant Pot

About: Please support & share our mission; . the Plant Doctor is a non-profit, open source online research laboratory specializing in electronics+plants. Our vision is to bring together...

hello world,

please support our mission;

it was one year ago that i have published the plant pot - world's first stand alone smart plant pot that can email you when it's thirsty, cold, hot, sleeping etc.

a lot has changed since the first release. today I would like to share with you our latest and most stable version yet.

the plant pot is still,

open source hardware + software

solder-free, suitable for any age group

an all around educational tool

once completed the end user will know how to build circuits, write code and end up with a finished device that can teach you how to garden. no prior electronics or gardening experience needed.!!


here is a list of what we will be using;

wifi microcontroller - updated to wifi nodemcu

battery pack


RGB led module

temperature/humidity module

light sensor

water sensor

jumper wires



-- project kits available --


let's build..>

kits are now available on ebay, including the frame + all electronics. comment or message here or on facebook for more info

Step 1: Glue the Frame

download the laser cut frame here;

download 3D printed covers here;

ponoko online laser:


the assembly is very straight forward. hot glue one piece at a time, making sure all your joints are water sealed to protect the electronics


don't forget to place the magnets for the door

Step 2: Water Sensor

before inserting the water sensor, first carefully bend the connector legs to a 90 degree angle, this will help when wiring the circuit.


after this put the sensor in to the leg slots and hot glue the openings so they are water sealed as well.

Step 3: Battery and Arduino

the powerbank comes with a short usb cable that you can use to power the microcontroller.


for a more discrete look, you can hack the power bank and connect it to the microcontroller internally on the breadboard.

Step 4: Temperature, Light Sensors + RGB LED

now hot glue the remaining sensors, light and temperature.


RGB LED goes on the magnetic door.

Step 5: Wiring + Code

wire according to the schematics above

connect the usb cable to laptop

scroll down to upload sketch,

remember to change wifi settings on lines 18 & 19

choose "lillypad arduino usb" and the correct COM port and click ->run on arduino

you should see the data uploading on your thingspeak channel now (allow upto 2 minutes)


line 22 is the online webpage address so we can see the plant data on the internet;

1. go to & fill out the form to create an account

2. once the account is created, the page will change to your channels, click "new channel"

3. change the channel name and type in the fields that you want to record (temperature, light, humidity etc.) - save channel

4. click to "API Keys" tab and copy your write API key, this will be inserted into the code. - we are now ready to upload and capture data to our online channel where it will be graphed automatically and can be downloaded later on in excel format. - after you have created your channel you can also set e-mail alerts where the web page will automatically tweet "alarms" -

5. go to and create an account

6. go to and create a "new react"

7. name your react and change the alarm values, choose thing tweet as your action and add a twitter account (link your accounts). condition type: numeric, test frequency: on data insertion etc.. for more help:

8. once your react is saved and your twitter account is linked everything should be working, and you should be getting the alarms on your twitter channel/phone.


you can adjust light, temperature and water levels within the code (lines 119, 129 & 144) you will learn about the pattern of the location where your plant pot will be staying. and eventually get the settings just right. the pre-set numbers should be good for many plants. read more here;

Step 6: Paint + Logo

make sure to put tape around the openings to protect the electronics. i have used white matte textured spray paint. apply minimum 3 coats waiting in between minimum 30 minutes. make sure to paint outside.!!


download the official logo here;

Step 7: Soil + Seeds or Plants

it is now time to add soil and seeds or plants depending on which route you would like to take.. here are a few good instructables on how to start plants from seeds;



here is another instructable on showing you how to transplant an already grown plant;

Step 8: Conclusion

my dream is to teach the world how to garden and build electronics. combining the two just makes things better. i believe that in the future (very near) all plant pots will be "smart"


i already have a few companies as competitors, million dollar companies.. however the plant pot still stands as the most advanced one of them all because it is made by YOU and the open source community we have here at !!


thank you everybody for your support. please favorite and share this post with friends + family. also like us on


love & peace




    • Make it Move Contest

      Make it Move Contest
    • Clocks Contest

      Clocks Contest
    • Planter Challenge

      Planter Challenge

    We have a be nice policy.
    Please be positive and constructive.


    2 Questions


    Hello, I've received the smart plant pot kit from ebay recently, but it just contained the electronics(without battery pack), not including the frames. I thought the kit included the frames as you posted that the kit included frames and all the electronics. Is it my misunderstanding of what you meant, or is the kit missing the parts?


    What is the width and height of your plan?


    do you have the coding in wifi shield ?

    hello, sry for late response. there are too many different possibilities why it might not be connecting. do you get sensor data readings.? your wiring maybe wrong..

    if the wiring was wrong at first, sometimes it does brick the board. that's a possibility. i'm pretty sure name with spaces are ok. at home i have spaces and it connects.


    please consider upgrading to nodemcu board, $5. i havent done a new instructables yet about this topic but if you follow the facebook page you can see more recent updates; &


    hope this helps..

    what is the ideal moisture limit for a plant when it is watered sufficiently??

    where zero being full moisture and 1023 being no moisture(readings in my sensor are reverse)

    1 reply

    when its not reversed, 0 being the driest. i set mine to <300..

    so in your case you can try >700 - to get a good adjustment. fully water the soil, until water comes out of the bottom of pot. and then don't water for 3-5days and check the numbers once/day same time at 3rd day and on. you will understand the number

    Is it possible to connect a ds18b20 sensor to this as well? I've tried a number of different wiring and code methods. Anyone able to do a guide on how to do this? I have my plant pot using water from my fish tank and I want to read the water temp with my smart pot.

    1 reply

    Could you upload the 3D covers template in .stl instead of .skp form?

    1 reply

    i wrote on Facebook if my teacher accept this project i'll start. thx for everything.

    My sensor readings don't make any sense,

    Temp: 1023
    Light: 877
    Water: 876

    I don't know what units any of these are in, I'd like to be able to see Temp in C. Anyone know what units these sensors are in?

    6 replies

    hello Ross, numbers you are seeing are raw readings, limited to 0-1023. 0 being most dry/cold/dark and 1023 being the most wet/hot/light (or vice versa).


    if you look at this article; you can see an example of how to convert this data into C or F or basically anything that you want. even a 0-100% " float temperatureF = (temperatureC * 9.0 / 5.0) + 32.0; "


    that being sad, i'm glad to hear that you have successfully connected your components. congrats.!! the reason why the temp is saying 1023 is that because it is actually a digital sensor. you can connect it to a Digital pin on microcontroller and actually get both temp/humid reading from it, both in C and F in a different way. the code needs to be adjusted;

    I followed the guide and downloaded the library as well changed my data wire to use SCL/PIN 3 (according to this diagram: now all I get for Temp / Humidity is 0.0 not sure what I did wrong or what port to use?

    Here is my code:

    your shared links are not accessible..

    try changing lines

    120 - Serial.println(DHT.humidity, 1);


    Serial.println(DHT.humidity, 3);

    122 - Serial.println(DHT.temperature, 1);


    Serial.println(DHT.temperature, 3);
    in the beginning of the sketch, you defined pin 3. also you can delete all the analog temp read lines as well

    Hi Akin,

    Im on my way in doing this project but I couldnt find the microcontroller that you used. Instead I found something else but not sure if it will work. Its the WiFi Serial Transceiver Module w/ ESP8266. So im wondering if you could tell me if this module can act as same as your microcontroller and if the programmings are the same.

    Thanks :)

    1 reply

    the microcontroller i use already has esp8266 onboard, ready to use. you can't just plug&play program esps. you will need usb UART cable and esp board module for consistent power requirements. the microcontroller i use above is the cheapest way to go at the moment, or you can take a look at this board;
    however wiring and code will have to be adjusted

    very nice it. i think i can make it for my project.but i would like to use ordinary microcontroller instead of wifi-microcontroller. thanks a lot.........

    1 reply