Wondering if anyone is aware of a way to cause an ultrasonic proximity sensor to be modded, such that, it's forward line-of-sight range remains unaffected, but it's angular spread is reduced, somewhat in the "collimator" sense (in terms of light). To explain the problem, I've been experimenting with the el-cheapo HC-SR04 sensor, trying to detect level of water in a plastic bucket (25 ltr vol.). While I am not 100% sure, but I think the diameter of the bucket it is a problem, that, even when the level of water is low (about 18-19 inches away from the sensor), I get a reading that translates to about 8 inches. Only explanation I have is that the sonar is reading the waves bouncing off the bucket walls.

I was wondering if some kind of a collimator built using sound-absorbing material, might work ? I will try experimenting with low density foam (Styrofoam perhaps) but not quite sure if it's really sound-absorbing.

  • \$\begingroup\$ Is the transducer assembly attached to the bucket? Just thinking the reflection might be coming up the side of the bucket. \$\endgroup\$
    – PeterJ
    Apr 19, 2013 at 4:21
  • \$\begingroup\$ In addition to everything else make sure you have clean electrical connections, especially a low impedance supply. \$\endgroup\$ Apr 19, 2013 at 4:53
  • \$\begingroup\$ @PeterJ, the transducer is currently held by me, in my hand with manual alignment along bucket's central axis, and about an inch above the brim level. \$\endgroup\$
    – bdutta74
    Apr 19, 2013 at 6:28
  • \$\begingroup\$ @icarus No! Use Helping Hands or some form of stand to hold the sensor, else your hand movement will mess up readings. \$\endgroup\$ Apr 19, 2013 at 6:46

2 Answers 2


Coincidentally, I happen to be playing with almost precisely what the question refers to, since yesterday. My distance sensor unit boasts a 25 degree angle, but I faced the same problems with my bucket of water.

My solution may not be an engineering marvel, and there will likely be some reaction from purists, but here is what works:

  • The sensor unit is set pointing directly into a soft cardboard tube of about 2 inch diameter and 8 inches long, the core of a kitchen foil roll: This reduces the false echoes from sides significantly. Both TX and RX are inside the tube.
  • A couple of folds of tissue paper over the TX ultrasonic emitter, to attenuate the outward ultrasonic signal.

The latter was needed because the HC-SR04 did not provide any simple way of reducing outbound signal, and it was strong enough for false positives from all directions: Reducing supply voltage didn't make much difference until at one point the module became erratic.

I now have fair precision on water depth measurement in my bucket, from various heights.

[Edit] I can't believe I'm doing this: Photos of my experiment, in my bathroom, on request from the comments!

enter image description here

The enhanced version now has two cardboard tubes, for TX and RX respectively - Even better precision and tissue paper no longer needed. Arrangement is held together by rubber-bands, because the Engineering-approved duct tape isn't handy. It's hanging from the alligator clip of a Helping Hand soldering stand.

Circuit board on top is the ultrasonic sensor, circuit board dangling from it is an Arduino Nano clone. Blue circular object at bottom of image is the official depth sensing chamber i.e. my bucket.

enter image description here

The TX and RX fit neatly centered, one in each cardboard tube.

At left edge is the Engineering Department's official representative, or at least the fingertips of said person, me.

enter image description here

This is how the set-up looks from the side, in case that helps visualize the arrangement better.

I hope this show-and-tell was useful.

  • \$\begingroup\$ What about using a more narrow, hard, and waterproof tube, like a section of PVC pipe. Make the tube long enough to physically stick into the water. At the other end, put the sensor. The tube itself would act as an acoustic version of a light pipe, guiding the beam. At the sensor end, you might be able to put a thin membrane (plastic food wrap?) between the sensor and the tube to help keep water out of the sensor and off of your tissue paper. Well, it's just a thought... \$\endgroup\$
    – user3624
    Apr 19, 2013 at 4:55
  • \$\begingroup\$ @Anindo, amazing coincidence really ! I think I can visualize your modifications, and by idea of collimator was something similar, though my apprehensions were, what prevents the collimating-tube itself, from being the object that reflects the sound waves ? Perhaps if you could share a few photographs of your modification, it might help with the understanding. \$\endgroup\$
    – bdutta74
    Apr 19, 2013 at 5:55
  • \$\begingroup\$ Also, @anindo, I am assuming that your cardboard tube do not touch water, right ? My worry with attenuating the signal strength is loss of forward range. I guess, my requirements are a bit unique, in the sense that in one particular case, the water depth needs to be detected in a submerged, cylindrical water tank, whose dia is about 4 ft, and dept is about 12 ft. With a max forward range of about 12-15ft, the attenuation would severely limit range. \$\endgroup\$
    – bdutta74
    Apr 19, 2013 at 5:59
  • \$\begingroup\$ @DavidKessner I tried with a PVC pipe segment after seeing your comment: The sensor fails entirely - I guess too many reflections from the PVC surface all around? \$\endgroup\$ Apr 19, 2013 at 6:02
  • 1
    \$\begingroup\$ @icarus74 The soft cardboard absorbs the part of the waves incident upon it, would be my surmise. Someone on Physics StackExchange might know better. I'll take a photo when I get back home today. No, the tube does not touch the water. The attenuation tissue paper may be unnecessary in your case: My experiments are in a small tiled bathroom, hence much stronger reflection from signals off the central axis. The cardboard tube, of course, is attenuating only off-axis signals, not forward ones. \$\endgroup\$ Apr 19, 2013 at 6:07

The dispersion angle of acoustic waves in air is inversely proportional to the frequency. In other words, the higher the frequency the "tighter" the beam. Any "collminator" that you make must adhere to these fundamental laws of physics. However, I do not think this is your problem.

The sonar unit that you are using has a 30 degree measurement angle (+/-15 deg from the centerline). Doing the math, at 19 inches above the water you will have a measurement area of about 10 inches in diameter. That is just barely smaller than the diameter of the bottom of a 5 gallon bucket. In short, it should work.

You can easily test if the sides of the bucket are interfering with your measurements. Line the sides of the bucket with something soft-ish but somewhat high density, like a blanket, sweater, or several layers of towels. Then see if you can detect something reflective at the bottom (like, the bottom itself).

Styrofoam does not make for good sound absorption, especially at higher frequencies that ultrasonic devices operate at. Styrofoam has a relatively hard and flat surface that reflects sound well. It also has little mass to help stop sound from propagating right through it. Wool blankets, thick felt, thick velvet and similar materials are good. I should point out that materials that are good at absorbing sound are also really good at absorbing WATER.

  • \$\begingroup\$ Thanks David. I will certainly try with felt and blanket, yes, the water absorption would certainly be an issue. \$\endgroup\$
    – bdutta74
    Apr 19, 2013 at 6:20

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.