ESP32 Einführung

Der ESP32-S3 auf dem T-FPGA

Das T-FPGA-Board beherbergt nicht nur einen FPGA – es trägt auch einen vollwertigen Mikrocontroller mit an Bord: den ESP32-S3. Was auf den ersten Blick wie ein Nebendarsteller wirkt, entpuppt sich schnell als wichtiger Partner. Denn der ESP32-S3 kann Dinge, die ein FPGA allein nicht ohne Weiteres erledigt: er spricht mit der Außenwelt. Per WLAN, per Bluetooth, über serielle Protokolle – und das alles bei einem Stückpreis, der kaum zu glauben ist.


Was ist der ESP32-S3 überhaupt?

Der ESP32-S3 ist ein Mikrocontroller-System-on-Chip (SoC) des chinesischen Herstellers Espressif. Er enthält einen Dual-Core-Prozessor (Xtensa LX7, bis zu 240 MHz), WLAN (802.11 b/g/n) und Bluetooth Low Energy (BLE 5.0), alles auf einem winzigen Chip. Dazu kommen einige hundert Kilobyte RAM, Flash-Speicher, zahlreiche GPIO-Pins, ADC, SPI, I²C, UART – und ein vollständig integrierter USB-Controller, der sowohl für das Debugging als auch als serielle UART-Schnittstelle genutzt werden kann.

Auf dem T-FPGA-Board ist der ESP32-S3 fest integriert. Er ist direkt mit dem FPGA verbunden und kann sowohl als eigenständiger Prozessor als auch als Kommunikationsbrücke zur Außenwelt eingesetzt werden.


Was der ESP32-S3 kann – und was ihn besonders macht

Der ESP32-S3 ist kein Spezialist für eine Sache. Er ist ein Generalist mit beeindruckender Bandbreite:

Drahtlose Konnektivität: Der ESP32-S3 beherrscht WLAN und Bluetooth Low Energy (BLE 5.0) – beides ohne externe Hardware. BLE macht es möglich, direkt mit einem Smartphone zu kommunizieren. Eine selbst entwickelte App auf dem Handy kann so Messwerte empfangen, Befehle senden oder den FPGA fernsteuern. Klassisches Bluetooth (BR/EDR) ist beim S3 bewusst weggelassen – BLE deckt die allermeisten modernen Anwendungsfälle ab und ist dabei wesentlich energieeffizienter.

Integriertes USB: Der ESP32-S3 bringt einen vollständigen USB-Controller direkt auf dem Chip mit – ganz ohne externen USB-zu-UART-Wandler. Das ermöglicht zum einen komfortables Debugging über USB, zum anderen lässt sich die serielle Ausgabe (UART) direkt über dieselbe USB-Verbindung lesen. PuTTY oder ein anderes Terminalprogramm genügt, um die Ausgaben des Chips live mitzuverfolgen.

Serielle Kommunikation: UART, SPI, I²C – der ESP32 beherrscht alle gängigen Protokolle. Er kann Sensoren auslesen, Displays ansteuern und mit anderen Mikrocontrollern kommunizieren. Auf dem T-FPGA ist er außerdem über einen UART-Kanal direkt mit dem FPGA verbunden.

Analoge Signale: Mehrere ADC-Kanäle erlauben die direkte Verarbeitung analoger Eingangssignale – etwa von Sensoren oder Potentiometern. Das ist etwas, das FPGAs ohne externe Bausteine nicht beherrschen.

Echtzeit-Fähigkeiten: Der ESP32 kann in beide Richtungen gleichzeitig arbeiten – dank des Dual-Core-Designs lassen sich zeitkritische Aufgaben auf einem Kern ausführen, während der andere für Kommunikation zuständig ist.


Ein Blick auf den Preis

Ein ESP32-Modul im Einzelhandel kostet – je nach Variante – zwischen 2 und 5 Euro. Entwicklungsboards mit USB-Anschluss und allem Drumherum sind für unter 10 Euro erhältlich. Das ist bemerkenswert: Für den Preis eines Kaffees erhält man eine vollständige WLAN- und Bluetooth-fähige Prozessorplattform.

Diese Kostenstruktur macht den ESP32-S3 zu einem der beliebtesten Mikrocontroller weltweit – in der Maker-Community, in der Industrie, in Bildungsprojekten. Auf dem T-FPGA profitiert man von dieser Verbreitung: Es gibt eine riesige Community, umfangreiche Dokumentation und viele fertige Bibliotheken.


