WiFi Plant Watering ESP8266

by TapNDie in Circuits > Wireless

54328 Views, 454 Favorites, 0 Comments

WiFi Plant Watering ESP8266

57be3e72deafa43ee900010e.jpeg
57b91f6967400c53060002a7.jpeg
57ba42a42e7fb6de17001635.jpeg
57b91f8045bceb2e1c0005b0.jpeg
20160820_173830.jpg
WiFi Plant Watering ESP8266 & Blynk

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

esp8266-reflash-firmware.png
ESP-01-Pinout.jpg
esp01.jpg
ttl  usn to serial.jpg
57bbd0b74936d46ada00029d.jpeg
20160822_231433.jpg

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

Untitled.png
Untitled2.png
Untitled3.png

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

Untitled5.png
Untitled6.png

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

Untitled33.png
Untitled44.png
Untitled55.png
Untitled77.png
Untitled66.png
Untitled11.png

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

coffee-break-1200-4.jpg

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

scan_qr.png
Office Plant.png
57bce0b0deafa4ac11000693.jpeg
57bce1ebdeafa4a432000401.jpeg

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

57bce3bd4fbadeb3d90006ce.jpeg

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

20160820_205813.jpg
20160820_205851.jpg
20160822_163720.jpg
20160822_163745.jpg

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

20160820_174020.jpg
Sketch20622237.jpg
ESP-01-Pinout.jpg

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

20160822_163302.jpg
20160822_163208.jpg
20160822_164018.jpg
20160822_163840.jpg
20160822_163941.jpg
20160822_164050.jpg

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!

20160822_164751_001.jpg
57ba42a42e7fb6de17001635.jpeg
20160822_230347 (1).jpg
20160822_230523.jpg
20160822_230542.jpg

Thank you following along, if you have any questions, please comment below.