Using radio control underwater


I am trying to control a RC submarine under 2 meters of clear water (or very slightly salted, much less than the sea). I would need to send about three servo channels at least four times per second, plus three binary channels (108 bps at the very least)

I tried a 2.4 GHz remote (, like every newbie, and it failed miserably (maybe I should have researched a bit more before buying...)

The range is about 10cm underwater (I expected worse), then the signal drops.

I am now considering two other options :

  • Using a long antenna that reaches up to the surface (but I don't want to damage the nice antenna of the receiver, and I don't know if it will work)

  • Using a 433 MHz frequency ( I know the smaller the frequency the better, but this is the lower I could find. I looked desperately for a 41 MHz transmitter but could never find the matching receiver, so I gave up.

I should receive it in about 10 days, I will keep you posted on how this performs.

I know the usual solution is hydrophones or lasers, but it seemed a bit overkill, and I don't have the time or the patience to build amplifying circuits, so I'll stick with the nice arduino modules if I can...

I also looked at AM transmitters, but again I couldn't find an appropriate receiver, and I'm not sure how to amplifiate the TX signal

Do you have experience in that domain ?


RF does not penetrate water very well at all I am surprised you got 10 cm, sound waves carry a very long distance underwater that is why subs use sonar instead of radar to find stuff underwater.

It is doubtful that you will get a reliable connection with the module you have on order.

If the modules are simple things like , you can simply use Radiohead.

Only very low frequency (VLF) radio waves penetrate water to any useful depth. To communicate with submarines, the Navy uses 3-30 kHz, which will penetrate sea water up to about 20 meters in depth.

The data rates are necessarily extremely low with such low frequency carriers.

Id possibly suggest using 2 Xbee devices, the ones with a detachable antenna so that you can get an antenna long enough to extend to the surface.

Or maybe a long shot but ultrasonic transceivers?

Hi everyone, thanks for your attention :)

wwbrown : Sorry to hear that it probably won't work... I'll give it a shot and keep you informed

Isaac96 : I was thinking of using VirtualWire, it seems like the most used option. Do you know if I can find any modules that provide a lower frequency ? On DigiKey I could not find any lower than ~300 MHz

jremington : 2m would be enough for me. Bandwidth is not really an issue, but I couldn't find any transmitters/receivers with such a low frequency (and I suppose the antenna size would start tu be an issue)

aprykea : Xbee is a bit too expensive for my budget, but I did consider extending a receiver antenna. I soldered two wires to my 2.4GHz receiver and let them float to the surface while the submarine was under water. It looks like thelimiting factor here is the distance between the receiver and the first bit of antenna that is over the water.

Let me explain : If I keep the antenna over the water as much as possible, I can lower the submarine up to about 30cm before losing connection. However, if I submerge the whole antenna and just leave the last 30cm out, the signal is instantly lost. It seems the longer the antenna, the lower the efficiency.

It looks like the only option would be to put the receiver module in a watertight compartment that floats to the surface, linked to the sub with a cable. The problems here are the size of the compartment, the weight of the cable (I have to transmit power, ground + 6 channels, so 8 cables).

Ultrasound seems far-fetched, but I still an ultrasonic tx/rx pair (ordered My biggest worry is that I'll have to amplifiate the receiver signal, and then treat it using the full power of the Arduino (I have seen tricks with Arduino registers to read inputs fast enough to perform basic low-freq signal analysis but it takes all CPU time)

Do you have experience with ultrasound modules ? Do I need an amplifier ? Are there modules that can do basic sound processing so I can offload that work from the Arduino ?

Edit : I looked at this article : At the frequencies we are talking about, transmission loss is very small, so I will only take into account propagation losses. It seems that with normal incidence, 2.4GHz waves should suffer an attenuation of about 40dB at 10cm (extrapolating a bit Figure 3 that only goes up to 1GHz). Since I lose contact with my transmitter at about 10cm, it seems that the tx/rx pain is able to handle a 40dB attenuation. Assuming that the 433MHz module I ordered can handle the same attenuation (which I strongly doubt), it should lose contact at about 5 meters underwater (since 40dB attenuation is reached at 5m with 433MHz on figure 3).

Radiohead is a newer version of VirtualWire, and is slightly easier to use. I attached a fairly recent version of it. (280 KB)

Isaac96: Thanks ! Do you know if Radiohead would work with a simple amplified ultrasound transceiver, or do I need a full circuit to do the signal processing ?

would work with a simple amplified ultrasound transceiver

Possibly. Which one do you have in mind?

The problem with using the extremely low frequency (ELF) system the navy uses is the size of the antenna, the navy used the upper penisula of michigan as the antenna, it might be easier to for you to use sonar, Here is a link of ELF

Save your time and money RF is not going to work for you.

wwbrown: Save your time and money RF is not going to work for you.

I have a hard time believing that... Many people build RF submarines that can go at least 2m under fresh water (for instance

jremington: I ordered this pair :

OK I guess I was wrong there are RC Subs, I found this page in about 20 seconds of googling with the search string "rc SUBMARINE radio system"

wwbrown: Yes, but those 75MHz radios are very hard to find (and are pretty expensive according to the site you posted) Actually, I find it is very hard to find affordable 6-channel radios under 2.4GHz, and I already bought a 2.4GHz radio, so now I am looking to make a relay using an Arduino and a pair of 433MHz tx/rx arduino modules, or an ultrasonic tx/rx pair. Ultrasound looks more reliable but I need to build a circuit myself whereas 433MHz should penetrate less water but comes in a nice arduino module.

Actually, I found a old Futaba 72MHz FP-T4L at a yard sale. Sadly, it had no receiver, and a MOSFET inside it was getting hot, so I ditched the PCB and am now using it with a Uno inside as a joystick.

You need to account for trigonometry as well. If the submarine is 2 meters deep and 4 meters away but you are holding the antenna 2 meters high the amount of water the signal will have to penetrate through is 2.8 meters not 2 meters. This water distance increases greatly the further you are from the transmitter. For example at 50 meters away you need to penetrate 25 meters of water.

Best to put an antenna on the surface.

A 2.4 GHZ antenna can be a piece of coax with the shield connected to ground and stripped off the last 30mm. Connect the signal wire to your receiver.

Henradrie: I will never be more than 10m away from the sub, and I can live with having to stay close when it is at maximum depth (and I wouldn't be able to see it anyways from 50 meters away)

Isaac96: Thanks ! That's exactly what is on my receiver, and maybe that's why I couldn't extend it... I soldered an insulated wire to the inner wire of the coax, and let it run to the surface. This gave very poor performance, do you think ti would have been better with coax cable (but I don't see how to solder two coax cables together) ? Or should water act like a ground and eliminate the need for a shield ?

Also I have two of those antennas on the rx. My guess was it actually has a built-in tx because the transmitter showed the input voltage (ie battery level) of the receiver...

Take a piece of coax that can reach to the surface and solder the shield to ground. Or solder a wire to the shield and ground that. Next, solder the center to the signal output. It would make it easier if you posted pictures of the inside and outside of your RX. Strip 30mm of shield off the other end and fold that back. Now wrap electrical tape over all the joints, or use heat shrink.

I attached the picture

Won’t the huge mass of water act as a grounded coax shield ?

I received the 433MHz modules, and they worked terrible :stuck_out_tongue:

I used VirtualWire library, and without an antenna I couldn’t get more than 1 meter range. After soldering a 10 cm wire antenna to the receiver, the range was exactly the same. I attached a 30cm wire antenna to the transmitter, and it was much better. Outside with a clear path (apart from the submarine wall - about 2mm PVC tubing), I was able to get at least 15m range (maybe more, I did not have enough space to test). However, it seemed very sensitive on antenna orientation and obstacles. With a human between the tx and rx, I couldn’t get more than 2m range.

It proved a bit better thant 2.4GHz underwater however : we were able to get a signal at best under 50cm of clear water (to be fair the 2.4GHz tx was tested in another swimming pool, so salt conditions may not be exactly the same)
However, it seemed extremely sensitive to orientation, obstacles and luck. Sometimes we were not able to submerge it more than 10cm.

Also I received the ultrasonic transceiver, only to realize I only ordered one instead of two -.- (here goes another 2 weeks of shipping)

Conclusion so far : if I can’t get the ultrasound to work, I may use 2.4GHZ to control the submarine at the surface, and attach a cable to control it underwater (see attached beautiful drawing)