Hier möchte ich euch mal meine Lösung für eine echte Anzeige des Wasserstandes präsentieren.
Die Aufgabe
Die Gründe für mein Vorhaben finden sich in der bisherigen Wasserstandschätzung beim Schätzchen aus dem Baujahr 1999.
Die herstellerseitig verbauten Anzeigen in Wohnmobilen und Wohnwagen sind oft alles andere als zuverlässig
Hier wird lediglich mit drei bis vier Kontakten eine Anzeige von voll bis leer mit einem Zeigerinstrument dargestellt. Das hat mehr mit einer Schätzung, als mit einer wirklichen Messung zu tun.
Außerdem möchte ich den Füllstand am liebsten, wie ein echter Nerd, auf dem Handy angezeigt bekommen.
Diverse Hersteller wie VOTRONIC oder MOPEKA bieten dafür „schlüsselfertige“ Lösungen an. Diese sind allerdings nicht gerade günstig und bewegen sich im dreistelligen Euro-Bereich.
Auch von SHELLY gibt es mittlerweile eine vergleichsweise günstige Lösung. Diese ist allerdings für „unsere“ Zwecke nicht wirklich geeignet, da der Abstand zur Wasseroberfläche zu groß gehalten werden muss.
Eine „einfache Lösung“ mit Schwimmer und Potentiometer ist mir allerdings zu aufwendig und auch zu kompliziert zu verbauen.
Distanzsensoren auf Ultraschallbasis gibt es mittlerweile in großer Anzahl und günstig zu kaufen.
Auf der Arduino-Seite von Tobias Kobbe bin ich auf eine Lösung gestoßen, mit der er den Füllstand von Zisternen ermittelt und dargestellt wird. Darauf basierend baute ich 2024 die ersten Versionen der Wasserstandsanzeiger.
Tobias hat das Thema ganz prima umgesetzt und mir bei der Inbetriebnahme und Programmierung des Arduino prima geholfen.
Diese Lösung hat allerdings Laufe der Zeit ab und zu mal Probleme gemacht hat (WLAN-Anbindung, Messfehler).
Da ich selbst als absoluter Unwissender im Thema Arduino war, entschloss ich mich 2025 selbst ein kleines Arduino-Studium zu absolvieren.
Von ELEGOO gibt es für diese Zwecke ein ganz tolles Starterkit für den schmalen Geldbeutel:
Dieser enthält wirklich ALLES, was man zum Basteln und Lernen der ARDUINO-Welt benötigt. So konnte ich mich ganz langsam an diese unbekannte Welt heranarbeiten und verstehen lernen, wie das System funktioniert und programmiert wird. Dazu benötigt man lediglich einen PC und Geduld. Nichtmal ein Lötkolben oder anderes Werkzeug ist notwendig, um selbst komplexere Anwendungen zu erstellen.
Im Laufe mehrere Wochen und mit Unterstützung von ChatGPT konnte ich tatsächlich eine für mich perfekte Wasserstandsanzeige aufbauen. Diese zeigt auf dem Handy via WLAN den Füllstand in Zentimetern und Prozent an. Somit habe ich beim Befüllen des Frischwassertanks schon außerhalb vom Schätzchen eine Information zum aktuellen Wasserstand.
Dabei muss ich aber den Zulauf ab und an kurz anhalten, weil der Sensor durch die „Wellen“ beim Befüllen „irritiert“ wird 😉
Zusätzlich habe ich eine dreifarbige LED eingebaut, die mir schon ganz grob die Wasserstände anzeigt. Diese LED kann irgendwo im Fahrzeug oder direkt am Tank angebracht werden.
Ein kleiner Buzzer gibt akustisch Alarm, falls der Wasserstand sich einem kritischen Zustand nähert.
Die Hardware
Um die Elektronik einigermaßen vor Umwelteinflüssen zu schützen, verbaute ich die der Einfachheit halber in IP65-Feuchtraum-Verteilerdosen.
Darin befindet sich die Arduino-Platine, die dreifarbige LED, der Buzzer und ein Reset-Taster:
Auf die Arduino-Platine wurden passende (und mitgelieferte) Steckbrücken gelötet, um die Platine austauschbar zu haben:
Die Leitungen zu den anderen Bauelementen wurden dazu ebenfalls mit Steckbrücken angeschlossen:

