Many years ago I started a project to monitor various systems around my house. I designed and built a system based on Arduinos, Python and MySQL. I placed various sensors all around my house, connected them with ethernet, and I can data log various things - like water and energy consumption, room temps, etc. Which brings us to today's fun.
I live in a rural setting, so I have a well. As you might be aware, living in Northern California has it's ups and downs (like earthquakes, fire, drought, etc), and gives me the opportunity to worry about my very drought and population stressed aquifer. Many of my neighbors have their wells go dry in the last several years due to overpumping and poor water management. In fact my well went dry about 4 years ago and I was forced to drill a new, deeper one. However the old well was left in place. I was hoping it would perk up at some point.
Roll forward to this year. I finally got around to have a sounding tube installed the old well. (A sounding tube is just a bunch of PVC pipe that runs in the bore from the surface down to the well pump. My sounding tube turned out to be 546 feet deep. I purchased a water depth sensor from Keller (Keller Acculevel). I've used these before and find them accurate and easy to use. The one I selected, has a RS-485/MODBUS output and needs a 12v source.
The "problem" with this installation is the well head is down a hill and several hundred yards from my house. My other installs have had ethernet close enough, so I haven't had to deal with this before. I settled on using a wireless link of some type. I played around with some DIY LoRA radios and they just didn't have the range to make it reliably. So I looked for a more robust solution. I found an RS485 Transceiver (EByte E32-DTU) on eBay for around $25. (You need to purchase antennas separately.) I went with the 433MHz option as I figured that would have better range and be a bit less line of sight. I also found a wall wart that would accept 220v and output 12v.
Since I've used them before I already had some Arduino code that worked (it's standard MODBUS stuff, so pretty straightforward).
Here is the sensor with it's cable and the well head. The 1" cap for the sounding tube has been removed from the well head. I just lowered the sensor down the hole, then put the tail of the cable through conduit to my weatherproof box.
And here's the conduit buttoned up.
The sensor box consists of a 12v supply, the RS485 transceiver, and a tubed filled with desiccant to terminate the atmospheric balance tube. (You can't get any moisture down this tube or you'll get bad depth readings. ) I was lucky that the well electrical box had a 1 1/2" pipe fitting on the top I could mount my weatherproof box too.
Here's one of my Arduino based nodes. This communicates with the well via the transceiver, decodes the MODBUS stream, converts it to my internal protocol and sends it out ethernet to my database. As you can see, this well is no longer dry, so I can plan to start using it!
(My well pump is sitting 546 below the surface, this is where the sensor sits. The water depth is showing as 246 feet, so the top of the water is around 300 feet below the surface.)
Here's the basic layout of the shop. The circle with an "x" in it represents a ball valve.
Below is a pic of the chart in ThingSpeak. The slopes of the different curve segments are calculated below:
So it appears the best the system can do is around 2 psi/hr. That's with as little of the system as possible in the mix, i.e. best case. That said ,there's still the compressor check valve, a water separator/filter, air line quick disconnect fitting, and 3 ball valves in the mix. It's possible the air line quick disconnect fitting could be the bulk of it, however the filter also has an auto drain feature which could be leaking too.
UPDATE: I've been opening up each end point separately and it looks like the Bridgeport is kinda a problem. I'm pretty sure it's the Kurt Power Drawbar IN/OUT switch - I knew it was leaking, but it's leaking more than I wanted. I think the rest of leaks are probably a collection of minor things I'll have to find by soapy water, etc.
A couple of years of ago I finally added hard lines to my air compressor throughout the shop. What a nice upgrade! No more hoses all over the floor. However, it seems my copper sweating skills are maybe not what they should be as it seems to leak a fair amount of air. After I switch off the compressor it takes something like 4 hours for the system to depressurize.
I felt I could do better.
But how to isolate the problem? And how to make it a complex project?
Well, that's easy. Just build a wireless network connected microcontroller with a pressure sensor, an SD card for logging, and a graphical display. Have all your data get collected in two ways - 1) local to the SD Card and 2) upload to ThingSpeak.com.
My thinking is to attach the logger to different segments of the air line. As I move away from the compressor - therefore adding more pipe joints, valves, equipment - I should be able to deduce from the pressure decay rates what the relative leak rates are per section. That should give me an idea of what to work on. Additionally, I can verify my repairs in quantitative terms.
So after a few days of cobbling things together
Here you can see it's attached to my air lines - running about 115psi.
Close up of the mess. The screen is an older Arduino TFT (now discontinued) with an SD card socket. The smaller chip above that is an ESP8266 WiFi chip. For $5 you can't beat it!
The ESP8266 is a 3.3v part which needs some juice when transmitting. I happen to have had lying around an old XBee shield that I had previously added a 2 channel level shifter to. It took care of both issues as it also has a robust 3.3v power supply.
Here's a link to the ThingSpeak page where I'm uploading the data : https://thingspeak.com/channels/6008
I'll have to update this as start logging the system and try to figure it out.