Cheap Underwater Proximity Sensor

Hi all,

I’m working on a university project where I use the BlueROV for performing various tasks on objects in a small pool of water.

What I’m looking for, is a way of sensing the distance to objects in front of the ROV. The distance measure should be reliable in the range of about 0-3 meters. The water depth is only about 1 meters. I have attached a sketch of the pool-environment.

As my budget is rather limited, I’m looking for a low-cost solution in the range of $100-$200.

I would like the sensor to be rather easy to interface with a small computer like the Raspberry Pi or Arduino.

After a small research, the best solution I could come up with is to use the Maxbotixs water resistant sonar, and then waterproofing it using RTV.

I don’t have much experience in underwater sensors, so could really use some good advice.

Best Regards,

1 Like

The biggest issues I can tell you that is going to happen is the measuring system will have to account for the difference in speed of sound in air vice water. It is a whole lot faster in water and the range gate / measurement system on this pre-made sensor is more than likely not going to work.

You can build a simple system using an Arduino and some logic to control signal gating / timing. The average speed of sound in water is going to be around 1,484 meters/second. You will need to make a REAL fast timing circuit that is external of the Arduino to measure the distance and send it the ranging data.

To make it clear, now that the range gate / measurement system is pre-build on the MaxSonar system, you would suggest me to find another sonar where this is not pre-build so that I can build that logic myself?

I have just read a small paper titled “Sonar Obstacle Detection System for Underwater ROVs” (see attached pdf). This reports a succesful application of the MaxBotix MB7062 that has been sealed by silicone to operate underwater. He documents succesful measurements in the range 5-13 ft. I had hoped for measurements in ranges less than 5 ft.

In your opinion, is this the way to go, or are you aware of any alternatives?


daniel_mcarthur_final_paper (2.87 MB)

After reading what this guy did … you should be able to use it how he is and use the value of “distance” in his code as the direct measurement. He is setting up various values for green, yellow and red zones but apparently you can achieve a resolution of 0.008 inches. The biggest butt kicker is going to be your voltage at the sensor. What I would recommend doing to ensure that you have “5 volts” for VCC at the sensor is DO NOT send the 5 VDC from the Arduino down to it. Send something higher in voltage (say at least 10-12 volts) to a voltage regulator like a LM7805 located with the sensor package at the end of your tether. This way you know you have a valid VCC and the voltage sensed on the cable coming back will not drop very much at all because your input impedance on the Analog in pin will be very high. You will get a more true measurement.