RV Water Tank Alert System
A simple, reliable Arduino-based alert system that warns us before our RV's gray and fresh water tanks hit critical levels.
- Difficulty
- medium
- Cost
- $45–60
- Time
- 3–4 hours
- Code
- GitHub →
Overview
We were tired of guessing how full our gray tank was — and even more tired of finding out the hard way. This is a simple Arduino project that watches both tanks and beeps before they hit critical.
Problem
The factory tank monitor in our RV is famously unreliable. Sensors gunk up, readings drift, and you end up tapping the side of the tank like it’s 1972.
Goal
A non-contact monitor that:
- Reads gray and fresh water levels reliably
- Beeps a warning at 80% gray (and 20% fresh)
- Costs less than a single bad dump-station mistake
- Doesn’t need an app or a cloud account
Build Steps
- Mount the sensors. The capacitive sensors stick to the outside of the tank. No drilling.
- Wire to the Nano. Each sensor goes to a digital input with a pull-down resistor.
- Power from the RV’s 12V house bus. Use the buck converter to step down to 5V.
- Flash the firmware. See the GitHub repo for the sketch.
- Tune thresholds. Fill the tank slowly and log raw values to find your trip points.
What Went Wrong
The first capacitive sensor I tried was rated for “any tank up to 20mm wall.” Our gray tank wall is 22mm. Readings were noisy until I switched sensors. Lesson: measure first.
Final Result
The buzzer goes off about 90 minutes before we’d actually have a problem, which is exactly the lead time we need to find a dump station.
Cost Breakdown
- Sensors (x2): $24
- Arduino Nano clone: $6
- Buck converter + buzzer + resistors: $8
- Enclosure: $9
- Total: ~$47
What I’d Change
- Add a small OLED screen with current % readings.
- Log to an SD card so we can see fill rates over a week.
- Eventually, push to Home Assistant via ESP32.