Automatic Plant Waterer



One day I figured that watering my flower is such an easy and mundane task and that since I do every single day, it should be automated. It would make for one less thing to worry about, and come in handy when I am out of town like when I visit home in Prince George. The plant is a year old now and doesn’t look nearly as good as it did when it was younger (kinda like people). So I like to think of my automatic plant waterer as its life support.

You can watch a video of the finished product at the bottom of the page!



I struggled to figure out a way to control water flow simply and electrically. I considered using a servo motor to pinch and release a soft tube but the setup would be clumsy. I also thought of using a servo to open and close a butterfly valve and even to massage the soft tube externally like an IV pump, but again, I felt that these setups would also be clumsy. The idea of using a slow water drip from a container held above crossed my mind, but the flow rate would change with the water level, and I felt that it would only water a narrow column in the soil, and not the whole pot.

I finally decided to just buy a cheap DC motor water pump and some tubing off of eBay. It has an inlet in the bottom which I stuck through the lid of a 2 L pop bottle, and an outlet on the side (see photo) which I ran to the plant.



The electrical side of it is super simple. A $2 microcontroller, the MSP430G2102 from TI controls when the pump turns on and off. Because the pump runs extremely fast when it is just hooked directly up to the 9 V supply, I use pulse-width modulation to slow it down. This means that I rapidly connect and disconnect the motor from ground to stop and start the flow of the electricity through it really fast (2100 times per second) such that it is only connected on average 9% of the time. This means that it is only receiving 9% of the full power when it is activated, which is enough to water the plant.

When the microcontroller turns on it activates the water pump for 20 seconds, waits 24 hours, and then repeats. The open-source code is quite simple and is available for download here. The hardware is also open-source and you can find the complete schematic to the right, made with the free version of TannerCAD.