Der ESP32 gehört zu den vielseitigsten Mikrocontrollern für Elektronikprojekte. Das kleine Entwicklungsboard bietet ausreichend Rechenleistung für anspruchsvollere Anwendungen und verfügt bereits über WLAN und Bluetooth. Dadurch lassen sich Sensoren auslesen, Geräte über eine Webseite steuern, Messwerte übertragen oder eigene Smart-Home-Anwendungen entwickeln.
Diese Anleitung zeigt Schritt für Schritt, was ein ESP32 ist, welche Ausstattung Sie für den Einstieg benötigen und wie Sie Ihr erstes Programm auf das Board übertragen. Außerdem finden Sie mehrere einfache Projektideen, die sich mit wenigen Bauteilen nachbauen lassen.
Was ist ein ESP32?
Der ESP32 ist eine Familie leistungsfähiger Mikrocontroller des Herstellers Espressif Systems. Die Chips werden auf zahlreichen Entwicklungsboards eingesetzt und sind besonders bei Hobbyentwicklern, Programmierern und Elektronikbastlern beliebt.
Im Unterschied zu vielen klassischen Mikrocontroller-Boards besitzt der ESP32 bereits integrierte Funktechnik. Dadurch kann er ohne zusätzliches WLAN- oder Bluetooth-Modul mit Netzwerken, Smartphones und anderen Geräten kommunizieren.
Typische Eigenschaften eines ESP32-Entwicklungsboards sind:
- integriertes WLAN,
- Bluetooth oder Bluetooth Low Energy,
- mehrere digitale Ein- und Ausgänge,
- analoge Eingänge,
- PWM-Ausgänge,
- Schnittstellen wie I²C, SPI und UART,
- vergleichsweise hohe Rechenleistung,
- Unterstützung zahlreicher Sensoren und Displays.
Die genaue Ausstattung unterscheidet sich je nach ESP32-Variante und verwendetem Entwicklungsboard. Vor dem Anschluss externer Bauteile sollte deshalb immer die Pinbelegung des konkreten Modells geprüft werden.
Warum eignet sich der ESP32 für Einsteiger?
Der ESP32 bietet einen günstigen Einstieg in die Mikrocontroller-Programmierung. Obwohl das Board viele Funktionen besitzt, kann es über die bekannte Arduino-Entwicklungsumgebung programmiert werden.
Für Einsteiger ergeben sich daraus mehrere Vorteile:
- zahlreiche kostenlose Bibliotheken,
- viele verfügbare Sensor- und Displaymodule,
- große Auswahl an Beispielprogrammen,
- einfache Verbindung über USB,
- WLAN bereits auf dem Board vorhanden,
- geeignet für kleine und größere Projekte.
Ein ESP32 kann zunächst wie ein klassisches Mikrocontroller-Board verwendet werden. Sie können LEDs schalten, Taster auslesen oder Messwerte anzeigen. Später lässt sich dasselbe Projekt um eine WLAN-Verbindung, eine Smartphone-Steuerung oder eine Datenübertragung erweitern.
Welche ESP32-Boards gibt es?
Der Begriff ESP32 bezeichnet nicht nur ein einzelnes Board. Es existieren verschiedene Chips, Module und Entwicklungsplatinen. Für erste Versuche ist ein weitverbreitetes Entwicklungsboard mit USB-Anschluss besonders praktisch.
ESP32 DevKit
Das ESP32 DevKit ist eine häufig verwendete Platine für Einsteiger. Es besitzt gut erreichbare Anschlusspins, einen USB-Anschluss und meist zwei Taster für Reset und Boot-Modus.
Das Board eignet sich für:
- Steckbrettversuche,
- Sensorprojekte,
- WLAN-Anwendungen,
- kleine Roboter,
- Displays und LED-Steuerungen.
ESP32-WROOM
ESP32-WROOM ist die Bezeichnung eines häufig eingesetzten Funkmoduls. Dieses Modul befindet sich auf vielen Entwicklungsboards. Es enthält den Mikrocontroller, Speicher und eine Antenne.
Für erste Versuche sollte nicht nur das einzelne Modul, sondern ein vollständiges Entwicklungsboard gekauft werden. Das Board erleichtert die Stromversorgung und Programmierung über USB.
ESP32-S3
Der ESP32-S3 ist eine neuere Variante mit zusätzlichen Möglichkeiten. Er wird unter anderem für USB-Anwendungen, Displays, Kameras und Projekte mit höherem Rechenbedarf eingesetzt.
ESP32-C3
Der ESP32-C3 ist kompakt und stromsparend. Er eignet sich besonders für kleine WLAN- und Bluetooth-Projekte. Seine Pinbelegung kann sich jedoch deutlich von klassischen ESP32-Boards unterscheiden.
ESP32-CAM
Das ESP32-CAM-Modul kombiniert einen ESP32 mit einem Anschluss für eine kleine Kamera. Damit lassen sich Bildübertragungen, einfache Überwachungskameras oder Zeitrafferprojekte umsetzen.
Für den Einstieg ist das Modul etwas anspruchsvoller, weil viele Varianten keinen eigenen USB-Anschluss besitzen. Zum Programmieren wird dann ein zusätzlicher USB-Seriell-Adapter benötigt.
Welche Ausstattung wird benötigt?
Für die ersten ESP32-Projekte benötigen Sie nur wenige Bauteile. Ein einfaches Starterset reicht aus, um zahlreiche Versuche durchzuführen.
Eine sinnvolle Grundausstattung umfasst:
- ein ESP32-Entwicklungsboard,
- ein passendes USB-Datenkabel,
- ein Steckbrett,
- Steckkabel,
- mehrere LEDs,
- Widerstände mit unterschiedlichen Werten,
- Taster,
- ein Potentiometer,
- einen Temperatur- oder Luftfeuchtigkeitssensor,
- ein Multimeter.
Viele Probleme beim Programmieren entstehen durch USB-Kabel, die ausschließlich zum Laden geeignet sind. Verwenden Sie daher ein Kabel, das auch Daten übertragen kann.
ESP32 mit dem Computer verbinden
Das Entwicklungsboard wird über USB mit dem Computer verbunden. Dabei erhält es seine Stromversorgung und kann gleichzeitig programmiert werden.
Nach dem Anschluss sollte das Board als serielle Schnittstelle erkannt werden. Unter Windows erscheint es üblicherweise als COM-Anschluss. Unter Linux und macOS wird ein entsprechendes serielles Gerät angelegt.
Wird kein Anschluss angezeigt, kann ein fehlender Treiber die Ursache sein. Je nach Board wird häufig ein USB-Seriell-Chip von Silicon Labs, WCH oder FTDI verwendet.
Arduino IDE für den ESP32 einrichten
Eine einfache Möglichkeit zur Programmierung ist die Arduino IDE. Dabei handelt es sich um eine Entwicklungsumgebung, in der Programme geschrieben, geprüft und auf das Board übertragen werden können.
Schritt 1: Arduino IDE installieren
Installieren Sie zunächst die aktuelle Version der Arduino IDE auf Ihrem Computer. Nach dem ersten Start können zusätzliche Board-Pakete eingerichtet werden.
Schritt 2: ESP32-Boardpaket hinzufügen
Öffnen Sie in der Arduino IDE die Einstellungen und tragen Sie die zusätzliche Boardverwalter-Adresse für den ESP32 ein. Anschließend öffnen Sie die Boardverwaltung und suchen nach dem Eintrag für ESP32.
Installieren Sie das Paket und warten Sie, bis alle benötigten Dateien geladen wurden.
Schritt 3: Das richtige Board auswählen
Wählen Sie über das Board-Menü das verwendete ESP32-Modell aus. Bei einem klassischen Entwicklungsboard funktioniert häufig die allgemeine Auswahl für ein ESP32 Dev Module.
Schritt 4: Seriellen Anschluss auswählen
Öffnen Sie das Menü für den seriellen Anschluss und wählen Sie den Port aus, der nach dem Verbinden des ESP32 angezeigt wurde.
Schritt 5: Testprogramm übertragen
Öffnen Sie ein einfaches Beispielprogramm, prüfen Sie den Code und übertragen Sie ihn auf das Board. Während des Vorgangs wird das Programm kompiliert und anschließend im Speicher des Mikrocontrollers abgelegt.
Das erste ESP32-Programm
Ein typisches Einsteigerprojekt besteht darin, eine LED regelmäßig ein- und auszuschalten. Viele ESP32-Boards besitzen bereits eine eingebaute LED. Der verwendete Pin kann sich jedoch je nach Board unterscheiden.
const int ledPin = 2;
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
digitalWrite(ledPin, HIGH);
delay(1000);
digitalWrite(ledPin, LOW);
delay(1000);
}
In diesem Beispiel wird Pin 2 als Ausgang eingerichtet. Danach wird die LED für eine Sekunde eingeschaltet und anschließend für eine Sekunde ausgeschaltet.
Was macht setup()?
Die Funktion setup() wird nach dem Einschalten oder Neustart einmal ausgeführt. Hier werden Anschlüsse, Schnittstellen und Bibliotheken eingerichtet.
Was macht loop()?
Die Funktion loop() wird nach dem Abschluss von setup() immer wieder ausgeführt. Dort befindet sich der eigentliche Programmablauf.
Was bedeutet pinMode()?
Mit pinMode() wird festgelegt, ob ein Anschluss als Eingang oder Ausgang verwendet wird.
Was bedeutet digitalWrite()?
Mit digitalWrite() wird ein digitaler Ausgang ein- oder ausgeschaltet. HIGH steht für einen hohen Signalpegel, LOW für einen niedrigen Signalpegel.
Externe LED an den ESP32 anschließen
Für eine externe LED benötigen Sie eine LED, einen passenden Vorwiderstand und zwei Steckkabel.
Der grundlegende Aufbau lautet:
- GPIO-Pin mit dem Widerstand verbinden.
- Widerstand mit dem langen Anschluss der LED verbinden.
- Kurzen Anschluss der LED mit GND verbinden.
Der Widerstand begrenzt den Strom und schützt die LED sowie den Ausgang des Mikrocontrollers.
Eine LED darf nicht ohne Vorwiderstand direkt zwischen GPIO und GND angeschlossen werden.
ESP32-Pins richtig verwenden
Die Anschlüsse eines ESP32 werden häufig als GPIO bezeichnet. Die Abkürzung steht für General Purpose Input/Output. Diese Pins können je nach Programm als Eingang oder Ausgang eingesetzt werden.
Nicht jeder Pin ist jedoch für jede Aufgabe geeignet. Einige Anschlüsse werden beim Start des Boards geprüft, andere sind mit dem internen Speicher verbunden oder ausschließlich als Eingang nutzbar.
Vor dem Aufbau eines Projekts sollten Sie deshalb kontrollieren:
- ob der Pin als Ausgang verwendet werden darf,
- ob er beim Start einen bestimmten Pegel benötigt,
- ob er analoge Signale auslesen kann,
- ob er von WLAN-Funktionen beeinflusst wird,
- ob er bereits durch das Board belegt ist.
Eine Pinbelegung, die ausdrücklich zum verwendeten Board gehört, verhindert viele Fehler.
Wichtiger Unterschied: 3,3 Volt statt 5 Volt
Viele ESP32-Ein- und Ausgänge arbeiten mit einer Spannung von 3,3 Volt. Das ist ein wichtiger Unterschied zu einigen klassischen Arduino-Boards, die häufig mit 5 Volt arbeiten.
An einen ESP32-GPIO sollte deshalb kein 5-Volt-Signal direkt angelegt werden. Eine zu hohe Spannung kann den Mikrocontroller beschädigen.
Bei Sensoren und Modulen sollten Sie prüfen:
- welche Versorgungsspannung benötigt wird,
- welche Spannung die Datenleitungen verwenden,
- ob ein Pegelwandler erforderlich ist,
- ob das Modul ausdrücklich mit 3,3-Volt-Logik kompatibel ist.
Taster mit dem ESP32 auslesen
Ein Taster ist ein einfaches Eingabebauteil. Mit ihm kann ein Programm gestartet, eine LED geschaltet oder ein Betriebsmodus geändert werden.
const int buttonPin = 18;
const int ledPin = 2;
void setup() {
pinMode(buttonPin, INPUT_PULLUP);
pinMode(ledPin, OUTPUT);
}
void loop() {
int buttonState = digitalRead(buttonPin);
if (buttonState == LOW) {
digitalWrite(ledPin, HIGH);
} else {
digitalWrite(ledPin, LOW);
}
}
Bei INPUT_PULLUP wird ein interner Widerstand des Mikrocontrollers aktiviert. Der Taster wird dabei zwischen dem Eingangspin und GND angeschlossen.
Wird der Taster nicht gedrückt, liest der ESP32 den Wert HIGH. Beim Drücken wird der Eingang mit GND verbunden und liefert LOW.
Messwerte über den seriellen Monitor ausgeben
Der serielle Monitor ist eines der wichtigsten Werkzeuge bei der Entwicklung eines ESP32-Projekts. Er zeigt Texte, Messwerte und Fehlermeldungen an, die der Mikrocontroller über die USB-Verbindung sendet.
void setup() {
Serial.begin(115200);
Serial.println("ESP32 wurde gestartet");
}
void loop() {
Serial.println("Das Programm läuft");
delay(1000);
}
Die Zahl 115200 bezeichnet die Übertragungsgeschwindigkeit. Im seriellen Monitor muss dieselbe Geschwindigkeit eingestellt sein.
Über den seriellen Monitor können Sie unter anderem:
- Sensorwerte kontrollieren,
- WLAN-Verbindungen prüfen,
- Programmabläufe verfolgen,
- Fehlerstellen eingrenzen,
- IP-Adressen anzeigen.
ESP32 mit dem WLAN verbinden
Eine der wichtigsten Funktionen des ESP32 ist die integrierte WLAN-Verbindung. Damit kann das Board Daten aus dem Netzwerk abrufen oder selbst eine kleine Webseite bereitstellen.
#include <WiFi.h>
const char* ssid = "WLAN-NAME";
const char* password = "WLAN-PASSWORT";
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
Serial.print("Verbindung wird hergestellt");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println();
Serial.println("WLAN verbunden");
Serial.print("IP-Adresse: ");
Serial.println(WiFi.localIP());
}
void loop() {
}
Ersetzen Sie WLAN-NAME und WLAN-PASSWORT durch die Zugangsdaten Ihres Netzwerks.
Nach erfolgreicher Verbindung gibt der ESP32 seine lokale IP-Adresse im seriellen Monitor aus.
Zugangsdaten nicht öffentlich speichern
WLAN-Zugangsdaten sollten nicht versehentlich veröffentlicht werden. Das gilt besonders dann, wenn Programmcode auf einer Webseite, in einem Forum oder in einem öffentlichen Quellcodearchiv geteilt wird.
Für größere Projekte können sensible Daten in einer getrennten Datei gespeichert werden. Diese Datei lässt sich anschließend von der Veröffentlichung ausschließen.
Erstes WLAN-Projekt: LED über eine Webseite steuern
Der ESP32 kann einen kleinen Webserver bereitstellen. Dadurch lässt sich eine angeschlossene LED über den Browser eines Computers oder Smartphones schalten.
Der grundlegende Ablauf ist:
- ESP32 verbindet sich mit dem WLAN.
- Ein Webserver wird gestartet.
- Der Nutzer öffnet die IP-Adresse im Browser.
- Der ESP32 sendet eine einfache Bedienoberfläche.
- Ein Klick auf eine Schaltfläche verändert den GPIO-Zustand.
Dieses Projekt vermittelt wichtige Grundlagen für spätere Smart-Home-Anwendungen. Es lässt sich anschließend um mehrere Ausgänge, Sensoranzeigen oder eine Zugangskontrolle erweitern.
Analoge Werte mit dem ESP32 auslesen
Über analoge Eingänge kann der ESP32 unterschiedliche Spannungswerte messen. Das ist beispielsweise bei Potentiometern, Lichtsensoren oder bestimmten Feuchtigkeitssensoren erforderlich.
const int sensorPin = 34;
void setup() {
Serial.begin(115200);
}
void loop() {
int sensorValue = analogRead(sensorPin);
Serial.print("Messwert: ");
Serial.println(sensorValue);
delay(500);
}
Der ausgelesene Zahlenbereich hängt von der eingestellten Auflösung und dem verwendeten ESP32-Modell ab.
Ein roher Analogwert ist noch keine physikalische Größe. Für Temperatur, Feuchtigkeit oder Spannung muss der Wert entsprechend der Sensordaten umgerechnet oder kalibriert werden.
LED-Helligkeit mit PWM steuern
Mit Pulsweitenmodulation kann der ESP32 die wahrgenommene Helligkeit einer LED verändern. Dabei wird der Ausgang sehr schnell ein- und ausgeschaltet.
Je länger der Ausgang innerhalb eines Schaltzyklus eingeschaltet bleibt, desto heller wirkt die LED.
PWM eignet sich außerdem zur Steuerung von:
- LED-Streifen,
- Gleichstrommotoren über einen Motortreiber,
- kleinen Lüftern,
- Summertönen,
- Servosignalen.
Die genaue Umsetzung unterscheidet sich je nach Version des ESP32-Boardpakets. Bei älteren Beispielprogrammen können daher Funktionen vorkommen, die in einer neueren Umgebung anders verwendet werden.
Sensoren über I²C anschließen
I²C ist eine häufig verwendete Schnittstelle für Sensoren und Displays. Sie benötigt normalerweise nur zwei Signalleitungen:
- SDA für die Datenübertragung,
- SCL für das Taktsignal.
Zusätzlich müssen Versorgungsspannung und GND verbunden werden.
Mehrere I²C-Geräte können an denselben Leitungen betrieben werden, sofern sie unterschiedliche Adressen besitzen.
Typische I²C-Bauteile sind:
- OLED-Displays,
- Temperatursensoren,
- Luftdrucksensoren,
- Beschleunigungssensoren,
- Echtzeituhren,
- Ein- und Ausgangserweiterungen.
Einfaches ESP32-Projekt mit Temperatur und Luftfeuchtigkeit
Ein geeignetes Einsteigerprojekt ist eine kleine Raumklimastation. Dafür wird ein Temperatur- und Luftfeuchtigkeitssensor mit dem ESP32 verbunden.
Das Projekt kann in mehreren Stufen aufgebaut werden:
- Sensor anschließen.
- Benötigte Bibliothek installieren.
- Messwerte über den seriellen Monitor ausgeben.
- OLED-Display ergänzen.
- Messwerte über WLAN übertragen.
- Warnung bei hohen oder niedrigen Werten ausgeben.
Durch den stufenweisen Aufbau lässt sich jede Funktion einzeln testen. Fehler können dadurch leichter gefunden werden.
Weitere ESP32-Projekte für Einsteiger
WLAN-Thermometer
Ein Temperatursensor misst regelmäßig die Raumtemperatur. Der ESP32 stellt den aktuellen Wert auf einer lokalen Webseite bereit.
Pflanzenüberwachung
Ein Feuchtigkeitssensor ermittelt den Zustand der Erde. Eine LED oder eine Browseranzeige weist darauf hin, wenn die Pflanze Wasser benötigt.
Bewegungsmelder mit Benachrichtigung
Ein Bewegungsmelder erkennt Personen oder Tiere. Der ESP32 schaltet daraufhin eine Leuchte oder sendet eine Nachricht an einen Server.
WLAN-Schalter
Über eine einfache Webseite kann ein Ausgang geschaltet werden. Damit lassen sich ungefährliche Kleinspannungsgeräte, LEDs oder Relaismodule steuern.
Bluetooth-Fernbedienung
Der ESP32 kann Befehle von einem Smartphone empfangen. Damit lässt sich beispielsweise ein kleines Fahrzeug oder eine Beleuchtung steuern.
Mini-Wetterstation
Temperatur, Luftfeuchtigkeit und Luftdruck werden erfasst und auf einem Display angezeigt. Später können die Werte gespeichert oder über WLAN übertragen werden.
LED-Ampel
Drei LEDs werden nacheinander geschaltet. Das Projekt vermittelt den Umgang mit mehreren Ausgängen und zeitgesteuerten Abläufen.
Abstandsmesser
Ein Abstandssensor misst die Entfernung zu einem Gegenstand. Der Wert kann über den seriellen Monitor, ein Display oder mehrere LEDs dargestellt werden.
Bibliotheken in der Arduino IDE installieren
Viele Sensoren und Displays lassen sich mithilfe fertiger Bibliotheken ansteuern. Eine Bibliothek enthält Funktionen, die die Kommunikation mit einem Bauteil vereinfachen.
So installieren Sie eine Bibliothek:
- Bibliotheksverwaltung in der Arduino IDE öffnen.
- Nach dem Namen des Bauteils suchen.
- Geeignete Bibliothek auswählen.
- Bibliothek installieren.
- Beispielprogramme prüfen.
Bei mehreren ähnlich benannten Bibliotheken sollte geprüft werden, ob das verwendete Bauteil und der ESP32 ausdrücklich unterstützt werden.
Programme auf mehrere Dateien aufteilen
Kleine Programme können vollständig in einer Datei stehen. Bei größeren Projekten wird der Code jedoch schnell unübersichtlich.
Eine sinnvolle Aufteilung kann beispielsweise so aussehen:
- Datei für WLAN-Verbindung,
- Datei für Sensorabfragen,
- Datei für Displayausgabe,
- Datei für Webserver,
- Datei für Einstellungen.
Zusätzlich sollten wiederkehrende Aufgaben in eigene Funktionen ausgelagert werden. Dadurch lässt sich der Programmablauf leichter lesen und anpassen.
delay() sparsam verwenden
Die Funktion delay() hält den Programmablauf für eine bestimmte Zeit vollständig an. Bei einem einfachen Blinklicht ist das unproblematisch.
In größeren Projekten kann eine lange Pause jedoch dazu führen, dass:
- Taster zu spät erkannt werden,
- Netzwerkverbindungen nicht rechtzeitig bearbeitet werden,
- Messwerte seltener erfasst werden,
- mehrere Aufgaben nicht parallel erscheinen.
Für umfangreichere Programme können Zeitabfragen mit millis() verwendet werden. Dadurch wartet das Programm nicht vollständig, sondern prüft regelmäßig, ob eine festgelegte Zeit vergangen ist.
Typische Fehler beim ESP32
Das Board wird nicht erkannt
Prüfen Sie das USB-Kabel, den USB-Anschluss und den benötigten Treiber. Testen Sie außerdem einen anderen Anschluss am Computer.
Das Programm lässt sich nicht übertragen
Kontrollieren Sie das ausgewählte Board und den seriellen Anschluss. Bei manchen Platinen muss während des Verbindungsaufbaus kurz die Boot-Taste gedrückt werden.
Die LED blinkt nicht
Überprüfen Sie den verwendeten GPIO-Pin. Die eingebaute LED befindet sich nicht bei jedem Board an Pin 2.
Der ESP32 startet ständig neu
Eine instabile Stromversorgung oder ein Bauteil mit hohem Strombedarf kann Neustarts auslösen. Motoren, Relais und starke LEDs sollten nicht direkt über das Board versorgt werden.
WLAN-Verbindung funktioniert nicht
Kontrollieren Sie Netzwerkname und Passwort. Viele klassische ESP32-Varianten verbinden sich ausschließlich mit einem 2,4-GHz-WLAN.
Sensor liefert unplausible Werte
Prüfen Sie die Versorgungsspannung, Pinbelegung und verwendete Bibliothek. Manche Sensoren benötigen außerdem eine kurze Wartezeit zwischen zwei Messungen.
Programm funktioniert nur ohne angeschlossene Bauteile
Möglicherweise wurde ein für den Startvorgang wichtiger Pin verwendet. Testen Sie einen anderen GPIO und beachten Sie die Pinbelegung Ihres Boards.
Fehlersuche Schritt für Schritt
Bei einem nicht funktionierenden Projekt sollte nicht gleichzeitig an allen Stellen gesucht werden. Gehen Sie stattdessen systematisch vor:
- Stromversorgung prüfen.
- Verkabelung mit dem Schaltplan vergleichen.
- Gemeinsame Masseverbindung kontrollieren.
- Board und seriellen Anschluss prüfen.
- Einfaches Testprogramm übertragen.
- Einzelne Bauteile getrennt testen.
- Messwerte im seriellen Monitor ausgeben.
- Bibliotheken und Pinbelegung kontrollieren.
- Projekt schrittweise wieder zusammensetzen.
Ein Multimeter hilft dabei, Spannungen und Verbindungen zu kontrollieren. Bereits eine fehlende Masseverbindung kann dazu führen, dass eine ansonsten richtige Schaltung nicht funktioniert.
ESP32 sicher mit externen Bauteilen betreiben
Ein ESP32-Ausgang darf nur einen begrenzten Strom liefern. Leistungsstarke Verbraucher müssen über geeignete Treiberstufen geschaltet werden.
Motoren, Pumpen, Relais und größere LED-Streifen benötigen meistens:
- eine separate Stromversorgung,
- einen Transistor oder Motortreiber,
- eine Schutzdiode bei induktiven Lasten,
- eine gemeinsame Masseverbindung,
- eine passende Absicherung.
Projekte mit Netzspannung sollten ausschließlich von Personen mit entsprechender Fachkenntnis aufgebaut werden. Für erste Versuche empfiehlt sich ungefährliche Kleinspannung über USB, Batterien oder geeignete Netzteile.
ESP32 mit Akku betreiben
Der ESP32 kann auch mobil mit einem Akku betrieben werden. Dabei muss die passende Spannung beachtet werden.
Einige Entwicklungsboards besitzen einen Akkuanschluss und eine integrierte Ladeschaltung. Bei anderen Boards sind zusätzliche Module erforderlich.
Für lange Laufzeiten sind folgende Punkte wichtig:
- Stromverbrauch der Sensoren,
- Häufigkeit der WLAN-Übertragung,
- Helligkeit angeschlossener Displays,
- Ruhestrom des Spannungsreglers,
- Nutzung des Tiefschlafmodus.
Strom sparen mit Deep Sleep
Im Tiefschlafmodus werden große Teile des Mikrocontrollers abgeschaltet. Der ESP32 benötigt dadurch deutlich weniger Strom.
Ein typischer Ablauf für einen batteriebetriebenen Sensor ist:
- ESP32 wacht auf.
- Sensor wird ausgelesen.
- WLAN-Verbindung wird hergestellt.
- Messwert wird übertragen.
- ESP32 wechselt erneut in den Tiefschlaf.
Diese Arbeitsweise eignet sich für Wetterstationen, Briefkastensensoren, Pflanzenüberwachungen und andere Geräte, die nur gelegentlich Daten senden müssen.
ESP32 oder Arduino: Was ist besser für Anfänger?
Beide Plattformen eignen sich für den Einstieg. Die bessere Wahl hängt vom geplanten Projekt ab.
Ein klassisches Arduino-Board ist besonders übersichtlich und für sehr einfache Elektronikversuche gut geeignet. Der ESP32 bietet dagegen mehr Leistung und bereits integrierte Funkverbindungen.
| Merkmal | ESP32 | Klassischer Arduino Uno |
|---|---|---|
| WLAN | Integriert | Nicht integriert |
| Bluetooth | Je nach Variante integriert | Nicht integriert |
| Logikspannung | 3,3 Volt | Meist 5 Volt |
| Rechenleistung | Höher | Für einfache Projekte ausreichend |
| Programmierung | Unter anderem Arduino IDE | Arduino IDE |
| Einstieg | Vielseitig, Pinbelegung beachten | Besonders übersichtlich |
Wer von Anfang an WLAN-Projekte umsetzen möchte, trifft mit dem ESP32 meist die passendere Wahl.
Vom ersten Versuch zum eigenen ESP32-Projekt
Nach den ersten Beispielprogrammen sollten Sie ein kleines eigenes Projekt planen. Beginnen Sie mit einer klar abgegrenzten Aufgabe.
Ein guter Projektablauf sieht so aus:
- Aufgabe des Geräts festlegen.
- Benötigte Ein- und Ausgänge bestimmen.
- Bauteile auswählen.
- Jedes Bauteil einzeln testen.
- Schaltung auf dem Steckbrett aufbauen.
- Programm in kleinen Schritten entwickeln.
- Fehlerfälle berücksichtigen.
- Stromversorgung prüfen.
- Schaltung dokumentieren.
- Bei Bedarf ein Gehäuse bauen.
Ein Projekt muss nicht sofort alle gewünschten Funktionen enthalten. Eine Raumklimastation kann zunächst nur Messwerte über den seriellen Monitor ausgeben. Danach folgen Display, WLAN und Datenspeicherung.
ESP32-Projekte dokumentieren
Eine gute Dokumentation erleichtert spätere Änderungen und hilft anderen Nutzern beim Nachbau.
Zu einer vollständigen Projektdokumentation gehören:
- Beschreibung der Aufgabe,
- Liste aller Bauteile,
- Schaltplan oder Verkabelungsübersicht,
- Pinbelegung,
- Programmcode,
- verwendete Bibliotheken,
- Hinweise zur Stromversorgung,
- bekannte Fehlerquellen,
- mögliche Erweiterungen.
Notieren Sie außerdem die genaue Bezeichnung des verwendeten Boards. Dadurch bleibt die Pinbelegung auch später nachvollziehbar.
Der ESP32 als vielseitiger Einstieg in vernetzte Elektronik
Der ESP32 verbindet klassische Mikrocontroller-Projekte mit moderner Funktechnik. Bereits mit wenigen Bauteilen lassen sich LEDs, Sensoren und Taster steuern. Durch WLAN und Bluetooth können daraus später vernetzte Messgeräte, Fernbedienungen oder Smart-Home-Anwendungen entstehen.
Für einen erfolgreichen Einstieg sollten Sie mit kleinen Projekten beginnen, die Pinbelegung sorgfältig prüfen und jede neue Komponente einzeln testen. Wer diese Grundlagen beherrscht, kann den ESP32 für zahlreiche eigene Ideen einsetzen.
Häufige Fragen zum ESP32
Ist der ESP32 für Anfänger geeignet?
Ja. Der ESP32 kann über die Arduino IDE programmiert werden und es gibt zahlreiche Bibliotheken und Beispielprojekte. Einsteiger sollten jedoch beachten, dass die Ein- und Ausgänge normalerweise mit 3,3 Volt arbeiten.
Welchen ESP32 sollte man für den Einstieg kaufen?
Ein verbreitetes ESP32-DevKit mit integriertem USB-Anschluss ist für erste Projekte besonders praktisch. Es kann direkt programmiert und auf einem Steckbrett verwendet werden.
Kann der ESP32 mit der Arduino IDE programmiert werden?
Ja. Nach der Installation des passenden ESP32-Boardpakets kann das Board direkt in der Arduino IDE ausgewählt und programmiert werden.
Benötigt der ESP32 einen zusätzlichen WLAN-Chip?
Nein. Bei den üblichen ESP32-Varianten ist WLAN bereits integriert. Ein zusätzliches WLAN-Modul ist daher nicht notwendig.
Kann der ESP32 mit 5 Volt betrieben werden?
Viele Entwicklungsboards können über USB oder einen dafür vorgesehenen Versorgungspin mit 5 Volt gespeist werden. Die GPIO-Anschlüsse arbeiten jedoch normalerweise mit 3,3-Volt-Logik und sollten nicht direkt mit 5-Volt-Signalen verbunden werden.
Warum wird mein ESP32 nicht am Computer erkannt?
Häufig liegt es am USB-Kabel oder an einem fehlenden Treiber für den USB-Seriell-Chip. Verwenden Sie ein Datenkabel, testen Sie einen anderen USB-Anschluss und prüfen Sie den Gerätemanager.
Warum muss beim Hochladen die Boot-Taste gedrückt werden?
Bei manchen Entwicklungsboards funktioniert die automatische Umschaltung in den Programmiermodus nicht zuverlässig. Durch das Drücken der Boot-Taste wird der ESP32 manuell in den passenden Modus versetzt.
Kann der ESP32 mehrere Sensoren gleichzeitig verwenden?
Ja. Sensoren können über einzelne GPIO-Anschlüsse oder gemeinsame Schnittstellen wie I²C und SPI verbunden werden. Entscheidend sind die verfügbaren Pins, Sensoradressen und der Strombedarf.
Kann der ESP32 eine eigene Webseite anzeigen?
Ja. Der ESP32 kann als kleiner Webserver arbeiten und eine Bedienoberfläche im lokalen Netzwerk bereitstellen. Darüber lassen sich Ausgänge schalten und Messwerte anzeigen.
Welche Programmiersprachen unterstützt der ESP32?
Der ESP32 kann unter anderem mit C, C++, der Arduino-Umgebung und MicroPython programmiert werden. Für Einsteiger ist die Arduino IDE häufig der einfachste Startpunkt.




