I'm looking for advice on how I should setup a long range irrigation monitoring system using multiple Arduino boards. I would like advice/options available on what hardware I require to achieve my concept. Particularly the 12km line of site communication between boards.

To give you some context we irrigate a crop every year and the paddock that we irrigate is roughly 12km from the homestead. The drive alone is a 24km round trip which is usually just to check and balance water levels.

  • On average a workman would do this trip between 3 to 8 times in a day and 3 - 6 times at night
  • 1 watering takes 3 full days around the clock and we water between 12 to 16 times in a season

You don't have to do the math to figure out the fuel cost alone is massive. My goal for the project is to reduce the man hours required to monitor water levels and reduce fuel costs.

My proposed solution to this is setting up 3 x Arduino boards in each of the 3 fields monitoring their respective water levels and the 4th Arduino board at the homestead displaying each water level on a LCD screen. In short:

  • Arduino 1: Monitors water level and sends this data to Arduino 3 (2km line of site)
  • Arduino 2: Monitors water level and sends this data to Arduino 3 (2km line of site)
  • Arduino 3: Monitors water level, receives water level from arduino 1 & 2 and sends the 3 water levels to arduino 4 (12km line of site)
  • Arduino 4: Recieves 3 x water levels from Arduino 3 and displays this on LCD

Additionally, each Arduino board will have colored diodes that indicate water level at night so workers in the field can easily see without physically checking that all the water levels are ok when changing fields and starting/stoping siphons or if they need to make adjustments. It's important to note that I know how to achieve this just thought it was important to mention to provide more context.

  • \$\begingroup\$ How do the remote sites receive power for the pumps? \$\endgroup\$ – Andy aka Dec 2 '14 at 10:26
  • \$\begingroup\$ 3 massive diesel tanks that are trucked in. The rest is gravity fed. \$\endgroup\$ – Thomas Taylor Dec 2 '14 at 11:57
  • \$\begingroup\$ Aditionallyl, each Arduino will be powered by a solar panel \$\endgroup\$ – Thomas Taylor Dec 2 '14 at 11:58
  • \$\begingroup\$ Battery might be needed. \$\endgroup\$ – Andy aka Dec 2 '14 at 12:08
  • \$\begingroup\$ Battery will definitely be needed for this! \$\endgroup\$ – Thomas Taylor Dec 3 '14 at 0:49

Just in case you consider radio, to get 12km is no easy feat if battery/solar powered. The RF signal power losses in free space are: -

Loss (dB) = 32.45 + 20\$log_{10}\$(f) + 20\$log_{10}\$(d)

Where f is in MHz and d is in kilometres. This equation tells you how many dB of power loss you can expect at a given distance with a given carrier frequency.

The Xbee pro 900 transmits at 900MHz and over 12km the losses amount to 113 dB. On the ground you can reasonably expect this to be worse by probably 20dB taking the link loss to about 133 dB. Some amount of antenna gain may not be very useful if the three sites are at different angles because the antennas become directional. A significantly lower frequency (say) 90MHz (if allowed or available) would reduce the link loss by 20dB.

How much antenna power does the receiver need to operate is the next question. The commonly used formula for estimating this is -154dBm + 10log(data rate). If data rate is 100kbpsec then the receiver needs an antenna power of -104dBm. However, if the data rate is 100 bps then the receiver only needs a power of -134dBm i.e. it's 30dB more sensitive.

Transmit power output needs to be chosen accordingly with link loss (based on carrier f and distance d) and minimum signal needed by receiver (based on data rate).

As for what you are planning to do I would suggest that transmitting blindly once per minute continually is not going to drain battery power over night and so if 50% of the transmissions are "missed" it's not going to be a big deal but you do need to ship any payload transmission with sufficient error detection bits to avoid randomly detecting a stupid status from the remote site.

Just a transmit only radio at the remote site and a receiving only station at the other end should work fine but there's a lot of detail to get right.

See this for more detail.

| improve this answer | |

12km seems to be a huge number for a wired communication system. I'm not aware of any cheap transmission system which can handle this distance without amplifiers or repeaters.

Is GSM an option for you? There are Arduino boards with GSM modem.

| improve this answer | |
  • \$\begingroup\$ GSM is not an option no service as it's too remote. Apparently the Xbee pro 900 can do 15km or alternatively a Arduino with a lan shield attached to a UBIQUITI Nanostation could also do the trick \$\endgroup\$ – Thomas Taylor Dec 2 '14 at 9:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.