ESP32 S3 - Automatisches Bewässerungssystem
Mit einem automatischen Bewässerungssystem auf Basis des ESP32 S3 bewässert sich Ihr Garten intelligent selbst – das Board liest einen kapazitiven Bodenfeuchtesensor aus und schaltet eine relaisgesteuerte Pumpe ein oder aus, je nachdem, ob der Boden trocken oder feucht ist. Dieses Tutorial führt Sie durch jeden Schritt – von der Verdrahtung der Hardware über das Hochladen des fertigen Sketches bis zum Ablesen des Pumpenstatus im Seriellen Monitor.
Was Sie bauen werden:
- Eine Schaltung aus ESP32 S3, kapazitivem Bodenfeuchtesensor, Relaismodul und 12V-Wasserpumpe
- Einen kalibrierten Feuchtigkeitsschwellenwert, der die Pumpe nur auslöst, wenn der Boden wirklich trocken ist
- Eine Ausgabe im Seriellen Monitor, die den Bodenzustand und den Pumpenstatus in Echtzeit mit Zeitstempeln anzeigt
- Eine vollständig autonome Bewässerungssteuerung, die Ihre Pflanzen gießt und automatisch stoppt, wenn der Boden feucht ist

Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables ESP32 S3 Starter-Kit (ESP32 S3 enthalten) | |
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Kaufhinweis: Viele kapazitive Bodenfeuchtigkeitssensoren auf dem Markt sind von geringer Qualität, unabhängig von der Version. Wir empfehlen dringend den Kauf des Sensors mit TLC555I-Chip von der Marke DIYables über den obigen Link. Wir haben ihn getestet und er funktionierte gut.
Überblick über Soil Moisture Sensor and Pump
Der ESP32 S3 liest den kapazitiven Bodenfeuchtesensor über seinen eingebauten ADC aus und entscheidet anhand dieses Werts, ob das Relais ein- oder ausgeschaltet wird, das wiederum die 12V-Pumpe steuert. Wenn Sie verstehen, wie jede Komponente einzeln funktioniert, lässt sich das Gesamtsystem viel leichter verdrahten, kalibrieren und auf Fehler untersuchen.
Wichtige Spezifikationen
Wir haben eigene Tutorials, die jede Komponente ausführlich behandeln – einschließlich Pinbelegung, Funktionsprinzip, Schaltplänen und eigenständigen Codebeispielen. Sehen Sie sich diese unter den folgenden Links an, bevor Sie das kombinierte Bewässerungssystem bauen:
- Tutorial ESP32 S3 - Bodenfeuchtesensor
- Tutorial ESP32 S3 - Pumpe steuern
Verdrahtungsdiagramm
Verbinden Sie ESP32 S3, kapazitiven Bodenfeuchtesensor, Relaismodul und 12V-Pumpe gemäß dem folgenden Schaltplan. Führen Sie die Sensorkabel getrennt von der 12V-Pumpenverdrahtung, um Störungen zu vermeiden, und prüfen Sie die Polung des Netzteils, bevor Sie Spannung anlegen.
Sicherheitshinweise
Das Relaismodul trennt die 3,3V-Logikschaltung des ESP32 S3 physisch vom 12V-Pumpenkreis. Verwenden Sie zur Pumpensteuerung immer die Anschlüsse COM und NO am Relais – niemals NC. Halten Sie die Sensorplatine (den oberen Elektronikteil) stets oberhalb der Erdoberfläche; nur die Sonde darf mit Erde oder Feuchtigkeit in Berührung kommen.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
| Pin des Feuchtesensors | ESP32 S3 Pin |
|---|---|
| GND | GND |
| VCC | 3.3V |
| AOUT | GPIO6 |
Wenn Sie diese Schaltung behalten möchten, denken Sie an Schraubklemmen. Setzen Sie den ESP32 S3 auf ein Schraubklemmen-Board für ESP32 S3 und ziehen Sie jedes Kabel unter einer Schraube fest. Die Verdrahtung bleibt gleich. Nur gehen die Kabel jetzt zu den Schraubklemmen, wie unten gezeigt.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Ein GPIO-Breakout-Board für ESP32 S3 geht ebenfalls. Neben den S-, 3,3V- und GND-Pins für jeden GPIO hat es zusätzliche 3,3V- und 5V-Pins:

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
| ESP32 S3 Pin | Pin des Relaismoduls |
|---|---|
| GPIO7 | IN |
| GND | GND |
| 5V | VCC |
| Anschluss des Relaismoduls | Verbindung |
|---|---|
| COM | 12V-Netzteil (+) Plus |
| NO | Pumpe (+) rote Ader |
| Masseverbindungen | Verbindung |
|---|---|
| 12V-Netzteil (-) | Pumpe (-) schwarze Ader |
ESP32 S3 Code
Der folgende Code liest den Bodenfeuchtesensor bei jedem Schleifendurchlauf aus und vergleicht den Wert mit einem kalibrierten THRESHOLD-Wert. Liegt der Messwert über dem Schwellenwert (Boden ist trocken), schließt der ESP32 S3 das Relais und startet die Pumpe; fällt der Messwert unter den Schwellenwert (Boden ist feucht), öffnet er das Relais und stoppt die Pumpe. Jede Entscheidung wird im Seriellen Monitor ausgegeben, sodass Sie das System in Echtzeit überwachen können.
Schnelle Schritte
- Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
- Kalibrieren Sie den Bodenfeuchtesensor, um den THRESHOLD zwischen feucht und trocken zu bestimmen – das Kalibrierverfahren finden Sie im Tutorial ESP32 S3 - Bodenfeuchtesensor.
- Tragen Sie Ihren kalibrierten Wert in die Konstante THRESHOLD im Code ein.
- Verdrahten Sie Bodenfeuchtesensor, Relaismodul, Pumpe und 12V-Netzteil wie im obigen Schaltplan gezeigt mit dem ESP32 S3.
- Verbinden Sie den ESP32 S3 über das USB-Typ-C-Kabel mit Ihrem Computer.
- Öffnen Sie die Arduino IDE und wählen Sie ESP32S3 Dev Module (oder Ihre konkrete ESP32-S3-Boardvariante) sowie den richtigen COM-Port.
- Kopieren Sie den obigen Code, fügen Sie ihn in die Arduino IDE ein und klicken Sie auf die Schaltfläche Upload.
- Öffnen Sie den Seriellen Monitor mit 115200 Baud.
- Stecken Sie die Sensorsonde in die Erde und beobachten Sie, wie die Pumpe bei trockenem Boden ein- und bei feuchtem Boden ausschaltet.
- Profi-Tipp: Setzen Sie den THRESHOLD etwas oberhalb des tatsächlichen Übergangs von trocken zu feucht, damit die Pumpe anspringt, bevor der Boden kritisch austrocknet – so haben Ihre Pflanzen einen Puffer.
Code-Erklärung
Lesen Sie die zeilenweise Erklärung in den Kommentarzeilen des Quellcodes!
Ausgabe des Seriellen Monitors
Öffnen Sie nach dem Hochladen den Seriellen Monitor, um zu beobachten, wie das Bewässerungssystem in Echtzeit auf sich ändernde Bodenbedingungen reagiert. Die folgende Ausgabe zeigt einen typischen Ablauf: Der Boden ist zunächst trocken, die Pumpe schaltet ein, die Feuchtigkeit steigt und die Pumpe schaltet automatisch ab.
※ Notiz:
Dieses Tutorial verwendet die Funktion analogRead(), um Werte von einem ADC (Analog-Digital-Wandler) zu lesen, der mit einem Bodenfeuchtesensor verbunden ist. Der ADC des ESP32 S3 eignet sich für Projekte, die keine hohe Genauigkeit erfordern. Für Projekte, die präzise Messungen benötigen, beachten Sie jedoch Folgendes:
- Der ADC des ESP32 S3 ist nicht perfekt genau und muss für korrekte Ergebnisse eventuell kalibriert werden. Jedes ESP32 S3 Board kann leicht abweichen, daher ist eine Kalibrierung für jedes einzelne Board notwendig.
- Die Kalibrierung kann schwierig sein, besonders für Einsteiger, und liefert möglicherweise nicht immer genau die gewünschten Ergebnisse.
Für Projekte mit hohen Genauigkeitsanforderungen sollten Sie einen externen ADC (z. B. ADS1115) mit dem ESP32 S3 verwenden oder einen anderen Arduino wie den Arduino Uno R4 WiFi einsetzen, der einen zuverlässigeren ADC besitzt. Wenn Sie den ADC des ESP32 S3 dennoch kalibrieren möchten, lesen Sie den ESP32 ADC Calibration Driver.
Anwendungen und Projektideen
Das hier gezeigte automatische Bewässerungssystem mit dem ESP32 S3 ist eine vielseitige Grundlage, die sich von einer einzelnen Topfpflanze bis zu einer Mehrzonen-Gartensteuerung erweitern lässt.
- Intelligente Gartenbewässerung: Setzen Sie mehrere ESP32 S3 Boards in getrennten Gartenzonen ein, jeweils mit eigenem Sensor und eigener Pumpe, koordiniert über WLAN.
- Gewächshausautomatisierung: Kombinieren Sie die Bodenfeuchteregelung mit Temperatur- und Luftfeuchtigkeitswerten, um ein vollautomatisches Gewächshausklima zu schaffen.
- Zimmerpflanzenpflege: Betreiben Sie das System mit einer USB-Powerbank, damit Ihre Zimmerpflanzen während des Urlaubs ohne manuelles Eingreifen gegossen werden.
- Steuerung für vertikale Landwirtschaft: Überwachen Sie die Feuchtigkeit in mehreren Bodentiefen mit mehreren Sensoren an verschiedenen ADC-Pins des ESP32 S3.
- Bewässerung mit Datenaufzeichnung: Speichern Sie Ein- und Ausschaltvorgänge der Pumpe mit Zeitstempeln auf einer SD-Karte für die langfristige Analyse der Pflanzenpflege und saisonale Optimierung.
- Fernüberwachung der Bewässerung: Nutzen Sie das eingebaute WLAN des ESP32 S3, um Feuchtigkeitswerte und Pumpenstatus in Echtzeit an ein Web-Dashboard oder eine Smartphone-App zu senden.
Relais vs. MOSFET-Modul für die Pumpe
Dieses Projekt verwendet ein Relais, um die Pumpe zu starten und zu stoppen. Eine 12V-DC-Pumpe kann auch mit einem MOSFET-Modul angesteuert werden.
| Relais | MOSFET-Modul | |
|---|---|---|
| Pumpensteuerung | nur starten und stoppen | starten, stoppen und den Durchfluss ändern (PWM) |
| Schaltgeräusch | klickt | keines |
| Schaltzeit | langsam (Millisekunden) | sehr schnell |
| Verschleiß | die Kontakte nutzen sich mit der Zeit ab | keine beweglichen Teile, die verschleißen |
| Funktioniert mit | AC- und DC-Pumpen | nur DC-Pumpen |
| Versorgungsspannung der Pumpe | wofür das Relais ausgelegt ist | 6V oder höher |
| Trennung | ja | ja, mit einem PC817-Optokoppler |
| Wählen Sie es für | AC-Pumpen oder einfaches EIN/AUS | DC-Pumpen, bei denen Sie den Durchfluss einstellen möchten |
Zum Gießen von Pflanzen reicht das Relais aus. Das MOSFET-Modul ist nützlich, wenn Sie einen sanften Wasserfluss möchten, damit das Wasser die Erde nicht wegspült. Eine Pumpe hat eine Motorspule im Inneren. Schalten Sie deshalb eine Freilaufdiode (1N4007 oder 1N5819) parallel zur Pumpe, wenn Sie das MOSFET-Modul verwenden. AC-Pumpen brauchen das Relais. Der 3,3V-Pegel des ESP32 S3 reicht völlig aus, weil die LED im PC817-Optokoppler nur wenige Milliampere braucht.
Wie Sie eine Pumpe sowohl mit einem Relais als auch mit einem MOSFET-Modul verdrahten und programmieren, sehen Sie im Tutorial ESP32 S3 - Pumpe steuern.
Video Tutorial
Sehen Sie sich unten die Schritt-für-Schritt-Videoanleitung für dieses ESP32 S3 Projekt an.
Fordern Sie sich heraus
Diese Herausforderungen helfen Ihnen, das automatische Bewässerungssystem über den Basis-Sketch hinaus zu erweitern und fortgeschrittenere Fähigkeiten in der Gartenautomatisierung zu entwickeln.
- Einsteiger: Fügen Sie eine LED-Anzeige an einem freien GPIO-Pin hinzu, die am ESP32 S3 leuchtet, solange die Pumpe läuft, und so ein klares visuelles Statussignal gibt.
- Einsteiger: Ändern Sie den Code so, dass die Pumpe mindestens 5 Sekunden läuft, auch wenn der Bodensensor um den Schwellenwert schwankt.
- Fortgeschritten: Fügen Sie einen Taster hinzu, mit dem Sie den automatischen Gießzyklus manuell übersteuern und die Pumpe unabhängig vom Feuchtigkeitswert bei Bedarf laufen lassen können.
- Fortgeschritten: Nutzen Sie das WLAN des ESP32 S3, um bei jedem Einschalten der Pumpe eine Benachrichtigung per IFTTT oder MQTT an Ihr Telefon zu senden, damit Sie immer wissen, wann Ihr Garten gegossen wird.
- Experte: Erweitern Sie das System mit einem Mehrkanal-Relaismodul auf drei unabhängige Pumpen und Sensoren, wobei jeder Kanal separat für eine andere Pflanze oder Zone konfiguriert ist.
- Experte: Implementieren Sie einen Zeitplan, sodass der ESP32 S3 die automatische Bewässerung nur in einem konfigurierbaren Zeitfenster (zum Beispiel am frühen Morgen) erlaubt und so das Gießen in der Mittagshitze oder nachts verhindert.