Since it’s a bit hard to get a dedicated wire into my house just to transfer the measurements to where I want to see them, I decided to try out a wireless solution. I ended up using the very inexpensive 433 MHz RF modules for Arduino which seems to work well for me since the signal only has to cover a distance of a few meters. On the other hand, the sender will be located below ground level and there is a metal lid above it as well that can block the signal.
But first verifying if the concept can work by making a prototype on a breadboard.
I tried it out while walking through the house and it seems that the walls don’t block the signal too much. Factors that help increasing your chances to have a successful transmission when there is no clear line of sight is choosing a low bitrate (I ended up using 300 baud) and supply the sender with a 12 Volt power supply. Using a CRC checksum as well is a good idea to make sure the measurements you receive are correct and didn’t get mangled along the way.
For the sender part I choose an Arduino Nano (small enough to fit in the enclosure). Next to the ultrasonic sensor, I also installed a temperature sensor. The idea was to compensate for the varying speed of sound as temperature changes. That part didn’t work out so well since I measure the temperature rather close to the lid while the temperature at water level can be quite different. For the transmission, an inexpensive 433 MHz RF transmitter is used. Since I wanted to give the transmitter a bit more power, I used a small 12 Volt power supply from Meanwell and a 7805 is used to derive a 5 Volt to power the Arduino.
The power supply has been given its own enclosure. Mainly for space reasons. When connecting both enclosures, make sure that no water[vapor] can get inside if you want your creation to have a long and happy live.
After a final test, the installation can be moved to the water tank.