ESP32 und PC: Ein Vergleich der Ressourcen

Es ist wichtig, den ESP32 richtig einzuordnen. Er ist kein kleiner PC – und das ist keine Schwäche, sondern ein Designprinzip.

Ein moderner PC verfügt über mehrere Kerne mit mehreren Gigahertz Taktfrequenz, Gigabytes RAM und Betriebssysteme, die tausende Prozesse gleichzeitig verwalten. Der ESP32 dagegen arbeitet mit zwei Kernen bei maximal 240 MHz und ein paar hundert Kilobytes RAM. Ein vollständiges Betriebssystem passt nicht drauf – und muss auch nicht drauf.

Denn was der ESP32-S3 dafür bietet, ist Direktheit: Er startet in Millisekunden, verbraucht im Tiefschlaf weniger als 10 Mikrowatt, arbeitet ohne Betriebssystem-Overhead und reagiert deterministisch auf Eingaben. Ein PC wäre für viele Embedded-Aufgaben schlicht zu groß, zu langsam im Hochfahren und zu stromhungrig. Der ESP32-S3 macht genau das, wofür er gebaut wurde – und das sehr gut.

Auf dem T-FPGA ergänzen sich FPGA und ESP32-S3 deshalb ideal: Der FPGA übernimmt parallele, zeitkritische Hardwarelogik. Der ESP32-S3 kümmert sich um Kommunikation, Steuerung und alles, was eine sequenzielle Programmlogik erfordert.


Programmierung: Drei Wege, ein Chip

Für den ESP32-S3 gibt es nicht einen einzigen richtigen Entwicklungsweg – sondern drei etablierte Ansätze, die sich in Abstraktionsgrad und Zielgruppe unterscheiden. Dieser Kurs nutzt alle drei, je nachdem, was die jeweilige Aufgabe erfordert.

ESP-IDF (Espressif IoT Development Framework) ist das offizielle Framework von Espressif und bildet die Basis von allem. Es arbeitet in C und C++, bringt FreeRTOS für Multitasking mit und bietet direkte Treiber für alle Peripheriefunktionen – WLAN, BLE, UART, SPI, I²C, ADC und mehr. Wer die ESP-IDF beherrscht, versteht, was auf dem Chip tatsächlich passiert. Für die T-FPGA-spezifischen Projekte – Power Management, FPGA-Kommunikation, OTA – ist sie die erste Wahl.

ESP-IDF IDE (früher bekannt als Eclipse-Plugin, heute als VS-Code-basierte Espressif-Erweiterung verfügbar) ist die grafische Entwicklungsumgebung rund um die ESP-IDF. Sie integriert Compiler, Flash-Tool, seriellen Monitor und Debugger in einer Oberfläche und macht die Kommandozeile optional. Für den Einstieg und die tägliche Arbeit ist sie die empfohlene Arbeitsumgebung.

Arduino für ESP32 legt eine vertraute Abstraktionsschicht über die ESP-IDF. Die Arduino-Kernbibliothek ist intern auf der ESP-IDF aufgebaut – was bedeutet, dass Arduino-Code und ESP-IDF-Code auf demselben Board laufen und sich sogar mischen lassen. Für schnelle Prototypen, die Nutzung der riesigen Arduino-Bibliothekslandschaft oder den Einstieg ohne C-Vorkenntnisse ist Arduino die pragmatische Wahl.

Die drei Ansätze schließen sich nicht aus – sie ergänzen sich. Wer in Arduino beginnt und auf ESP-IDF wechselt, verliert kein Vorwissen, sondern gewinnt Tiefe.


Was als Nächstes kommt

Bevor komplexe Kommunikation oder FPGA-Interaktion auf dem Programm steht, beginnt es mit dem Klassiker: Hello World. Das erste Programm gibt eine einfache Textzeile über die serielle Schnittstelle aus – lesbar im Terminal. Es ist das kleinste sinnvolle Programm, das gleichzeitig zeigt, dass die Toolchain funktioniert, der ESP32 läuft und die Verbindung zum Entwicklungsrechner steht.

Wer die Tools aus dem vorherigen Abschnitt installiert hat, kann direkt loslegen.


Zurück: Notwendige Basistools     Weiter: Hello World am ESP32 →