I recently replaced my private water well with two above ground storage tanks in my insulated pole barn. The tanks are 2,000 gallons each and are piped together giving me a total of 4,000 gallons. I have completed many Arduino and Particle projects, and I needed one to monitor my tanks, pump, furnace, and room conditions.
I drilled two holes in the top of my tank to accommodate the SainSmart distance sensor and secured with hot glue. I connected that sensor to my Particle. I also added a temp/rh sensor to monitor the room conditions. I also added some circuitry to monitor the pump run time as well as the furnace run time.
By measuring the distance from the water level to the sensor I can precisely calculate utilizing an algebraic equation how many gallons I have. I use this data and publish it to Particle as well as Blynk. I use the mobile Blynk app to monitor the status of all the systems and I receive a notification if anything falls into what I have programmed as "critical". This allows me to know when I need to order more water (a semi truck comes and fills my tanks) as well as any freeze conditions or any other anomalies that may occur, for example the heat running too long because someone left a door open, etc.
I am able to graph and historically chart all systems and components from anywhere using my smart phone. Very handy tool.