Der Sensor wurde mit 5-poligen CESFONJER- IP65-Steckern angeschlossen:
Somit kann ich die einzelnen Baugruppen unabhängig voneinander trennen, testen oder programmieren.
Die Box selbst ist via USB-C-Stecker an eine 5-Volt-Quelle angeschlossen und kann auch im Bedarfsfall darüber programmiert werden. Dazu kann ein handelsüblicher Adapter für die Steckdose genutzt werden:
Hier die komplette Aufstellung der benötigten Hardware:
| ESP8266 Mini Board | 3,00 € |
| Ultraschallsensor | 21,00 € |
| USB C Panel | 18,00 € |
| Wasserdichte Abzweigdose | 5,00 € |
| 5mm RGB-LED-Diode | 0,10 € |
| USB C auf USB C Kabel | 6,50 € |
| Piezo-Lautsprecher | 0,30 € |
| CESFONJER 5 Poliger Stecker/Buchse | 1,50 € |
| SUMME | 53,90 € |
Sensor ist nicht gleich Sensor
Zu beachten ist als wichtigster Tipp, dass die Ultraschallsensoren äußerlich absolut gleich ausschauen.
vs. 
Tatsächlich gibt es grundlegend zwei verschiedene Ausführungen. Ich benenne sie einfach mal „aktiver“ oder „passiver“ Sensor.
Beim aktiven Sensor handelt es sich um die „A0221AM → PWM / Trigger-Echo Version“. Das heißt, dass vom Microcontroller Signale an den Sensor gesendet werden, die von diesem dann als „Echo-Wert“ zurückgespiegelt werden.
Der passive Sensor „A0221AU → UART-Version“ werden vom Sensor selbst definierte Signale übermittelt, ohne dass er dazu „angeregt“ werden muss.
Beim Bestellen der Sensoren ist dabei unbedingt auf die Version zu achten!
Ich hatte beispielsweise mit PWM-Sensoren begonnen. Beim Neuaufbau der Umgebung erwischte ich allerdings UART-Sensoren. Damit hat natürlich der Aufbau und die Software nicht funktionieren können 🫤Ich hab mehrfach beim Lieferanten defekte Sensoren reklamiert, nur weil ich diesen entscheidenden Unterschied nicht wusste.
Schlussendlich nutze ich nunmehr PWM-Sensoren, da sich diese für meine Zwecke als „robuster“ in der Programmierung herausstellten.
Schaltplan
Der Schaltplan des Projektes ist wirklich überschaubar.
Nachdem ich mir diesen in der „Bastelkiste“ aufgebaut und getestet hatte, konnte ich das Ganze schnell final umsetzen.
Die Software bzw. der Code
Zuerst musste ich die Daten für jeden Tank erfassen (Länge, Breite, Höhe und maximale Füllmenge).
Mit diesen Daten und ein wenig „Excel-Spielerei„ konnte ich die Variablen für den Code ermitteln.
Aus der Distanz bzw. der Füllhöhe kann der Füllgrad in Prozent berechnet werden.
Mit diesen Werten wurde mit der Arduino IDE der Code für die Anwendung erstellt.
Geholfen dabei hat GEMINI, die künstliche Intelligenz von GOOGLE.
Damit konnte ich Aufgabe für Aufgabe mit dem Assistenten durchspielen und optimieren lassen.
GEMINI hat schlussendlich den finalen Code und den Schaltplan für die gesamte Umgebung bereitgestellt.
Im Fehlerfall sendete ich lediglich eine Fehlerbeschreibung an GEMINI und bekam umgehend eine Lösung des Problems geliefert.
Hier findet ihr den kompletten Code für meine Frischwasserzisterne.
Dabei ist der Code für die Webserver-Programmierung für die Ausgabe am Handy oder PC, die LED-Ansteuerung und das Alarmsignal des Buzzers enthalten.
Dieser ist bestimmt nicht hundertprozentig DIN-konform und bestimmt sehr verbesserungswürdig, aber für meine bescheidenen Zwecke ausreichend 😉

Spaß oder Sinn?
Meinereiner hatte bei der ganzen Geschichte unheimlich viel Spaß. Manchmal war ich auch kurz vor dem Aufgeben😖 Aber dank Tobias Hilfe in der Anfangszeit und GEMINI in der finalen Umsetzung, hat schlussendlich alles so geklappt und funktioniert wie ich es mir gewünscht habe.
Ich denke, dass ich dabei viel gelernt und Erfahrungen gesammelt habe. Ich bin nun bereit für die nächsten Projekte, wozu mir bestimmt das eine oder andere einfallen wird 😉
Portugal im Dezember 2025
