For a school project, my group and I have decided to make a weather buoy to put in the ocean. We have several parts available to make the buoy, including 2 Raspberry Pis (One version 2 model B, and one version 3 model B), an Arduino Uno, and an ESP8266 for IoT. We are having a hard time figuring out how we are going to connect to this buoy though, considering it will be anywhere between 150 to 500 meters off shore (nothing in between us and the buoy). We have looked into just using WiFi, but it isn't the best solution considering the furthest it could possibly go would be around 100 meters. The next solution we looked into was using a type of satellite or antennae, but our knowledge in this field is low, and resources are scarce. Any insight on this topic or any of its solutions would be greatly appreciated. Cheers!

  • 2
    if someone in your group has a ham radio license or is willing to get one you would be authorized to user higher gain antennas and even higher power then normal since a couple of the wifi channels are inside the ham bands. ham users have been able to get amazing distance on wifi links(think miles!), the downside is you cant actually use the internet legally over this link, but that would be fine for your project
    – Chad G
    Commented Apr 5, 2018 at 23:59
  • @ChadG can you explain about the type of license required and the legal issues?
    – dlu
    Commented Apr 6, 2018 at 0:01
  • Ham radio license: arrl.org/getting-licensed Also here's a vid for moding the chip you have: youtube.com/watch?v=7BYdZ_24yg0 Commented Apr 6, 2018 at 1:26
  • The main legal issue is that you just cant pass any data that is 'commercial' Which is why you cant connect to the internet. There would be no way to not have adds and other commercial content going across the link. And if you decide to get the licence, you will learn all the other legal issues as you study for the test. its not too hard, and it opens up another whole world of electronics projects for ya.
    – Chad G
    Commented Apr 6, 2018 at 15:07
  • 2
    Yes, if you use the license to do things that cannot be done with out it(higher effective power), then you have to follow a different set of rules (no commercial, ect) If you choose to do those things without a license then you risk being fined by the fcc if caught.
    – Chad G
    Commented Apr 6, 2018 at 17:55

4 Answers 4


Wow... Interesting project! You're lucky to be involved in something like this as it's the best learning experience. Anyway - to your question:

The problem of communicating with oceanic sensors has been extensively studied, and there are a variety of solutions that have been developed. The NOC lists a few on their website, and they might be willing to offer you some advice. You can find a lot more information if you want - academics need to publish, and consequently there are many, many approaches that have been tried. The trick would be finding one that matched your requirements and your budget.

But that's more along the lines of advice, and we're supposed to provide answers in this forum, so here's mine, in two parts:

Part 1 - WiFi Solutions:

