URM04 v2.0 Ultrasonic Sensor (SEN0002)

This is a placeholder topic for “URM04 v2.0 Ultrasonic Sensor” comments.

The URM04 v2.0 Ultrasonic Sensor is developed based upon our popular URM37 ultrasonic sensor. The RS485 interface allows a number of sensors working together. Up to 32 URM04 may be connected together in a network.

Read more

1 Like

Good morning,

I want to make a device for measuring the frequency and duration of waves created by boats on a river. I was thinking of having an aluminium tube about 1.5m in length, that I would push into the mud of the river bank at the waters edge, then have a polystyrene bouy that would slide up and down the tube. On the tube I would also have 2 collars where I could set an upper and lower travel distance for the bouy. On top of the tube I would make a mounting plate that would house a battery, solar panel and the circuitry. I was thinking of having either an accelerometer or ultrasonic distance measuring sensor that would mount on the bottom of the top plate and would shoot down to the bouy for the measurements. All of the components would need to be in an IP rated enclosure as the whole unit would be sitting out in the environment. I would also like to run an sd card to store the data as well. In the future I would potentially like to add maybe a camera to capture a pic of the boat going past (and maybe speed) and also an environmental monitor for weather data capture as well. I am pretty sure I have the Mechanical components figure out, just not the electronics. I am compotent with soldering so am happy for plug/play or hard-wiring options.

I have some sketches of the design and can email these through if needed.

Cheers for your help



Hi Josh,

Welcome to the forum!!

Sounds like an awesome project with a few bits to figure out, I’ll break them down here (click the section and it will open up):

The brains and senses of the project

To start with I would go for a Raspberry Pi Pico or one of the Zero Variants (the Zero’s have a CSI connector on the back that will allow you to connect a camera later but the Pico is a bit harder).

Personally I would go with a distance sensor for this one, one catch that you run into with using a sound based sensor such as an ultrasonic is that it can bounce off objects that you werent intending it to, such as the side of a tube.
A laser ToF sensor gets around this by using IR light, Core makes one here with really good libraries for MicroPython: PiicoDev Distance Sensor VL53L1X Australia
I also found this topic over on the Arduino forums for how to waterproof a sensor like this: VL6180 TOF distance sensor crosstalk compensation - anybody done it? - Sensors - Arduino Forum
PS: there is some calibration required for each material over the sensor!

Datalogging will be a lot easier when the µSD PiicoDev modules hits the store. If you wanna get your project done ASAP, I’d pick up one of these and reference DigiKeys tutorial for getting it working in Micropython

Powering the project

One of the great selling points of microcontrollers(MCU) these days are their low sleep currents (doesnt apply to the Zero’s) and as such a LiPo will keep them going for aaaagees, but does take a bit more effort to get the code working perfectly. Not to mention the calculations and measurements for sizing a battery.

Solar will keep the battery topped up and ready for measurements just about 24/7, I havent had the chance to tinker around with these two boards but they look perfect for this project:


Again this can be done a few ways, a Tupperware container can go a long way with some silicon or you could go for a full enclosure with cable glands (Note that you have to have the correct size wire with these ones though!

Future proofing

To save the hassle of going and physically collecting a µSD card you can use a technology known as LoRa, it lets you connect two devices over a long range (More that 2km line of sight) but with the caveat that you cant send a lot of data.
An LTE connection would be excellent as well, same goes as above, upload the data to the internet (Adafruit IO is great), much higher bandwidth for this connection, but the radios are quite a bit pricier

A picture could be taken once the bouy moves but I’m not 100% certain about how to measure the speed. This tutorial could work: Detect Speed with a Raspberry Pi, Camera and OpenCV - Tutorial Australia ??