I am working on a design project for school (non-capstone non-electrical engineering project) where we are building a system to remotely control a winch on a boat that will lower an independently operating meter to specified depths using a pressure transducer (controlled from the shore).

My current idea is to have an arduino collecting data from the pressure transducer while being connected to the winch (adjusting it up/down as needed, based on the desired inputted depth). The arduino would then be connected to the a Raspberry Pi B via USB. The Raspberry Pi would then communicate via wifi USB adapter to a router @ 2.5 GHz 802.11n on the shore, which would then communicate with the laptop on the shore. The important thing is that the laptop on the shore will be recording data as well as changing the input depth for the arduino.

Arduino <==> Raspberry Pi <==> Router <==> Laptop on shore

I saw [this information][2] talking about connecting to an arduino via wifi, but I was unable to determine the potential range.

A related project using a boat that uses the Xbee shield.

Once concern is that we will not be able to specifically point any antenna on the boat back to shore, so we are looking for a non-direction-oriented solution.

I was wondering what potential ways I could communicate back to the shore to control the winch depth (output display on shore showing depth, then being able to change the depth from shore). Furthermore, I was wondering if my setup would be feasible and what your suggestions might be.


  • The previous thread was located at this link: http://%20https://arduino.stackexchange.com/questions/432/how-can-i-connect-to-an-arduino-using-wifi – PQStorm Feb 26 '14 at 21:37
  • Although your project includes an Arduino, your question does not look like an Arduino-related question, since you describe WIFI plugged into your Raspberry Pi. If you had the intent to use a Yun for instance, then your question would make more sense on arduino.SE – jfpoilpret Feb 26 '14 at 22:14
  • 1
    @jfpoilpret I believe he's looking for a way to accomplish this without the Pi. He mentions it because that's how the linked related project accomplishes it – JohnB Feb 26 '14 at 23:04
  • 1
    Note that a directional antenna on either end will dramatically improve the range. A directional antenna could therefore be pointed at the boat from shore.. – jlbnjmn Feb 27 '14 at 1:26
  • 1
    Google for '433MHz transceiver' – jippie Feb 27 '14 at 6:52

There are a number of considerations that need to be made when considering any wireless communication solution over long distances and over water.

WiFi is capable of working over long distances especially with higher power cards (1W ones are now readily available) and directional antenna (anything from 3dBi to 30dBi of gain). There are advantages and disadvantages to using WiFi like this for your purposes:

  • WiFi uses 2.4GHz which is attenuated by the presence of water and water vapour. If you are close to the surface of the water surface, this can cause variable range with weather conditions increasing humidity and spray - even slight choppiness can massively increase the humidity close to the surface.
  • WiFi is a fairly heavyweight protocol that has several layers that need setting up each time a connection is made. This takes time and means marginal connections will have zero throughput as they will never get setup.
  • WiFi is intended to have high throughput (>1MBps) and doesn't degrade gracefully below this point. There isn't often a need to shift data this fast on an Arduino project. Speed and range are a trade-off.
  • Directional antenna on boats can be hard work. The more gain an antenna has, the more directional it is, which in turn means you need to aim it better. Even mild rocking can make this difficult to impossible. It depends if you are on a smooth pond or the sea really.

If you do want to go with WiFi, Ubiquiti make some neat products like the Nanostation that allow long range connections to be set-up over long ranges.

Personally I would stay away from 2.4GHz near water, and go with one of the other ISM bands. Depending on your location, this could mean 315MHz 433MHz, 868MHz, or 915MHz. It depends which region of the world you are in which ones you are allowed to use.

These lower frequencies are suited to longer ranges and penetrating object and water. There are a lot of different solutions in this space, all of which have ups and downs.

The Hope RFM12B is a very popular small RF board that has several easy to use libraries available - I use Jeelib personally. These are just capable of the 750ft range you require. They are available in all most ISM bands, and personally I have found the 868MHz best outdoors, whilst the 434MHz is better indoors.

The newer Hope RFM69W is a similar board but with more functionality and more power. It has 13dBm (20mW) of power vs 0dBm (1mW) of power on the RFM12B. I have been seeing an increase in range of ~50-100% with these boards.

The RFM69HW is a high power version has 20dBm (100mW) of power. I haven't range tested this, but would expect up to 3-4 times the range of an RFM12B.

Ciseco, a UK company, also make a series of boards that use CC1110 chips as transceivers. These are in an XBee like form. One of their boards, the ARF, has a power amplifier. These have 26dBm output power (400mW) and in a brief test in a built up area, I have seen a range of about 2km.

It's important to note that these are transceivers so that they can send and receive, which means you can acknowledge if packets have been received.

There are boards like the nRF2401L which use 2.4GHz, but use a much lighter weight protocol than WiFi so work better on marginal ranges. They are dirt cheap (~£2). They have the same disadvantage of water impacting range.

I don't like Xbee at all. The boards are overpriced and I find the range isn't great even with the higher powered modules.

You could also "roll your own" and use simple 434/868/915MHz on-off-keyed (OOK) transmitter/receivers. Protocol design isn't easy though, and you lose a lot of hidden functionality that the more advanced boards have.

  • Thanks for the reply, @Cybergibbons. What would be a relatively easy system to implement? I am not extremely experienced on the software side, but I am willing to put forth the effort to learn, given it doesn't take too much effort -- I have a decent workload this semester. I am overloaded with options from you (for which I am grateful), so please give me your expert advice! This is a project that I am hoping to do a good job on while hoping to finish up within a semester. – PQStorm Feb 27 '14 at 23:08
  • I would use RFM69HW modules with Jeelib. There is an active and helpful Jeelib forum, they are very widely used. I am going to range test these this week. – Cybergibbons Mar 2 '14 at 9:55

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.