School is all about learning, and that's why you're involved in this project. And so, you must learn some fundamentals to be successful (we can't give you all the answers here :). The first thing you must learn is that rf propagation follows well-known physical laws, and there are tools available to help you understand how to engineer a system to meet your requirements. In this case, the Friis equation (a.k.a. link budget) will help you determine what components you need to meet your range requirement. Here's an online Link Budget Calculator that looks easy enough to use. Here's another one from Pasternack, an rf hardware vendor. And you'll likely need to make some rf measurements of wifi signal strength... the netstumbler software will be a big help to you in making these measurements; it's free and easy enough to use... for Macs there's macstumbler, and for *nix there's kismet... or etc, etc.

With that in mind: As @dlu suggested, you can definitely add an external, high-gain antenna to your RPi, and cover your range requirement of 500 meters - but don't take my word for it! Once you've verified my claim with your own analysis, it's time to give some thought to the tradeoffs.

To "close" your rf link at 500 m, you need a certain amount of signal strength at the receivers at both ends. Having done some reading and studied the tools recommended above, you'll now understand that there are several ways to deliver the required signal strength to the receiver; e.g. more transmit power, higher gain transmit antenna, and higher gain receive antenna. Now think for a moment: which of these is the best or easiest to accomplish?

Since your telemetry station will be mounted on a buoy, and your data terminal will (presumably) be on land, maybe it's a good idea to keep the hardware on the buoy to a minimum. In other words, do you really want to mount a high-gain directional antenna or a power amplifier on a buoy? If not, then you may be able to have all of the "range-extending" hardware at your land-based data terminal. The link equation doesn't care where you put the equipment after all!

Enough with the pedantics; let's look at some solutions:

Higher gain antenna for the RPi:

Higher gain antenna for the land-based data terminal:

  • The "Cantenna" might be a reasonable solution for the 2.4 GHz wifi band. It has 12 dbi gain, not too expensive, can be mounted on a tripod, and connected to the rf connector on the USB wifi in the RPi.
  • For the 5 GHz band, this unit from ventev offers a little more gain (16 dbi), and a more rugged package for permanent outdoor mounting.
  • And of course there are many, many more wifi antennas that you can peruse through a simple Google search, so I'll stop here.

Part 2 - Software Defined Radio (SDR) Solutions:

This is IMHO the "leading edge" of communications technology, and much of it is currently available and usable with RPi! Really exciting stuff going on several fronts. Because this post is getting quite lengthy, and since I feel that the WiFi solutions in Part 1 will meet the requirements you've given us, I'll keep Part 2 brief and topical. Don't misunderstand please; an SDR solution will definitely work in your application, but it may require more effort in hacking the hardware and software than a WiFi solution. Also, the WiFi solution will not be viable at ranges much further than your 500 m requirement, and so you will need to look more closely at SDR if your requirements change.

I'll start by defining "Software Defined Radio" as simply radios in which many of the hardware components have been replaced by software. There's a Wikipedia page on it, and tons of blog posts and videos documenting functioning prototypes built by experimenters using Raspberry Pis. Many of them are receiver-only implementations, and not particularly useful for your weather buoy application, but incredibly, transmitters can and have been built and demonstrated using nothing but RPi hardware, and in this case - a multi-band transmitter!!. And here's an article on setting up an RPi-based "SDR Server" module.

To conclude this section, I'll mention briefly an area in which I'm personally interested, and I'll confess that it's this interest that led me to respond to your question. Very briefly then, lower-frequency RF signals find application for "non-line-of-sight communications". They have been used for many years by "Ham Radio" operators to communicate across very long distances - long before satellite communications and international telecom networks existed. It is the nature of rf waves at certain frequencies to "bend" and "bounce", and keep going with lower losses than higher frequencies.

Traditionally, ham radio operators transmit voice, and often use powerful transmitters and extremely large antennas to launch their broadcasts. However, Joe Taylor developed a communications protocol called "WSPR" that allows short messages to be be transmitted over long distances at extremely low power levels. How "low"? (Glad you asked :) Reliable reports state WSPR transmissions have reached distances of 10,000 miles using only 0.2 watts (23 dbm) of rf power. The (hardware) PWM pin on a Raspberry Pi is capable of producing 0.1 watts (20 dbm), and so is capable of reaching great distances with no additional "active" hardware (amplifiers).

And to conclude finally: WSPR is not suited well at all to communicate data; it may be able to manage 1 bit per second! However, as these things usually go, the technical breakthrough that WSPR made has yielded other protocols that are capable of more data throughput - not a lot more, but enough to be useful in some applications. For example, one of these protocols, EXchat is claimed to have sufficient bandwidth to support "text messaging" applications (that would be SMS - not MMS!)

Part 2.5 - SATCOM Solutions:

In my opinion, this really doesn't have anything to do with Raspberry Pi, since AFAIK there are no RPi-based satellite transmitters so I'll give it short shrift. But since you mentioned it and just for completeness, it's certainly possible to use a RPi with an Iridium SATCOM modem, and uplink data transmissions from your buoy. But that seems like such an over-kill for this project. And by the way, SATCOM time is expensive!

So that's it - I hope this has helped. I'm done except for one final word of caution: The rf spectrum is controlled by government entities who write laws and regulations that govern its usage. Pay attention to all of the warnings and admonitions you see.


As Chad commented, a ham radio license (http://www.arrl.org/getting-licensed) would be useful. Here's a vid for moding the chip you have: https://www.youtube.com/watch?v=7BYdZ_24yg0 by adding an external antenna. They get a range of 480 meters with their antenna. Technically, such a modification would likely take the ESP's gain out of the legal limits if you didn't have a license.

Also, consider using 2G/3G if there's a cell tower nearby your launch point. The hologram nova (https://hologram.io/nova/) integrates T-mobile and AT&T networks, so if they have a nearby cell tower it could be a solution. As far as the range goes, I think one mile is a safe bet and a few miles is more optimistic. Worth doing some research.

Finally, if you had one more ESP8266, you could do two buoys. One of them would stay between your router and the other buoy and act as a repeater.


You will need to find a suitable radio technology to do this, and depending on what is available it could get expensive.

Edit: since you are most likely just doing basic text reporting, a far easier and cheaper option would be a pair of 433Mhz transceivers. They are cheap, don’t use a lot of power when idle, and when paired with a micro controller board like the arduino you have a neat low-power low-cost option. It doesn’t require w point to point connection, allows for omnidirectional antenna on the buoy, and perhaps might not even need a directional antenna on land. One of the modules that would work for a bi-directional serial link might be: https://m.seeedstudio.com/productDetail/1733

This would also work with a Pi since you can run a serial console this way.

Original post:

First thing to check would be GSM / GPRS / UMTS coverage. If there is a mobile network available, you could get away with a small MiFi router. If you need low power, a serial GSM modem would do, using GPRS or SMS you can get small amounts of data to and from in a cheap way.

Another option might be LoRa WAN, which has a long reach while also being low power. You another option is a satellite modem from the likes of Iridium or Astra.

Keep in mind that the thing you are trying to do is (so far) mostly done in large governmental or commercial projects and the resulting existing technology (mostly satellite com) is rather expensive. Alternatives have not yet had a clear winner or good example implementation.

WiFi and the likes are not suitable due to the nature of a floating device. Trying omnidirectional serial communication radio devices (and perhaps RTTY) might be your best bet apart from a 2G/3G/4G modem.

  • Can you explain why you believe that wifi is not suitable for a floating device?
    – Seamus
    Commented Apr 7, 2018 at 1:36
  • It’s because at that range you need fairly accurate directional antennas to get wifi to work, and that is not exactly compatible with the constant movement of floating things Commented Apr 7, 2018 at 1:43
  • I get your point, but it seems that you're talking about the antenna characteristics instead of WiFi in general. WiFi will work fine for a floating device. The characteristics of a directional antenna must be considered, but it may not even be necessary to put a directional antenna on the buoy.
    – Seamus
    Commented Apr 7, 2018 at 1:55
  • I’m merely referring to practical installations of wifi, I have not seen a reference, vendor, or anecdotal post about someone using wifi over a distance of more than 150 meters with at least one moving target. I’ve found and seen setups with lower ranges and fewer variables that would work, but depending on cost it might not fit this case. It also depends on the option of the land station, like a dish on a pole. Commented Apr 7, 2018 at 1:58
  • It's interesting that you would claim it won't work just because you've not seen it. Per Wikipedia "Outdoor point-to-point arrangements, through use of directional antennas, can be extended with many kilometers between stations."
    – Seamus
    Commented Apr 7, 2018 at 2:03

If you have a clear shot to the buoy you should do some tests. You may be able to get considerably more than the nominal range with no obstructions in the way. Do a test on the beach or in a field where you don't have to go for a swim...

On the shore side there are "tricks" you can do to improve the efficiency of the antenna. That would also help with your range. A search on wifi directional antenna diy will net you lots of ideas to try.

  • Telling them to 'test it' and that there are some 'tricks' and they should google some stuff is not really much of an answer......
    – Chad G
    Commented Apr 6, 2018 at 15:08
  • Hmm, what I was trying to say is "the spec'd range is nominal and it probably makes some assumptions about conditions - it is unlikely to be best case" therefore before abandoning the idea do some tests of your own. A athletic field or an open beach could get you a similar range (at least on the low end) and probably similar propagation so it wouldn't be that hard to do – and it is very much in the spirit of an engineering or science project. Similarly, knowing that the antenna can be modded and the terms to use to search could be a big help (if that is news).
    – dlu
    Commented Apr 6, 2018 at 15:22
  • But its still not an answer, its more of a comment. And transmission over salt water could have a significant effect on the propagation although maybe in a positive way. It is certainly worth pursuing
    – Chad G
    Commented Apr 6, 2018 at 15:24
  • It's just a guess of course, but it seems that the OP had made a faulty assumption and dismissed WiFi as a viable solution. In fact, it's an entirely viable solution for the range requirement he's provided, but it won't work very well without some hardware to increase received signal strength. What I'm trying to say I guess is that the rules of engagement here require answers rather than clarification questions, and so perhaps comments are a useful way to engage the OP. And hey, he's a student... make him think!
    – Seamus
    Commented Apr 7, 2018 at 1:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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