Introduction: Low-cost Smart Garden

When the soil is dry, the water pump will be triggered to start watering the plant. Water will be pumped out from the water reservoir to the plant. The updated humidity and watering information is saved on the cloud which can be accessed from PC, smart phone, or tablet.

Step 1: Assemble the Hardware

We will need the following hardware:

  1. Intel Edison module x 1
  2. 9VDC power supply for Arduino expansion board x 1
  3. USB cable x 1
  4. Arduino expansion board x 1
  5. 12VDC water pump x 1. I order water pump from Amazon. Here is an example.
  6. 12VDC water pump driver circuit x 1(2N3904 transistor x 1, 100 ohms resistor x 1, Bread board x 1, and Bread board connection wires)
  7. Airline tubing for aquarium x 1. I order Airline tubing from Amazon. Here is an example.
  8. 12VDC, 5W power supply x 1
  9. Soil moisture sensor x 1. I order soil moisture sensor from Amazon. Here is an example.
  10. Water bottle for water reservoir x 1

We will need to build a 12VDC water pump driver circuit. See picture above.

Hardware assembly:

  1. Plug the Intel Edison module on Arduino expansion board.
  2. Plug USB cable from PC to J16 of Arduino expansion board.
  3. Plug 9VDC power supply on J1 of Arduino expansion board.
  4. Connect soil moisture sensor to Arduino expansion board (VCC -> 5V, GND->GND, A0->A0).
  5. Connect the water pump, water pump driver circuit, plant, and the water reservoir together.

Step 2: Intel Edison Board Configuration and SW

Intel Edison board configuration:

  1. Assemble the Intel Edison board with Arduino expansion board. Here is an instruction.
  2. Use “FlashToolLite” to flash image to Intel Edison board. Here shows good instruction.
  3. Download Arduino IDE from here.

Create database on

  1. Follow the instruction here to create a database. Public key and private key will be provided after the account is set.

Arduino programming:

  1. Open Arduino IDE. Choose Intel Edison board from “Tool”. Open the following code.
  2. Modify “SSID” and “password” in the code based on router setting.
  3. Modify “public key” and “private key” string which is created above.
  4. Upload the code.

Intel Edison software download page is here.

Step 3: System Operations


When soil humidity is greater than “7”, water pump will be triggered. Watering time is about 10 seconds. The humidity data will be posted to the database about every two minutes. The “remark” column will show “watering”.

Soil is dry:

When soil humidity is less or equal to “7”, water pump is not triggered. The humidity data will be posted to the database about every two minutes. The “remark” column will show “ok_for_now”.

Please see screen shot of database above.

Step 4: Arduino Code

Please see attached Arduino code.

Step 5: Conclusion

Hope you like it!!

Intel® IoT Invitational

Participated in the
Intel® IoT Invitational