Sensor Network for an irrigation system


I'm planning a project which consists in using a wireless sensor network for performing irrigation. I have an idea of what i want but i'm having a hard time in choosing the appropriate hardware. The system should work as follows:

Sensors should measure the soil moisture levels and transmit it to another node, which is the gateway of the network. This gateway transmits the data gathered from all the sensors to the cloud. The cloud decides when irrigation is needed (based on the sensors measurements) and when that happens it informs the gateway of the network, which will order an actuator node to perform the irrigation. The sensor/actuator nodes should used zigbee or 802.15.4 to transmit the data to the gateway node. The gateway node should use zigbee as well as other long range communication, for example GRPS.
All this wirelessly.

So my doubts are the following:

  1. I've been searching for a sensor/actuator node and i found the ecoduino. Could this suit to my project? Can I make the changes to work as I need? Is there a better solution than using ecoduino?
  2. If not using the ecoduino, what hardware do i need for watering? I'ld need a board like arduino uno and then what kind of hardware do I need to water?
  3. For my gateway node I need a board with 2 communication interfaces. What do you think is the best hardware for doing this?
  4. All nodes should be battery powered. What do you think its best for me?

Thank you.
Best regards!

how large is the area involved?

  1. don't know the ecoduino (from my head and too lazy to google;) , do you have a link?
    If it is Arduino based you can modify it
    yes, there is always a better solution (depends heavily on how you define better :wink:

  2. depends, how many hoses do you want to control, how many sensors, how many valves Can you post a drawing of your ideas.

  3. For the gateway you might consider a Mega as it has more HW serial ports to talk to zigbee/gprs (but that also depends on HW chosen

  4. big batteries :wink: Learn how to work with zigbees in sleep mode to extend the live of the batteries. IIRC zigbees can measure the battery voltage so include that in your program that they also send the battery status besides the soil moisture level.

This will probably trigger more questions, so shoot :wink:

It will be a small scale network - with about 5-8 nodes plus the gateway node.

  1. EcoDuino - An Auto Planting Kit (Automatic Watering) - DFRobot
    Here's the link for the ecoduino system.

  2. I'll only have an actuator per node. I'am not sure if i'll have a sensor and an actuator in the same node. It depends on the distance i can have between the nodes. However, at maximum, a node will have an actuator and a sensor. I've seen a few actuators but i'm not sure which one is the best (e.g. an immersible pump, a solenoid valve...) and what more hardware do i need to perform the watering.

  3. I've found the Gboard ( to act as the gateway node, but for what i've seen the 2 communication interfaces (zigbee and GPRS) cannot perform at the same time... that may be an issue... but do you think a mega board is better for my case?

  4. So i probably have to choose first the hardware and then choose the best power options right?

Thank you for your answer!

but for what i've seen the 2 communication interfaces (zigbee and GPRS) cannot perform at the same time

This means you have to buffer some data before forwarding

You should have a story how the system will work, that makes it easier to get an idea of the HW involved.

  • what are the measurements
  • dataformat # bytes etc.
  • what frequency are they made
    1/sec 1/hour 1/day ?
  • how are these collected
    ==> zigbee network
  • what point to decide to irrrigate
    ==> central computer controls this? [Mega can do it]
  • which pumps and valves need to be controlled
  • are these controlled by the zigbee network too
  • what power supply do these valves/pumps need?
  • If I must have powerlines can these be used for measurement data too (without the zigbee?)
  • etc..

Ok! I’ll try to explain how the system works.
The measurements collected are soil moisture measurements only. These measurements are collected by a soil moisture sensor in a period of about 1/30min. The sensors are connected to a board, which composes a sensor node. When collected, each sensor node sends the measurements (in bytes) to the gateway of the network (a board e.g. mega or gboard). The gateway node forwards the data to a cloud platform which will save the data and process it in order to decide wether to irrigate or not. When irrigation is needed, the cloud platform informs sends an irrigation order to the gateway node. The gateway node forwards it to an actuator node (a board with an actuator e.g. immersible pump) in order to perform the irrigation. The actuator is controlled and powered by the board. Please note that all the components of my project need to work wirelessly only.

Thank you!

There is still much data missing in your story,

What is the data format send by the nodes?

  • think at least an ID [1 byte I guess] of the node
  • a dry /wet indication [byte] or
  • a [0=dry 255=wet and everything in between - byte]. This is send to a central unit (MEGA/gboard).

How many sensors are there?

Does this central unit first collect all the sensors data before it makes a decision?

Or does the central unit start irrigation every area separately?

If the irrigation is ongoing do you still sample once per 30 minutes?
more often or not at all?

Or do you irrigate for a fixed period (eg 10 minutes) and measure after 30 minutes what the effect was?

You need a story with that level of detail :wink:

(your turn)

Hi all,

this topic is really interesting.

I have some questions too.

  • Nfds talked in his second post about doing a 5-8 network nodes, isn't it too expensive for working with gprs for such network?
  • You talked about pumps and solenoids, what kind of them do you have selected for this project?
  • Related with previous question, what kind and maximum charge of batteries have you choosen?
  • And one last question, could you tell us what type of sprinkler will you use?

And a little help.

  • This network seems to be enough for a home garden, so I think it would be better a wifi wireless system, with enough range for transmitting data, also bidirectional communication. Moreover you can send all data to cloud from your gateway with only one interface.
  • Gboard seems to be a complete system to work as you want, but if you only want to send data messages there are more cheaper devices, or even arduino shields to this function.

I hope these last tips could help you.

I'm hoping to develop something similar, want to join forces? I am reading "Wireless Sensor Networks" right now, which is super helpful (Building Wireless Sensor Networks: with ZigBee, XBee, Arduino, and Processing: Faludi, Robert: 9780596807733: Books - Amazon).

For the low voltage valve actuators, have you looked at magnetic latching solenoids? I found some that seem to be universal replacements for most sprinkler valves in the US. $10 each at Home Depot These solenoids need 13VDC for 20ms and they latch open, so no power needed to hold them open. Reversing polarity (possibly using an H bridge) for the 20MS will force them to close. Here is the HD link:

I am trying to figure out how to get the Arduino to handle the multiple H-Bridges.