WiFi Plant Watering ESP8266
by TapNDie in Circuits > Wireless
54395 Views, 455 Favorites, 0 Comments
WiFi Plant Watering ESP8266
First off, please vote for me! Anyways......
So I was always forgetting to water my plants, and as a result they would get dry and sometimes even die. So I though it would be cool to be able to water my plants with my phone. Its connected to the internet via the ESP-01 module and can be used to water your plants or animals once a day for the duration of time you choose. The User Interface also allows you to water manually with the push of a button, and from anywhere in the world.
Items needed are as follows:
1. Blynk App (Android and iOS)
2. Vinyl Tubing - 10 feet 5/16 ID - 7/16 OD - $5.50
3. Brass Hose Fitting, Tee, 5/16" x 5/16" x 5/16" Barb - $6.71 (3D print your own or buy a plastic one)
4. DC 3.5V -9V 3W USB Submersible Water Pump - $3.79
5. LM2596 Digital Control Voltage Regulator DC Buck Converter Power Supply - $8.99 (I used this, but get the MP1584EN Adjustable Buck Converter)
6. ESP8266 ESP-01 Serial Wifi Wireless Transceiver Module - $5.92 (These can be found cheaper on ebay)
7. 1 Channel Relay Module - $4.25 (Shop around you can find these cheaper)
8. Any DC wall adapter 5VDC - FREE
9. Hammond 1591ESBK ABS Project Box Black (7"x4"x2" LxWxH) - $7.81
10. FT232RL 3.3V 5.5V FTDI USB to TTL Serial Adapter Module - $5.00
11. Breadboard(Prototyping Board)
12. Dupont Cable Assortment (M-M, M-F, F-F)
13. M3 Nylon Hex Spacers Screw Nut Plastic Stand-off Assortment
Total about $50 (The challenge is to do it cheaper ;)
Setting Up the ESP-01 for Programming
Programming an ESP-01 is like programming an Arduino, the benefits are its smaller and has WiFi, but the downside is it doesn't have a USB port to program it through. So to fix this we need a serial to USB adapter to program the ESP-01 using 3.3V, if you get the adapter shown above you can select 3.3V or 5V via the jumper. Now wire the ESP-01 to the adapter as shown in the image above. Since you have to make 2 connections to Power and 2 connections to Ground consider using a bread board (proto board), it makes this easier. Remember its important to make the connections to the ESP-01 temporary, as you will be using it later. Once your connections are established its time to move onto setting up the software.
Installation and Setup of Arduino IDE
Download and install Arduino IDE software. Once installed, run the software and on the top menu bar click File - Preferences and you'll see a field that says Additional Boards Manager URLS:. Copy and paste this into that field:
http://arduino.esp8266.com/stable/package_esp8266com_index.json
and Click OK
...Setup Continued
On the top menu bar click Tools - Board: - Boards Manager and scroll down to verify that the ESP8266 by ESP8266 Community is INSTALLED. If so, click close and once again go to Tools - Board: - Boards Manager, and you'll now see a bunch of ESP8266 type boards that you can program using the Arduino IDE.
Add Blynk Library to Arduino IDE
Download the latest Blynk Release Library from GitHub to somewhere familiar like your desktop (it might download to your Downloads Folder). Right click on the file you just downloaded and select Extract All, (if Extract All is not available to you, download and use Winzip trial to Extract). Open the newly created folder and copy the contents to your Documents\Arduino\libraries folder. Its should look like the above pictures.
Take a Break and Get the Blynk App
So at this point you should have the ESP-01 wired to the adapter and the software setup and running. Good Job!
Get off your chair, stretch your legs, walk around and get yourself a beverage...you deserve it.
Next we'll get the Blynk App on your phone and get the token your going to need for the sketch. Then we'll choose our hardware settings in the IDE,and modify then upload the sketch to the ESP-01. You'll soon have an internet connected automated watering system for your favorite indoor plants!
Configure IDE Hardware Setting
Connect your USB to Serial adapter to your computer, the ESP-01 should be connected to it.
Download the attached sketch ".ino" file, then double click it and it should load into the Arduino IDE.
In the IDE click Tools - Boards and choose Generic ESP8266 Module.
Again click Tools - Port and choose the COM port of ESP-01 you just plugged into your computer. (Note you can unplug and re-plug the adapter to figure out which COM port it is)
Once again click Tools - Upload Speed and choose either 115200 or 9600. I'm using 115200 but if your code doesn't upload try 9600.
You have to change a few things in the sketch code, the "Auth Token", the "ssid" and the "password"
The next will show you where to get your "AUTH CODE"
Download the Blynk Android / IOS App
Get the Blynk App and your Auth Token
To start:
1. Download Blynk App: http://j.mp/blynk_Android or http://j.mp/blynk_iOS
2. Touch the QR icon and point the camera to the QR code above
3. Enjoy my app!
After the scan, a new Project will be created, all the widgets, settings and layout will be cloned. You would need enough Energy Balance to clone this Project.
Once you see the project on your phone, click the nut icon on the top right hand side of your screen. And that's where you'll find your "Auth Token".
Edit the Sketch Code
There are only 3 things you have to change for this to work for you at home.
1. The "Auth Token" (Covered in the previous step)
2. "ssid" (The name of your WiFi at home)
3. "Password" (The actual password to your WiFi at home)
And thats it! Your ready to Upload the Project!
Once the upload is complete disconnect everything from the ESP-01 and start assembling!
Drill/Melt Some Holes
Drill 2 holes, one on each end of the enclosure.Make them large enough to accommodate the ac/dc power adapter wire coming in and the wire of the water pump going out. This particular enclosure needs to have the lid shaped for the wires as well.
Lastly drill or melt some holes in the vinyl tubing, mine are about an inch apart. I believe 3/16' drill bit was used in my case.
Assemble Your Electronics
I used mostly dupont jumper wires that I cut to make PIN and Terminal connections easier. My 5V 550mA power plug came from an old Motorola cell phone charger that was not being used anymore. I cut the mini USB tip off of the charger and connected the negative and positive wires to the input of the Voltage Regulator and to the VCC and Ground pins of the Relay module. I also used the same positive wire and connected it to the comm terminal in the middle of the 3. The power wire from the water pump goes to the NO terminal of the relay, the bottom terminal in reference to the above picture. And the negative wire from the pump goes to the same ground as the relay and regulator.
The output of the regulator goes solely to the ESP-01. Positive goes to VCC and CH_PD and the negative goes to Ground.
Lastly connect GPIO2 to the Input Pin of the relay usualy label IN1.
I mounted everything on plastic standoffs, then hot glued the standoffs to the enclosure.
Assemble the Tubing
Use the Barbed Tee that you bought or 3D Printed and connect all the tubing together as shown above. Connect the tubing to the water pump and fill your vase with water!
I usually have GPIO2 set to water once a day, you can also switch GPIO2 from a timer widget to a button widget and water manually with your phone.
This Is What You Get!
Thank you following along, if you have any questions, please comment below.