Our house water comes from a rain water tank. In dry weather, we need to get it topped up. While I enjoy tapping the side of the tank, I’d rather have a smoother system to know when to order a water delivery. The end goal is to have this reporting to HomeAssistant. I have an Ethernet cable going to the water tank, and a PoE switch, so the plan is to control and power the whole monitoring system with one cable.
µblog tag: water tank sensor
Progress so far:
- Dug up an old Arduino Duemilanove with an ENC28J60 Ethernet Shield from eKitsZone
- I wanted to make it an IPv6 climate sensor for my beer-brewing shed 10 years ago, but got too busy with being distracted.
- Got a good-size IP65 enclosure, and cable glands
- Found documentation for both:
- Ordered a 4–20mA water pressure sensor from eBay
- Dug up a PoE splitter
- Tested the sensor in a glass of water, it seems to work.
- Found an example schematic of a 4–20mA setup with an Arduino
- The sensor can be powered directly from the
Vin
pin (6), which is the power from the barrel connector (from the PoE splitter), which is sufficient for the sensor - 250kΩ is not in the E12 resistors series, but 270kΩ is good enough
- Nice in the Arduino serial plotter
- Made a little daughter board for the sensor
- Found the Ethercard library to drive the Ethernet shield.
- The Duemilanove is not mentioned in the supported list, but the ATmega328 is an
avr
. It should work, right? - Hangs when configuring any sort of Ethernet parameter
- The Duemilanove is not mentioned in the supported list, but the ATmega328 is an
- Need to debug
- First, look at the SPI (Arduino doc), dug up my BusPirate (SPI mode).
- Don’t have the right connectors, ordered Bus Pirate v3 probe cable yellow labels. Should have done that ages ago.
- Note: Pin 13 on the Duemilanove is both
SCK
and the LED, so best not to try to fiddle with both at once




Leave a Reply