Wireless Arduino Communication 50 ft Underwater

Hello I am currently working on a senior project. I have limited Arduino experience but would like to think I know the basics. The project is to design a housing compartment that must be able to transmit torque through the 3D printed shell. The shell must remain waterproof at a depth of 50 ft. My team and I have decided to use a magnetic coupling that will be attached to a DC motor to transmit the torque.

We have everything set up besides a way to turn on and off the DC Motor when it is underwater. I was wondering if anyone has an idea of what type of switch or relay will be strong enough to reach the 50 feet underwater. I was thinking to use a HM-10 Module but do not think that it will be strong enough.

If anyone has an idea of an autonomous way of turning on and off the DC Motor using the Arduino and other sensors such as, if the compartment reaches a certain depth or pressure and then turns on.

I have serious doubts about your wireless connection working. The frequency is very high which is not good for uw communications. Lower frequencies work much better.

Wireless communications under water won’t work.

arf. doesn't wifi use microwave related wavelenghts? They're may be mainly absorbed by water, as in your microwave oven.

EDIT: your proposal of an autonomous sensor (embeded underwater with the card) could be a way (any pressure sensor?). But you would certainly want to export data from it.

What low frequency components would work best?

maybe RF based communication module.
Look what google proposes:

All commercial rovers use a cable. Why?..........

Using 40 to 75 MHz you might get as deep as 20' in pure fresh water. You probably don't have access to anything better as a civilian. The radio antennas for subs are thousands of feet long.

You will either have to float an antenna most of the way to the surface and use an RC sub remote, or you will have to hardwire it.

A sonic transducer.

Google found this quote: " VLF radio waves (3–30 kHz) can penetrate seawater to a few tens of meters".

Submarines use the long wire antenna for receiving, NOT for transmitting. They send up a surfacing buoy and use satellite for two-way communication while under water.

You could try hacking a toy remote-controlled (by radio) submarine transmitter and receiver, but I doubt you'd get to 50 feet.

The US Navy has experimented with blue-green laser for underwater communication, but that sounds like a hard DIY project.

You could try ultrasonic communications using a hacked fish-finder.

Or, check out this Notes on Underwater Ranging | MaxBotix Inc. (read to the end.)

Alternatively, perhaps a "ping" (from a solenoid hitting a diaphragm?) and a tuned receiver.

You may have more success using optical modulation. The wavelength and range will be affected by a few factors.

Inches, not feet.

maybe a pressure sensor and run motor till you get about 37psi.
have to do some testing but then it could be autonomous.
seems the primary goal is for the housing surviving the pressure not trying to keep active comms.
good luck!

Hi,
How are you powering the motor and the Arduino project?

Thanks.. Tom.. :smiley: :+1: :coffee: :australia:

What is the minimum distance and what kind of communications ?

With a cable to the surface :rofl:

Sorry, could not resist.

Thank you for the response and the great idea. I have a BMP180 Pressure sensor and I am trying to use this to tell when to turn the power on and off, but I am not sure how to write the code for it. Please let me know what you think and if you need additional information.

#include <Adafruit_BMP085.h>

/*************************************************** 
  This is an example for the BMP085 Barometric Pressure & Temp Sensor

  Designed specifically to work with the Adafruit BMP085 Breakout 
  ----> https://www.adafruit.com/products/391

  These pressure and temperature sensors use I2C to communicate, 2 pins
  are required to interface
  Adafruit invests time and resources providing this open source code, 
  please support Adafruit and open-source hardware by purchasing 
  products from Adafruit!

  Written by Limor Fried/Ladyada for Adafruit Industries.  
  BSD license, all text above must be included in any redistribution
 ****************************************************/

// Connect VCC of the BMP085 sensor to 3.3V (NOT 5.0V!)
// Connect GND to Ground
// Connect SCL to i2c clock - on '168/'328 Arduino Uno/Duemilanove/etc thats Analog 5
// Connect SDA to i2c data - on '168/'328 Arduino Uno/Duemilanove/etc thats Analog 4
// EOC is not used, it signifies an end of conversion
// XCLR is a reset pin, also not used here

Adafruit_BMP085 bmp;
  
void setup() {
  Serial.begin(9600);
  if (!bmp.begin()) {
	Serial.println("Could not find a valid BMP085 sensor, check wiring!");
	while (1) {}
  }
}
  
void loop() {
    Serial.print("Temperature = ");
    Serial.print(bmp.readTemperature()* 1.8 + 32);
    Serial.println(" *F");
    
    Serial.print("Pressure = ");
    Serial.print(bmp.readPressure()/6895);
    Serial.println(" Psi");
   

    Serial.println();
    delay(500);
}

don't think that sensor will work.
that will measure the inside pressure of the unit, which you are going to make really strong, right.
will only change if it starts to crush.

i was thinking of a sensor that protrudes and measure water pressure.
Like this one maybe..

someone can correct me please if im wrong about inside/outside pressure.

I was just coming back to answer this. I did some more research and found out about the Bathysphere. I was thinking maybe a strain gauge or a

Force Sensitive Resistor would work if applied to the inside of the shell. Let me know what you think