ESP32 Mikrocontroller - Thomas Brühlmann - E-Book

ESP32 Mikrocontroller E-Book

Thomas Brühlmann

0,0

Beschreibung

  • Einführung in die ESP32-Hardware: Boards, Module und Chips der ESP32-Familie verständlich erklärt
  • Programmierung mit C++ und MicroPython: praxisnaher Einstieg in beide Entwicklungsansätze
  • Zentrale Mikrocontroller-Funktionen: Ein- und Ausgänge sowie Schnittstellen wie I2C, SPI und Bluetooth
  • Netzwerk- und IoT-Anwendungen: ESP32 als Webclient, Webserver und MQTT-Client
  • Praxisorientierte Projekte: Erweiterung mit OLED-Display und Entwicklung eines DIY-Boards als Grundlage für eigene Hardware

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:

Android
iOS
von Legimi
zertifizierten E-Readern
Kindle™-E-Readern
(für ausgewählte Pakete)

Seitenzahl: 198

Veröffentlichungsjahr: 2026

Das E-Book (TTS) können Sie hören im Abo „Legimi Premium” in Legimi-Apps auf:

Android
iOS
Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Inhalt

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

Impressum

Bibliografische Information der Deutschen Nationalbibliothek

Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen National­bibliografie; 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

Einleitung

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.

Aufbau des Buches

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.

Mehr Informationen

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

Danksagung

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

Kapitel 1Einführung

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.

1.1 Boards

Ein ESP32-Board ist grundsätzlich eine Leiterplatte, auf der der ESP32-Mikrocon­troller 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.

1.2 Verbindungen

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 (Sig­nal 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)

1.3 Stromversorgung

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.

1.4 Anforderungen für den Einstieg

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 Thonny

Optionale 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 ­Abbil­dung 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

Kapitel 2Hardware des ESP32

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.

2.1 ESP32-Serien

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)

2.2 ESP32-Entwicklungsboards

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 ESP32C3

Diese Boards werden im Folgenden einzeln vorgestellt und dann im Anschluss mitei­nander 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.

2.2.1 ESP32-C3-DevKitM-1

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änge

Das 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

2.2.2 ESP32 MiniKit

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

2.2.3 XIAO ESP32C3

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.

2.2.4 CodeCell

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

2.2.5 ESP32 Lite

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

2.2.6 Vergleich der Boards

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)