Measuring Wave Height


I'm trying to measure wave height at our boat dock. I'm displaying the current wave height (avg over 12.8 sec), the 2-hour average height (upper right), and the water depth (lower right), with the current wave activity scrolling across the bottom. 10 samples per second. The picture might look like I have succeeded, but no. It seems to be fine with light waves but when it gets rough the wave height is obviously in error (reads low). When this picture was taken the wave height (from trough to crest) was around 2 feet. My WaveMeter shows 9". I think what's happening is when the trough of one wave is directly under the sensor, the sensor is actually pinging off the crest of the next oncoming wave, which is close by, and the beam angle of the sensor is quite wide.

Right now I'm using a JSN-SR04T sensor. I tried putting a length of PVC over the sensor to narrow it's beam but that didn't fly. Sensor reads minimum whenever any length of pipe is put in front of it. There doesn't seem to be any ultrasonic waterproof sensor with a narrow beam angle and an earthly price. So now I'm thinking of using a SEN0366 laser rangefinder. A little pricey. And the big unknown to me is, will it reflect reliably in bright sun and when perpendicular to the water (5 ft above average water level). When I point my laser pointer to the water it goes right into it, but with some reflected. And the angle it is reflected at depends entirely on the plane of the water at point of contact.

So here's hoping that someone has a bit of experience with lasers bouncing off the water and can offer some suggestions. Would be appreciated.

PVC is a good sound reflector. Try a foam tube.

When measuring river levels I used a SN-SR04T but we have no waves as such

have a look at Pololu TOF sensors - I used them for measuring water levels in tanks
no idea how well they would work on water with waves but they are fairly low cost, e.g. Adafruit VL53L0X

I saw a guy doing this on YT thanks to you for suggesting this. He had some success and hopefully I will too. This is the 1st time the sensor would work when it was in a tube, so maybe....

Waters are relatively calm now so I'll have to wait and see if it is a solution.

If anything so much as touches the water, this is what happens to it:

This area should be named The Barnacle Coast.

That one looks like what I need. I think interfacing to that part would be a project by itself since I'm new with C. ST doesn't release any info about the internal control registers and one must rely on their API or the one written by Adafruit. A project for me, yep.

Maxbotix has a good selection of waterproof ultrasonic sensors with narrow beam angles. They aren't cheap, but not gold plated, either.

I have used the VL53L1X, VL53L0X and VL6180X depending on distance etc
used various libraries, e.g. Adafruit_VL53L1X, vl53l1x-arduino, etc - all worked OK

I talked to an applications engineer at Maxbotix and he suggested the MB7062. Narrow beam angle and pricey ($100), just as you said. I bit the bullet and ordered one.

The sensor I'm using now (the JSN-SR04T) started going crazy today. This is the 2nd one of that model that I've bought and both are defective.

Look at this scope trace and see what it's doing when pointed at a blank wall with nothing near it:

Green is trigger.
Yellow is echo pulse.
Blue is Tx data to a Lora module.
(10 samples/sec)

Take my word for it, that echo pulse has about 10% jitter. And this is what I get on the receiving device where EchoPulse is sent to the monitor screen. (The echo pulse width is divided by 2 at the transmitter prior to it being sent to the receiver.)

JSN-SR04T, never again.
Thanks for your suggestion Dave.

1 Like

You're welcome. Hope it does the job! Let us know how it goes.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.