Erhalten Sie Zugang zu diesem und mehr als 300000 Büchern ab EUR 5,99 monatlich.
ESP32 Mikrocontroller – Hardware verstehen und praxisnah mit C++ und MicroPython programmieren
Mikrocontroller sind aus unserem Alltag nicht mehr wegzudenken. In nahezu jedem elektronischen Gerät kommen sie zum Einsatz. Die Mikrocontroller der ESP32-Familie , entwickelt von Espressif, haben sich durch ihre Leistungsfähigkeit und integrierten Netzwerkfunktionen besonders etabliert.
Dieses Buch bietet eine praxisorientierte Einführung in die Hardware und Software des ESP32. Anhand konkreter Beispiele lernen Sie, den Mikrocontroller zu programmieren, und erhalten die notwendigen Grundlagen für die Umsetzung eigener Projekte.
Hardware der ESP32-Familie kennenlernen
Sie machen sich mit den verschiedenen Boards, Modulen und Chips der ESP32-Familie vertraut und lernen die benötigte Software für die Programmierung in C++ und MicroPython kennen. Der Autor erläutert detailliert die Ein- und Ausgänge des ESP32 sowie die wichtigsten Schnittstellen wie I2C, SPI und Bluetooth.
Praxisbeispiele für typische Anwendungen
Weitere Schwerpunkte sind die Nutzung von WLAN, der ESP32 als Webclient und Webserver, die Realisierung eines MQTT-Clients sowie die Erweiterung des Mikrocontrollers mit einem OLED-Display. Die Beispiele sind so aufgebaut, dass sie leicht nachvollzogen und für eigene Projekte angepasst werden können.
Von der Anwendung zur eigenen Hardware
Abschließend wird ein DIY-Board auf Basis eines ESP32-Mikrocontrollers entwickelt. Dieses Projekt bildet die Grundlage für eigene Board- und Hardwareentwicklungen und rundet den praxisnahen Ansatz des Buches ab.
Das Buch richtet sich an alle, die die ESP32-Mikrocontroller verstehen, programmieren und für eigene IoT-Projekte einsetzen möchten.
Sie lesen das E-Book in den Legimi-Apps auf:
Seitenzahl: 198
Veröffentlichungsjahr: 2026
Das E-Book (TTS) können Sie hören im Abo „Legimi Premium” in Legimi-Apps auf:
Impressum
Einleitung
Aufbau des Buches
Mehr Informationen
Danksagung
Kapitel 1: Einführung
1.1 Boards
1.2 Verbindungen
1.3 Stromversorgung
1.4 Anforderungen für den Einstieg
Kapitel 2: Hardware des ESP32
2.1 ESP32-Serien
2.2 ESP32-Entwicklungsboards
2.2.1 ESP32-C3-DevKitM-1
2.2.2 ESP32 MiniKit
2.2.3 XIAO ESP32C3
2.2.4 CodeCell
2.2.5 ESP32 Lite
2.2.6 Vergleich der Boards
2.3 Noch mehr ESP32-Boards
2.3.1 M5Stack
2.3.2 Oxocard Connect
2.4 ESP32-Module
2.4.1 ESP32-WROOM
2.4.2 ESP32-S3-WROOM
2.4.3 Vergleich ESP32 WROOM
2.4.4 ESP32 Mini
2.4.5 ESP32-Modul – Breakout-Board
2.5 ESP32-Chip (SoC)
Kapitel 3: Software
3.1 Entwicklungsumgebungen
3.2 Arduino-IDE
3.2.1 Installation von Arduino-IDE
3.2.2 Start
3.2.3 Boardmanager
3.2.4 Verbindungsaufbau
3.2.5 Blink-Programm
3.3 ESP-IDF
3.3.1 Command-Line-Installation (Windows)
3.3.2 VS Code – Erweiterung
3.4 Entwicklungsumgebung Thonny
3.5 Programmiersprachen
3.5.1 C++
3.5.2 MicroPython
3.5.3 Rust
3.6 ESP32-Betriebsmodus
3.6.1 USB-Treiber
3.7 Flashen des Programms
3.7.1 Flashen via USB
3.7.2 Flashen mit esptool
3.7.3 Flashen via OTA (Over the Air)
Kapitel 4: Programmierung in C++
4.1 Programmaufbau
4.2 Konventionen
4.2.1 Klammern
4.2.2 Semikolon
4.2.3 Kommentare
4.3 Datentypen
4.4 Variablen
4.4.1 Variablendeklaration
4.4.2 Konstante
4.5 Datentyp-Konvertierung
4.6 Funktionen
4.7 Kontrollstrukturen
4.8 Ein- und Ausgabe
4.8.1 Eingänge und Ausgänge
4.8.2 Serielle Ausgabe
4.9 Bibliotheken
Kapitel 5: Programmierung in MicroPython
5.1 Hardware
5.2 Programmaufbau
5.3 Kommentare
5.4 Module
5.4.1 Systeminterne Module
5.4.2 Eigene Module
5.5 Variablen
5.6 Funktionen
5.6.1 Beispiel: Umrechnung Celsius in Fahrenheit
5.7 Schleifen
5.7.1 while
5.7.2 for
5.8 Kontrollstrukturen
5.9 Listen
5.10 Ein- und Ausgabe
5.10.1 Eingänge
5.10.2 Ausgänge
5.10.3 Serieller Port
Kapitel 6: Eingabe, Ausgabe, Schnittstellen
6.1 Peripherie
6.1.1 Anschluss-Belegung
6.1.2 Digitale Eingänge
6.1.3 Digitale Eingänge mit Pullup
6.1.4 Touch-Eingänge
6.1.5 Analoge Eingänge
6.1.6 Digitale Ausgänge
6.1.7 Analoge Ausgänge
6.2 PWM und DAC
6.2.1 Pulsweitenmodulation (PWM)
6.2.2 PWM mit LEDC
6.2.3 Projekt: Analog-Ausgabe als Spannung
6.2.4 Digital/Analog-Wandler (DAC)
6.3 I2C
6.3.1 I2C mit ESP32
6.3.2 I2C-Scanner
6.3.3 I2C-Anwendung
6.3.4 Anwendung – Sensor-Modul einlesen
6.3.5 Level-Shifter
6.3.6 Projekt: Analoge Signale messen mit ADC-Modul
6.4 SPI
6.4.1 Signale und Verbindungen
6.4.2 SPI-Kommunikation
6.4.3 Kommunikation mit mehreren Slave-Modulen
6.4.4 Projekt: Temperaturmessung mit PT100
6.5 Bluetooth
6.5.1 Bluetooth-Versionen
6.5.2 Bluetooth mit ESP32
6.5.3 Projekt: Seriell über Bluetooth
Kapitel 7: Wifi
7.1 Bibliothek für ESP32
7.2 WLAN-Verbindung
7.3 Webclient
7.3.1 Webclient mit Parameter
7.4 Webserver
7.4.1 Aufruf Webserver
7.4.2 Bibliothek und Beispiele
7.4.3 Asynchroner Webserver
7.4.4 Analogwerte anzeigen
7.5 MQTT-Client
7.5.1 Topics
7.5.2 MQTT-Prinzip
7.5.3 MQTT-Broker
7.5.4 MQTT mit ESP32
7.6 Projekt: Tasmota
7.6.1 Tasmota flashen
7.6.2 Tasmota konfigurieren
7.6.3 Ausgang steuern
7.7 Projekt: ESP-NOW
7.7.1 Netzwerktopologie
7.7.2 MAC-Adresse
7.7.3 Projekt: Sensor-Netzwerk
7.7.4 ESP-NOW-Sender
7.7.5 ESP-NOW Empfänger
Kapitel 8: Anzeigen und Kamera
8.1 OLED
8.1.1 Ansteuerung und Anschluss
8.1.2 Arduino-Library
8.1.3 Projekt: Balken-Anzeige
8.2 Kamera
8.2.1 Anschlussbelegung
8.2.2 Bibliothek und Board
8.2.3 Anwendung Webcam
Kapitel 9: DIY-ESP32-Board
9.1 Grundschaltung
9.2 Minimalschaltung
9.3 Leiterplatte
9.4 Leiterplatten-Projekt
9.5 Entwicklung Leiterplatte
9.5.1 Stromlaufplan und Bauteile
9.5.2 Design der Leiterplatte
9.6 Prüfung des Layouts
9.7 Bereitstellung für Bestellung
9.7.1 Gerber-Daten generieren
9.7.2 Gerber-Konfiguration für Leiterplattenhersteller
9.7.3 Gerber-Daten in Archiv packen
9.7.4 Gerber-Daten prüfen
9.8 Leiterplatte bestellen
9.9 Bestückung
9.10 Programmierung und Test
9.11 Leiterplatte des ESP32-Boards
9.12 Projekt: Standard-Board
9.12.1 Stromlaufplan
9.12.2 Programmierung
Kapitel 10: Troubleshooting
10.1 Stromversorgung
10.2 Code-Debugging
10.3 Upload-Probleme
10.4 Wifi-Verbindung
10.5 Schnittstellen
10.5.1 Serielle Schnittstelle (UART)
10.5.2 I2C-Bus
10.5.3 SPI
Kapitel 11: Werkzeuge
11.1 Steckbrett und Kabel
11.2 Breadboard-Power-Adapter
11.3 Adapter-Platinen
11.4 Biegelehre
11.5 Stromversorgung/Netzteil
11.5.1 Labornetzteil
11.6 Messgeräte
11.6.1 Multimeter
11.6.2 Mini-Oszilloskop
11.7 Tools mit 3D-Druck
Thomas Brühlmann
ESP32 Mikrocontroller
Praxiseinstieg für Maker
IoT-Projekte und eigene Hardware-Ideen umsetzen
Bibliografische Information der Deutschen Nationalbibliothek
Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über https://portal.dnb.de/opac.htm abrufbar.
ISBN 978-3-7475-1056-81. Auflage 2026
www.mitp.de
E-Mail: [email protected]: +49 7953 / 7189 - 079Telefax: +49 7953 / 7189 - 082
© 2026 mitp Verlags GmbH & Co. KG, Augustinusstr. 9a, DE 50226 Frechen
Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten wären und daher von jedermann benutzt werden dürften.
Dieses E-Book verwendet das EPUB-Format und ist optimiert für die Nutzung mit Apple Books auf dem iPad von Apple. Bei der Verwendung von anderen Readern kann es zu Darstellungsproblemen kommen.
Der Verlag räumt Ihnen mit dem Kauf des E-Books das Recht ein, die Inhalte im Rahmen des geltenden Urheberrechts zu nutzen. Dieses Werk, einschließlich aller seiner Teile, ist urheberrechtlich geschützt. Jede Verwertung außerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlags unzulässig und strafbar. Dies gilt insbesondere für Vervielfältigungen, Übersetzungen, Mikroverfilmungen und die Einspeicherung und Verarbeitung in elektronischen Systemen.
Der Verlag schützt seine E-Books vor Missbrauch des Urheberrechts durch ein digitales Rechtemanagement. Bei Kauf im Webshop des Verlages werden die E-Books mit einem nicht sichtbaren digitalen Wasserzeichen individuell pro Nutzer signiert. Bei Kauf in anderen E-Book-Webshops erfolgt die Signatur durch die Shopbetreiber. Angaben zu diesem DRM finden Sie auf den Seiten der jeweiligen Anbieter.
Lektorat: Sabine SchulzSprachkorrektorat: Petra Heubach-ErdmannCovergestaltung: Christian KalkertBildnachweis: Nik Jason Brühlmann electronic publication: Petra Kleinwegen
Mikrocontroller sind aus unserem Leben nicht mehr wegzudenken. Fast in jedem Gerät, das bei uns im Einsatz ist, ist ein Mikrocontroller, in der Umgangssprache »Chip« genannt, verbaut.
Als Endanwender sieht man die kleinen Bausteine kaum, aber sie verarbeiten die Eingangssignale unseres Bewegungsmelders, Rauchmelders oder die Eingabe auf dem Display der Heizung im Keller oder dem Herd in der Küche.
Sie, mein lieber Leser, wollen aber vermutlich nicht nur Geräte einsetzen, sondern mit Mikrocontrollern eigene Lösungen und Projekte realisieren.
Als Hobbyist oder Bastler haben Sie bestimmt schon die ersten Schritte mit den bekannten Arduino-Boards gemacht und wollen nun einen Schritt weiter gehen und Mikrocontroller der ESP-Serie mit höherer Leistung, Speicherbedarf und erweiterter Funktionalität wie Wifi oder Bluetooth verwenden.
Die Mikrocontroller der ESP-Reihe sind von der Firma Espressif entwickelt und auf den Markt gebracht worden. Der ESP8266 wurde im Jahr 2014 erstmals eingeführt und hat auch schnell Einzug in die Welt der Bastler und Maker gehalten. Endlich konnte man ein Arduino-Board mit einer WLAN-Schnittstelle erweitern. Findige Bastler haben dann auch schnell Firmware für die Integration in die Arduino-Umgebung realisiert.
Der ESP8266 hatte einen großen Vorteil für Bastler gegenüber den bisherigen Mikrocontrollern für Arduino-Boards – den Kostenfaktor. Ein ESP8266 kostete nur rund fünf Euro und komplette Boards mit einem ESP8266 waren für wenig mehr zu beziehen.
Wie schnell die Entwicklung weiterging, zeigt die Geschichte des ESP32. Dieser Mikrocontroller wurde nur rund zwei Jahre nach der Einführung des ESP8266 als Nachfolger vorgestellt und hat sich auch schnell in der Maker-Welt durchgesetzt. Mit deutlich mehr Leistung und Funktionen hebt sich der ESP32 von seinem Vorgänger ab. Nun sind plötzlich auch komplexere Anwendungen für Bild und Audio und sogar KI-Anwendungen im Kleinformat möglich.
Die Geschichte des ESP32 ist aber noch nicht fertig. In regelmäßigem Abstand werden neue Typen und Varianten entwickelt. In vielen Smarthome-Projekten mit drahtlosen Schnittstellen wird als Zentraleinheit ein ESP32 eingesetzt.
Dieses Buch ist eine praktische Einführung in die Hardware und Software des ESP32. In praktischen Beispielen lernen Sie, den Mikrocontroller zu programmieren, und Sie erhalten darüber hinaus die Grundlagen für eigene Projekte.
Die ersten drei Kapitel sind eine Einführung in die Hard- und Software der ESP32-Boards. Diese Kapitel dienen als Grundlage und sollten der Reihe nach durchgearbeitet werden.
Die weiteren Kapitel können teilweise auch übersprungen werden.
In Kapitel 1 erfolgt die Einführung in das Thema ESP32. Dabei werden die Themen Board, Verbindung des Rechners mit dem ESP32 und die Stromversorgung beschrieben. Am Ende des Kapitels werden die notwendigen Komponenten aufgelistet, die man für die ESP32-Experimente benötigt.
Im Kapitel 2 wird die Hardware der ESP32-Familie – die einzelnen Boards, Module und Chips – vorgestellt.
Die notwendige Software für die Programmierung in C++ und MicroPython wird in Kapitel 3 beschrieben.
Kapitel 4 erläutert die Programmierung in C++.
Kapitel 5 beschäftigt sich mit der Programmierung in MicroPython und dem Einsatz der Entwicklungsumgebung Thonny.
In Kapitel 6 geht es um die Peripherie, die Ein- und Ausgänge des ESP32-Mikrocontrollers sowie die verschiedenen Schnittstellen wie I2C, SPI und Bluetooth.
Das Thema Wifi mit dem ESP32 als Webclient und Webserver finden Sie in Kapitel 7. Zusätzlich wird ein MQTT-Client realisiert und die Firmware Tasmota vorgestellt.
In Kapitel 8 wird das ESP32-Board mit einem OLED-Display erweitert. Des Weiteren wird die ESP32-CAM vorgestellt.
In Kapitel 9 wird ein DIY-Board auf Basis eines ESP32-Mikrocontrollers realisiert, das die Grundlage für eigene Board-Entwicklungen sein kann.
Falls Probleme mit dem ESP32 auftauchen, finden Sie in Kapitel 10 Unterstützung beim Troubleshooting.
Zum Schluss werden in Kapitel 11 praktische Werkzeuge und Hilfsmittel für den Bastler und ESP32-Anwender vorgestellt.
Weitere Informationen zu den ESP32-Boards und Anwendungen im Buch sind auf meiner Website erhältlich:
https://555url.ch/177
Im Downloadbereich finden Sie alle Beispiele aus dem Buch sowie Ergänzungen und Erweiterungen.
Für Anmerkungen und Anregungen können Sie mit mir per E-Mail oder X Kontakt aufnehmen.
E-Mail: [email protected]
X: https://x.com/arduinopraxis
Die Beispielsketche und weitere Projektdaten finden Sie in meinem Github-Account:
https://555url.ch/178
Informationen zu meinen bisherigen Büchern finden Sie unter:
https://555url.ch/179
Ich möchte mich auch in diesem Buch ganz herzlich bei meiner Frau Aga dafür bedanken, dass sie mir die Zeit und Freiräume gegeben hat, dieses Buchprojekt zu realisieren. Auch möchte ich mich bei meiner Lektorin Sabine Schulz vom mitp-Verlag für das Vertrauen bedanken. Es war wieder eine sehr angenehme und produktive Zusammenarbeit.
Im Herbst 2025
Thomas Brühlmann
Der ESP32 ist in der Praxis nicht nur ein einzelner Mikrocontroller-Typ. Die ESP32-Familie besteht mittlerweile aus einer ganzen Reihe von Typen und Varianten, die in Kapitel 2 im Detail vorgestellt werden.
Die Mikrocontroller-Boards mit einem ESP32 werden mittlerweile von vielen Herstellern produziert und sind im Online-Handel auf der ganzen Welt zu beziehen.
Große Händler wie Amazon oder Aliexpress bieten unzählige Varianten zum Verkauf an.
Für einen Einsteiger und Umsteiger ist das ein großes Angebot und am Anfang ist es zunächst schwierig, einen Überblick zu bekommen. Erste Schritte und Erfahrungen kann man mit verschiedenen Board-Varianten machen – es spielt dabei keine Rolle, ob man Board A oder Board B wählt. Beim Einstieg will man ja meist auch nicht viel Geld ausgeben. Dank der kostengünstigen Mikrocontroller sind auch die fertigen Mikrocontroller-Boards im Vergleich zu den früheren Arduino-Boards recht kostengünstig.
Bei Aliexpress bekommt man solche Boards für wenige Euros.
Ein ESP32-Board ist grundsätzlich eine Leiterplatte, auf der der ESP32-Mikrocontroller und die weiteren notwendigen elektronischen Komponenten aufgelötet sind.
In Abbildung 1.1 ist ein ESP32-Board der Firma Espressif zu sehen. An den seitlichen Anschlusspins hat man Zugriff auf die Ein- und Ausgänge und die Spannungsversorgung des Boards. Über einen USB-Stecker wird das ESP32-Board mit einem angeschlossenen Rechner für den Datenupload und die Kommunikation verbunden.
Abb. 1.1: ESP32-Board (Modell ESP32-C3-DevKitM von Espressif)
Mittlerweile gibt es viele verschiedene Board-Varianten und Bauformen. Diese werden detailliert in Kapitel 2 vorgestellt.
Eine Verbindung zu einem ESP32-Mikrocontroller erfolgt meistens über ein USB-Kabel. Die meisten ESP32-Boards haben einen USB-Stecker für eine einfache Verbindung mit dem angeschlossenen Rechner.
Neben der seriellen Verbindung über das USB-Kabel wird gleichzeitig auch das ESP32-Board mit Spannung versorgt.
Während der Entwicklungsphase ist also keine zusätzliche Stromversorgung notwendig. In vielen Fällen wird das Board direkt auf das Steckbrett gesteckt (Abbildung 1.2).
Abb. 1.2: ESP32-Board auf Steckbrett (Board Seeed Studio XIAO ESP32C3)
In diesem Beispiel-Projekt aus Abbildung 1.2 wird eine rote Leuchtdiode über Pin D4 angesteuert. Das verwendete ESP32-Board ist ein XIAO ESP32C3 des Herstellers Seeedstudio.
Falls ein größeres oder breiteres ESP32-Board verwendet wird, kann dieses auch »fliegend«, also nicht aufs Steckbrett gesteckt, verdrahtet werden. In diesem Fall werden nur die extern angeschlossenen Komponenten auf das Steckbrett platziert. Die Verbindungsleitungen, in diesem Fall die beiden Jumper-Wires in Orange (Signal D4) und Blau (GND), dienen dann als Verbindung zu den Anschlusspins auf dem ESP32-Board.
Im Aufbau gemäß Abbildung 1.3 werden Jumper-Wire mit Female-Male-Anschlüssen verwendet. Die Female-Seite kommt an das ESP32-Board und die Male-Anschlüsse werden auf das Steckbrett gesteckt. Voraussetzung bei dieser Variante ist, dass am ESP32-Board Stiftleisten angelötet sind.
Abb. 1.3: ESP32-Board mit Komponenten auf Steckbrett
Der Grund für den notwendigen fliegenden Aufbau ist die Breite des verwendeten Boards. Wie Sie in Abbildung 1.4 sehen, kann das ESP32-Board auf das Steckbrett montiert werden. Für die Verbindung der Pins mit externen Komponenten, in diesem Fall einer Leuchtdiode, sind keine Steckkontakte auf dem Steckbrett verfügbar.
Abb. 1.4: ESP32 auf Steckbrett – fehlende Pins für Anschluss
Um diese Problematik zu umgehen, können als alternative Variante auch zwei einzelne Breadboards verwendet werden (Abbildung 1.5). Diese Variante bringt den Vorteil, dass man für externe Komponenten und Beschaltung noch mehr Platz zur Verfügung hat.
Abb. 1.5: ESP32 auf Steckbrett (Variante mit zwei Boards)
Die Stromversorgung des ESP32-Boards erfolgt in vielen Fällen direkt über den USB-Anschluss. Dieser liefert die 5 V für die Stromversorgung. Da die ESP32-Mikrocontroller aber nur mit 3,3 V versorgt werden können, ist auf den Boards jeweils ein Onboard-Spannungsregler aufgelötet, der die Spannung von 5 V auf 3,3 V regelt.
Beim Anschluss einer externen Versorgungsspannung muss immer genau die Anschlussbelegung des jeweiligen Boards überprüft werden.
In Abbildung 1.6 sehen Sie das ESP32-Board (Typ ESP32-WROOM-32) mit den Anschlusspins VIN (rot) und 3V3 (grün).
Abb. 1.6: ESP32-WROOM-32 – Versorgungsanschlüsse
VIN ist die Spannung von 5 V, die über den USB-Anschluss zugeführt wird. Die Spannung an 3V3 ist somit die Ausgangsspannung des Spannungsreglers. Diese Spannung kann für die Versorgung von Schaltungsteilen oder externen Bauteilen genutzt werden.
Der Einstieg in die Thematik ESP32 ist relativ einfach und erfordert nur wenig Hardware und Software. Bevor es in Kapitel 2 richtig losgeht, müssen Sie einige Dinge vorbereiten und die notwendige Software herunterladen und installieren.
In der nachfolgenden Stückliste sind die notwendigen elektronischen Boards und Komponenten aufgelistet.
Stückliste (Einstieg ESP32)
1 ESP32-Board (Auswahl)ESP32-C3-DevKit-M1XIAO ESP32C31 USB-Kabel (Stecker passend zu oben gewähltem Board)2 Steckbretter (830 Kontakte oder 400 Kontakte)Set Jumper-WireSoftware Arduino-IDESoftware ThonnyOptionale Bauteile:
Widerstands-SetLeuchtdioden 3 mm oder 5 mm (verschiedene Farben)Nachfolgend ein paar Vorschläge für Bezugsquellen der oben genannten Komponenten:
ESP32-C3-DevKitM-1
Mouser
https://555url.ch/101
XIAO ESP32C3
Reichelt
https://555url.ch/102
Seeedstudio
https://555url.ch/103
Steckbrett
Steckbretter oder Breadboards gibt es in verschiedenen Größen und Ausführungen. Die Varianten mit 400 oder 830 Kontaktpunkten sind die ideale Größe.
Oft gibt es bei den Händlern auch Breadboards mit Jumper-Wire und Power-Adapter im Set.
Da die ESP32-Boards oft die gesamte Fläche der Anschlusspins auf dem Steckbrett benötigen, kann man den Aufbau auch mit zwei Steckbrettern machen. Siehe dazu Abbildung 1.5.
Reichelt
https://555url.ch/104
Jumper-Wire (Male-Male)
Reichelt
https://555url.ch/105
Aliexpress
https://555url.ch/106
Software
Arduino-IDE
https://555url.ch/107
Thonny
https://555url.ch/108
Die Hardware des ESP32 ist seit der Vorstellung des ersten Boards schnell gewachsen und wird in drei verschiedene Formate oder Kategorien aufgeteilt – ESP32-Boards, Module und Chips.
Die oberste Kategorie sind die ESP32-Boards – das Mikrocontroller- oder Entwicklungsboard in verschiedenen Baugrößen, Anschlussvarianten und auch Leiterplattenfarben.
Alle diese Boards haben einen zentralen Mikrocontroller, externe Hardware wie Spannungsversorgung, elektronische Komponenten für verschiedene Funktionen sowie Anschlusstechnik für USB-Anschluss, Anschlusspins für die einzelnen physischen Ein- oder Ausgänge sowie für weitere Funktionen wie Reset. Der Mikrocontroller ist dabei meist in einem Modul mit externer Antenne verpackt. Das Modul selber ist wie ein SMD-Bauteil auf der Leiterplatte aufgelötet.
Ein ESP32-Modul wiederum besteht aus einer Leiterplatte, auf der der ESP32-Chip sowie zusätzliche Komponenten wie RAM-Baustein, Filterschaltungen, Taktgenerator und Antennenschaltung integriert sind. Die gesamte Schaltung mit Ausnahme der Windungen der Antenne sind durch Metallgehäuse abgeschirmt. Die Leiterplatte des ESP32-Moduls hat an den Außenseiten Lötpads für das einfache Auflöten auf einer Basisplatine.
Der ESP32-Chip ist, wie der Name schon aussagt, ein integrierter Baustein (Integrated Circuit, auch IC genannt), also der Halbleiter verpackt in einem Gehäuse. Die Variante wird auch als SoC, System on Chip bezeichnet. Der Chip wird in der Anwendung auf die Leiterplatte gelötet. Der Chip ist nur der Baustein, ohne zusätzliche Komponenten wie RAM-Baustein oder Antenne. Der Typ des jeweiligen ESP-Chips definiert dann die Familien-Zugehörigkeit.
In Abbildung 2.1 ist ein ESP32-Dev-Board zu sehen. Die farbigen Umrahmungen zeigen dabei die einzelnen beschriebenen Kategorien.
Abb. 2.1: ESP32-Kategorien – Board (rot), Modul (grün), Chip (gelb)
Auf dem ESP32-Board (rot) ist ein ESP32-Modul (grün) aufgelötet. Auf dem Modul selbst – in der Abbildung ist das Gehäuse aus Metall zur besseren Darstellung entfernt – ist der ESP32-Mikrocontroller oder Chip (gelb) aufgelötet.
Die Aufteilung in die drei Kategorien beschreibt quasi die Bauform der eigentlichen ESP32-Hardware.
Im praktischen Einsatz unterscheidet der Anwender dann aber eher nach der ESP32-Serie. Die Serienbezeichnung gibt an, zu welcher Hardware-Kategorie und zu welcher Ausbaustufe des Mikrocontrollers die Hardware zugeordnet wird. Die einzelnen Serien haben meist unterschiedliche Mikrocontroller-Typen und unterschiedliche Hardwarefunktionen- oder Schnittstellen-Varianten.
Die ESP32-Serien unterscheiden die einzelnen Ausbaustufen und Features der einzelnen ESP32-Modelle. Aus den jeweiligen Typenbezeichnungen kann man die mittlerweile sehr große ESP32-Familie grob unterscheiden. In der Praxis muss der Anwender bei der Auswahl der optimalen Hardware die einzelnen Datenblätter der Modelle miteinander vergleichen.
Die ESP32-Serien werden mit Buchstaben gekennzeichnet. In Tabelle 2.1 sind die einzelnen Serien, technischen Daten und deren Einsatz übersichtlich dargestellt.
Serie
Beschreibung
Anwendungsbeispiele
ESP32 (Classic)
Original ESP32-Chip
Single oder Dual Core Xtensa LX6
160–240 MHz
Flash: 4 MB
Wifi, Bluetooth 4.2
Einfache Projekte wie IOT-Anwendungen
ESP32-S
Serien S2 und S3
S2:Single Core Xtensa LX7
240 MHz
Nur Wifi, kein Bluetooth
USB-OTG-Unterstützung
13-Bit-A/D-Wandler
Lowpower-Anwendungen
S3:Dual Core Xtensa LX7
240 MHz
Wifi und Bluetooth BLE 5.0
Externes Memory
KI-Anwendungen
ESP32-C
Serien C2, C3, C6, C61
C2:Ersatz für ESP8266
C3:RISC-V Single Core
160 MHz
Wifi und Bluetooth 5 (Long Range)
Real Time Clock
Stromsparende Anwendungen
C6:RISC-V Single Core
160 MHz
Wifi und Bluetooth 5 (Long Range)
Thread/Zigbee
Anwendungen mit Thread und Zigbee
C61:RISC-V Single Core
160 MHz
Wifi 6 und Bluetooth 5 (Long Range)
Matter
Niedriger Stromverbrauch
Sicherheitsfunktionen
ESP32-H
Serie H2
RISC-V-Architektur
96 MHz
Kein Wifi, nur Bluetooth LE 5.2
Thread/Zigbee
Smarthome-Anwendungen
Matter-kompatibel
Ideal für Mesh- und Zigbee-Projekte
ESP32-P
Serie P4
P4:Dual Core RISC-V
Inkl. Single Core RISC-V
400 MHz
Kein Wifi oder Bluetooth
High Performance wie Kamera und Video- und Sprach-Verarbeitung
Tab. 2.1: ESP32-Serien (Überblick)
Ein ESP32-Entwicklungsboard oder Dev-Kit ist die fertige Form eines ESP32-Boards. Das Board beinhaltet alle notwendigen Komponenten wie ESP32-Modul, Spannungsversorgung, LED und Anschlusstechnik. Die Anschlusstechnik beinhaltet den USB-Anschluss und die auf Stift- oder Buchsenleisten herausgeführten Pins mit den Ein- und Ausgängen und sonstigen Zusatzfunktionen.
Der Anwender kann ein solches Board direkt in seinem Projekt einsetzen.
Zu den gut verfügbaren und viel eingesetzten Boards gehören
ESP32-C3-DevKitESP32 MiniKitXIAO ESP32C3Diese Boards werden im Folgenden einzeln vorgestellt und dann im Anschluss miteinander verglichen.
Daraufhin werden noch weitere ESP32-Boards vorgestellt. Dazu gehören sehr kleine und kompakte ESP32-Lösungen mit dem Namen »Codecell« und das Board ESP32-Lite, das auch mit Lipo-Akku betrieben werden kann.
https://555url.ch/109
Dieses Board des ESP32-Herstellers Espressif ist ein weitverbreitetes Entwicklungsboard für ESP32-Anwendungen.
In Abbildung 2.2 ist das Board dargestellt. Auf dem Bild sind auch die auf der Leiterplatte platzierten Komponenten gekennzeichnet.
Abb. 2.2: ESP32-C3-DevKitM-1 (Quelle: Espressif)
Neben dem zentralen Baustein, dem ESP32-C3-Mini-1-Modul, findet man auf dem Board:
die Stromversorgung mit dem LDO-Spannungsregler2 Leuchtdioden für 5 V Power und als RGB-LEDden USB-Serial-Wandler2 Buttons für Reset und BootUSB-Port für Spannungsversorgung und Programmierungsowie die Stiftleisten (Pin Headers) für die Ein- und AusgängeDas Board hat eine ideale Größe für die Platzierung auf einem Steckbrett.
Durch die Steckbrett-Montage hat man eine stabile Hardware für die Entwicklungsarbeit. Für den produktiven Einsatz lötet man das Board auf eine entsprechende Platine oder man ersetzt die ganze Schaltung durch ein kompaktes Board, bestehend aus einem ESP32-Modul inklusive der notwendigen externen Erweiterungen wie Spannungsregler, Anschluss-Pins und USB-Stecker.
Die an den Seiten des Boards angebrachten Stiftleisten beinhalten alle verfügbaren GPIOs (Eingänge und Ausgänge) und sonstigen externen Anschlüsse.
In Abbildung 2.3 sind die Anschlussbezeichnungen farbig und übersichtlich dargestellt. Dieses Anschlussbild ist direkt von Espressif und kann unter folgendem Link runtergeladen werden.
https://555url.ch/110
Ich habe dieses Bild als Referenz immer griffbereit neben meinem Rechner.
Abb. 2.3: ESP32-C3-DevKitM-1 – Anschlussbelegung (Quelle Espressif).
Wie Sie aus der Anschlussbelegung erkennen können, haben etliche Pins verschiedene Funktionen. Die Beschreibungen der einzelnen Pins sind in Tabelle 2.2 und Tabelle 2.3 aufgelistet.
Meist wird ein DevKit eingesetzt, wenn viele GPIOs (Ein- oder Ausgänge) für einen Anwendungsfall benötigt werden.
Anschlussbelegung
Die Anschlussbelegung ist in Tabelle 2.2 und Tabelle 2.3 abgebildet. Gemäß Dokumentation von Espressif sind die Stiftleisten mit den Bezeichnungen J1 und J3 gekennzeichnet.
Stiftleiste J1:
Pin-Nr
Name
Typ
Funktion
1
GND
G
Ground
2
3V3
P
3.3-V-Versorgung
3
3V3
P
3.3-V-Versorgung
4
IO2
I/O/T
GPIO2, ADC1_CH2, FSPIW
5
IO3
I/O/T
GPIO3, ADC1_CH3
6
GND
G
Ground
7
RST
I
Reset
8
GND
G
Ground
9
IO0
I/O/T
GPIO0, ADC1_CH0, XTAL_32K_P
10
IO1
I/O/T
GPIO1, ADC1_CH1, XTAL_32K_N
11
IO10
I/O/T
GPIO10, FSPICS0
12
GND
G
Ground
13
5V
P
5-V-Versorgung (von USB)
14
5V
P
5 V-Versorgung (von USB)
15
GND
G
Ground
Tab. 2.2: ESP32-C3-DevKitM-1 (Anschlussbelegung – Stiftleiste J1)
Stiftleiste J3:
Pin-Nr
Name
Typ
Funktion
1
GND
G
Ground
2
TX
I/O/T
GPIO21, U0TXD
3
RX
I/O/T
GPIO20, U0RXD
5
GND
G
Ground
5
IO9
I/O/T
GPIO9
6
IO8
I/O/T
GPIO8, RGB LED
7
GND
G
Ground
8
IO7
I/O/T
GPIO7, FSPID, MTDO
9
IO6
I/O/T
GPIO6, FSPICLK, MTCK
10
IO5
I/O/T
GPIO5, ADC2_CH0, FSPIWP, MTDI
11
IO4
I/O/T
GPIO4, ADC2_CH4, FSPIHD, MTMS
12
GND
G
Ground
13
IO18
I/O/T
GPIO18, USB_D-
14
IO19
I/O/T
GPIO19, USB_D+
15
GND
G
Ground
Tab. 2.3: ESP32-C3-DevKitM-1 (Anschlussbelegung – Stiftleiste J3)
Die Bezeichnung des Typs lautet:
I: Eingang (Input)O: Ausgang (Output)T: Hochohmig (High Impedance)Zusätzlich muss beachtet werden, dass GPIO2, GPIO8 und GPIO9 beim Start des Mikrocontrollers für die Boot-Konfiguration abgefragt werden. Nach dem Startvorgang (Boot) können diese Pins wieder als Standard-Pins verwendet werden.
Verfügbarkeit
Der ESP32-C3-DevKitM-1 ist bei vielen Elektronik-Händlern verfügbar.
Conrad
https://555url.ch/111
Bastelgarage
https://555url.ch/112
Aliexpress
https://555url.ch/113
https://555url.ch/114
Mit einer kompakten Bauform und bis zu 30 GPIOs ist der ESP32 MiniKit ein leistungsstarkes Mikrocontroller-Board (Abbildung 2.4).
Abb. 2.4: ESP32-Boards – ESP32 MiniKit
Mit einem Dual-Core LX6 Controller, 4 MB Flash und Wifi und Bluetooth kann dieses Board für viele Anwendungen mit kleinen Bauformen und vielen digitalen Pins eingesetzt werden.
Der Wemos ESP32 MiniKit ist der Nachfolger des Wemos D1 Mini mit ESP8266.
Im Lieferumfang des Boards sind dann meistens Stift- und Buchsenleisten dabei.
Amazon
https://555url.ch/114
Bastelgarage
https://555url.ch/115
https://555url.ch/116
Das kompakte Projekt XIAO ESP32C3 des chinesischen Herstellers Seeedstudio gehört in die Familie der XIAO-Boards (https://555url.ch/117) und fällt durch die kompakte Bauform auf (Abbildung 2.5). Mit einem stabilen USB-Anschluss kann das Board sicher mit dem Rechner verbunden werden. Die Anschlusspins für Ein- und Ausgänge sind auf den Seiten der Leiterplatten angeordnet. Die Anschlusspins sind eigentlich Lötpads, an die man auch direkt einen Anschlussdraht anlöten kann. Dank der Lötpads können Sie das XIAO-Board auch direkt auf eine Leiterplatte löten.
Abb. 2.5: XIAO ESP32C3 (Quelle Seeedstudio)
Durch die kompakte Bauform eignet sich das XIAO ESP32C3 ideal für kleine IoT-Anwendungen oder für den Einsatz im Smarthome.
Auf der Unterseite des Boards stehen Lötanschlüsse für einen Lipo-Akku zur Verfügung. Somit sind auch Batterie-betriebene Anwendungen mit dem kleinen XIAO möglich.
Das Board ist im Shop von Seeedstudio sowie bei verschiedenen Lieferanten erhältlich.
Seeedstudio
https://555url.ch/103
Reichelt
https://555url.ch/102
Bastelgarage
https://555url.ch/118
Viele Projekte in diesem Buch werden mit dem XIAO ESP32-C3 realisiert.
https://555url.ch/119
Ein weiteres kompaktes ESP32-Board mit einem ESP32-C3 ist das CodeCell-Board von YouTuber Carl Bugeja.
Carl hat mit diesem Board ein System entwickelt, das auch junge Einsteiger und die nächste Generation von Makern inspirieren soll.
Mit dem CodeCell-Board und weiteren Zusatzboards eignet sich das System für viele Anwendungsfälle (Abbildung 2.6).
Abb. 2.6: ESP32-Board – CodeCell (Quelle Microbots)
Die Beispiele auf der Website starten mit einem Lichtsensor und gehen bis hin zu einer Motoransteuerung via CodeCell-Remote-Control.
Mit der zusätzlichen Connect-App für Android und iOS können die Anwendungsbeispiele via Smartphone gesteuert und bedient werden.
Dank der kompakten Abmessungen eignet sich auch das CodeCell-Board ideal für kleine und kompakte Anwendungen im Bereich Fernsteuerung, Smarthome und IoT.
Das CodeCell-Projekt kann über den Microbots-Shop online bestellt werden.
https://555url.ch/120
Dieses Board wird auch als ESP32 Wemos Lite angeboten. In Abbildung 2.7 sehen Sie das Board mit zugehörigen Anschlusspins.
Abb. 2.7: ESP32 Board – ESP32 Wemos Lite (Quelle Aliexpress)
Auf den ersten Blick sieht dieses Board wie viele andere ESP32-Boards aus. Beim näheren Betrachten stellt man fest, dass neben dem USB-Stecker noch ein zusätzlicher Stecker montiert ist. Dieser 2-polige Stecker ist der Anschluss für einen externen Lipo-Akku, der mit der Onboard-Ladeschaltung mit 500 mA geladen werden kann.
Die technischen Daten dieses Boards gemäß Tabelle 2.4:
Spezifikation
ESP32 Wemos Lite
CPU
ESP32 Dual Core LX6
CPU (MHz)
240
RAM SRAM
520 kB
RAM FLASH
4 MB
Wifi
ja
Bluetooth
ja
GPIO
22
USB
ja
Baugröße (mm)
50 x 25
Sonder-Funktionen
Lipo-Anschluss
Tab. 2.4: ESP32 Wemos Lite
Der ESP32 Wemos Lite wird standardmäßig mit der MicroPython-Firmware ausgeliefert.
Aliexpress
https://555url.ch/121
In Tabelle 2.5 werden die oben vorgestellten Boards miteinander verglichen.
Spezifikation
ESP32 C3DevKitM-1
ESP32MiniKit
XIAOESP32-C3
CodeCell
CPU
ESP32-C3FN4
ESP32-S2FN4R2
ESP32-C3
ESP32-C3
CPU (MHz)
160
240
160
160
RAM SRAM
400 KB
4 MB
400 KB
400 KB
RAM FLASH
4 MB
4 MB
4 MB
4 MB
Wifi
ja
ja
ja
ja
Bluetooth
ja
ja
ja
ja
GPIO
22
27
11
8
USB
ja
ja
ja
ja
Baugröße (mm)
45 x 26
40 x 31
21 x 18
23 x 18
Sonder-Funktionen
RGB
-
Antenne extern
Lipo-ChargerLight-Sensor
Tab. 2.5: ESP32-Boards (Übersicht)
