Skip to content

EcoDuino Plant Waterer

EcoDuino is a kit from DFRobot for watering your plants automatically.



Here is what the kit looks like right out of the shipping box.




EcoDuino Parts
You should have all of the parts shown here.  Extras include two badges and 2 screwdrivers.  We only needed the yellow screwdriver.

You should have the following parts: EcoDuino Control Board, battery pack, pump, moisture sensor, temperature / humidity sensor, plastic case (2 pieces), USB cable, 2 screwdrivers, 2 badges, 4 screws and a plastic hose.



EcoDuino Board WorkingWe started by verifying we could connect our computer to the board and use the Arduino IDE to program it.

Plug the USB cable from the board to your computer and open the Arduino IDE.  Select Leonardo as your board.  If the board comes up in the board list, you are good to go.  Disconnect the board from your computer.



EcoDuino with Sensors AttachedNow attach the sensors.  The sensors are attached vertically with the black or GND wire on the bottom.  The humidity / temperature sensor goes in the middle slot and the soil moisture sensor goes above it on the side of the USB plug.  Plug in both sensors and then attach the board back to your computer.

Copy the Sample Code and paste it into a blank Arduino sketch. Upload the sketch to the board and open the Serial Monitor to see the results.  Once this is working open a new blank file in Arduino and put in the Test The Pump sketch.  Upload the sketch to the board. Now close the serial window and unplug the board from your computer.

EcoDuino Pump HookupNow you need to wire up the pump. Connect the cable with the brown and blue wires shown in the photo to the pump cable.

Now connect the brown wire to the positive terminal and the blue wire to negative on the board labeled Solenoid Valve.




EcoDuino Power Hookup

Now connect the other cable with red and black wires to the PWR terminal on the board.  Connect red to positive and black to negative.

Load up the battery back with 6 AA batteries and connect the cable from the battery pack to the wire you just connected to the board.  You should hear the pump go on and off.  When this is working unplug the battery pack.

Now that everything is working you need to put everything inside the case.  Unplug the sensors from the board and unscrew and detach the cables you added.


Fit the board onto the plastic half with the holes in it. The board goes face down into the case.  Line up the USB port with the port hole on the case. Also line up the four screw posts with the holes on the board.




EcoDuino Board Hole Lineup





Now pull the board off the case and thread the pump cable through rectangular hole and screw the wires back in to the connector labeled solenoid Valve.  Connect the battery pack wires to the terminal labeled PWR.

Now push the sensor connectors through the hole on the plastic case in the middle and connect them to the board. Remember the humidity sensor goes in the middle and the black wire or GND goes on the bottom.

EcoDuino Board Screwed InNow put the board back in place, lining up the screw holes with the plastic posts. Once the board is in place, go ahead and screw in the four screws to the plastic posts.




EcoDuino Pump TestNow attach the clear plastic house to the pump.  Insert the pump into a small container of water.  Stick the other end into a plant pot.  connect the battery cable and watch the water squirt out.  How much water you get out also depends on where the plant pot is relative to the container of water.  Put the water container under or below the plant pot for less water to come out.

Now unplug the battery pack and pump.  Connect your board to your computer and paste the code Ecoduino Test into a new blank sketch in the Arduino IDE.

Currently the sketch is set to check the sensors every minute and water the plant for 1 second if soil moisture level is below 50.  You can adjust these values in the sketch. Look for the 3 variables below near the top of the sketch.

const long interval = 60000; // Change value to change time to check for watering. 60000 = 1 minute
int waterTime = 1000; // Change length of watering
int moistureLevel = 50; // Adjust to know when to water

Upload the code to the board and unplug it from your computer.

Now plug the pump back in, put the soil sensor into your plant and plug in the battery pack.  Good job, that’s it, you are done!