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:

  1. Eine Schaltung aus ESP32 S3, kapazitivem Bodenfeuchtesensor, Relaismodul und 12V-Wasserpumpe
  2. Einen kalibrierten Feuchtigkeitsschwellenwert, der die Pumpe nur auslöst, wenn der Boden wirklich trocken ist
  3. Eine Ausgabe im Seriellen Monitor, die den Bodenzustand und den Pumpenstatus in Echtzeit mit Zeitstempeln anzeigt
  4. Eine vollständig autonome Bewässerungssteuerung, die Ihre Pflanzen gießt und automatisch stoppt, wenn der Boden feucht ist
ESP32 S3 - Automatisches Bewässerungssystem

Erforderliche Hardware

1×ESP32 S3 WROOM N16R8
1×(Alternativ) ESP32 S3 SuperMini Dev Module
1×(Alternativ) ESP32 S3 Uno-form Board
1×(Alternativ) ESP32 S3 Camera Board
1×USB-Kabel Typ-A zu Typ-C (für USB-A PC)
1×USB-Kabel Typ-C zu Typ-C (für USB-C PC)
1×Kapazitiver Bodenfeuchtigkeitssensor
1×Relais
1×12V Pumpe
1×Vinyl Tube
1×12V Netzteil
1×(Optional) DC-Stromanschluss
1×Breadboard
1×Verbindungskabel
1×(Empfohlen) Screw Terminal Expansion Board for ESP32 S3
1×(Empfohlen) Breakout Expansion Board for ESP32 S3
1×(Empfohlen) Power Splitter for ESP32 S3

Oder Sie können die folgenden Kits kaufen:

1×DIYables ESP32 S3 Starter-Kit (ESP32 S3 enthalten)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

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:

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.

Schaltplan ESP32 S3 automatisches Bewässerungssystem

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.

Schaltplan ESP32 S3 automatisches Bewässerungssystem (Screw Terminal)

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:

Schaltplan ESP32 S3 automatisches Bewässerungssystem (GPIO Breakout Board)

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.

/* * Dieser ESP32 S3 Code wurde von newbiely.de entwickelt * Dieser ESP32 S3 Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/esp32-s3/esp32-s3-automatic-irrigation-system */ /* * This ESP32-S3 code is created by esp32io.com * * This ESP32-S3 code is released in the public domain * * For more detail (instruction and wiring diagram), visit https://esp32io.com/tutorials/esp32-s3-automatic-irrigation-system */ #define RELAY_PIN 7 // ESP32-S3 pin GPIO7 that connects to relay #define MOISTURE_PIN 6 // ESP32-S3 pin GPIO6 (ADC1) that connects to AOUT pin of moisture sensor #define THRESHOLD 1500 // CHANGE YOUR THRESHOLD HERE void setup() { Serial.begin(115200); pinMode(RELAY_PIN, OUTPUT); // set the ADC attenuation to 11 dB (up to ~3.3V input) analogSetAttenuation(ADC_11db); } void loop() { int value = analogRead(MOISTURE_PIN); // read the analog value from sensor if (value > THRESHOLD) { Serial.print("The soil is DRY => turn pump ON"); digitalWrite(RELAY_PIN, HIGH); } else { Serial.print("The soil is WET => turn pump OFF"); digitalWrite(RELAY_PIN, LOW); } Serial.print(" ("); Serial.print(value); Serial.println(")"); delay(200); }

Schnelle Schritte

  1. Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
  2. Kalibrieren Sie den Bodenfeuchtesensor, um den THRESHOLD zwischen feucht und trocken zu bestimmen – das Kalibrierverfahren finden Sie im Tutorial ESP32 S3 - Bodenfeuchtesensor.
  3. Tragen Sie Ihren kalibrierten Wert in die Konstante THRESHOLD im Code ein.
  4. Verdrahten Sie Bodenfeuchtesensor, Relaismodul, Pumpe und 12V-Netzteil wie im obigen Schaltplan gezeigt mit dem ESP32 S3.
  5. Verbinden Sie den ESP32 S3 über das USB-Typ-C-Kabel mit Ihrem Computer.
  6. Öffnen Sie die Arduino IDE und wählen Sie ESP32S3 Dev Module (oder Ihre konkrete ESP32-S3-Boardvariante) sowie den richtigen COM-Port.
  7. Kopieren Sie den obigen Code, fügen Sie ihn in die Arduino IDE ein und klicken Sie auf die Schaltfläche Upload.
  8. Öffnen Sie den Seriellen Monitor mit 115200 Baud.
  9. Stecken Sie die Sensorsonde in die Erde und beobachten Sie, wie die Pumpe bei trockenem Boden ein- und bei feuchtem Boden ausschaltet.
  10. 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.

∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32S3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32S3 Dev Module' on 'COM15')
New Line
9600 baud
[2026-06-16 08:14:01] The soil is DRY => turn pump ON (1921) [2026-06-16 08:14:02] The soil is DRY => turn pump ON (1821) [2026-06-16 08:14:03] The soil is DRY => turn pump ON (1741) [2026-06-16 08:14:05] The soil is DRY => turn pump ON (1645) [2026-06-16 08:14:07] The soil is WET => turn pump OFF (1465) [2026-06-16 08:14:08] The soil is WET => turn pump OFF (1411) [2026-06-16 08:14:09] The soil is WET => turn pump OFF (1365) [2026-06-16 08:14:11] The soil is WET => turn pump OFF (1279)
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2

※ 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.

  1. Intelligente Gartenbewässerung: Setzen Sie mehrere ESP32 S3 Boards in getrennten Gartenzonen ein, jeweils mit eigenem Sensor und eigener Pumpe, koordiniert über WLAN.
  2. Gewächshausautomatisierung: Kombinieren Sie die Bodenfeuchteregelung mit Temperatur- und Luftfeuchtigkeitswerten, um ein vollautomatisches Gewächshausklima zu schaffen.
  3. Zimmerpflanzenpflege: Betreiben Sie das System mit einer USB-Powerbank, damit Ihre Zimmerpflanzen während des Urlaubs ohne manuelles Eingreifen gegossen werden.
  4. Steuerung für vertikale Landwirtschaft: Überwachen Sie die Feuchtigkeit in mehreren Bodentiefen mit mehreren Sensoren an verschiedenen ADC-Pins des ESP32 S3.
  5. 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.
  6. 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.

  1. 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.
  2. Einsteiger: Ändern Sie den Code so, dass die Pumpe mindestens 5 Sekunden läuft, auch wenn der Bodensensor um den Schwellenwert schwankt.
  3. 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.
  4. 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.
  5. 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.
  6. 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.

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!