json="{"targeting":{"kw":["ESP32"],"cms":4471527}}"

ESP32: Was ist das? Was kann das?

Der ESP32 von Hersteller Espressif dient als System-on-a-Chip für Internet-of-Things-Projekte. Im Folgenden Beitrag lesen Sie, was genau es damit auf sich hat, was der Chip leistet und wo er verbaut wird.

System-on-a-Chip

Zunächst müssen Sie wissen, was überhaupt ein System-on-a-Chip, kurz SoC, überhaupt ist. Im Grunde ist das ganz simpel: Ein Chip, der die meisten Bestandteile eines "Computers" beinhaltet. Sie kennen das vielleicht von den Broadcom-Chips auf den Raspberry-Pi-Einplatinenrechnern: Auf der Platine sind allerlei Anschlüsse für Strom, USB, Klinke und so weiter vorhanden, etliche Leiterbahnen, Input-Output-Pins und eben auch ein großer Broadcom-Chip, der die meisten Funktionen spendiert, sprich CPU-Kerne, Bluetooth, Grafikprozessor, Arbeitsspeicher, Schnittstellen und so weiter.

Im Vergleich mit einem ausgewachsenen Desktop-PC finden sich hier die meisten Bestandteile, die das Mainboard selbst zur Verfügung stellt sowie die eingesteckten Bauteile (Grafikkarte, Arbeitsspeicher etc.) eben auf einem einzelnen Chip. Das macht die Systeme extrem klein und sie verbrauchen recht wenig Energie. Und somit sind SoCs die perfekte Basis für IoT-Produkte wie Smartwatches oder smarte Heizungssteuerungen im privaten Bereich sowie etliche Produkte für die Industrie, wie zum Beispiel medizinisches Gerät. Und sie ermöglichen eben Bastelcomputer wie Raspberry Pi, Arduino, Tinkerboard und mittlerweile Dutzende weitere solcher Minirechner.

Der eigentliche SoC, hier unter anderem mit Antenne. Quelle: Expresif

ESP32-Familie

Den einen ESP32 gibt es in dem Sinne nicht, es handelt sich um eine ganze Familie von Chips in unterschiedlichen Ausprägungen. Alle Module sollen robust genug sein, um von -40 Grad Celsius bis 125 Grad Celsius zu arbeiten, sind auf minimale Energieaufnahme getrimmt und beinhalten sowohl WiFi als auch Bluetooth.

Es finden sich aber noch massig weitere Funktionen auf den Chips, hier mal ein Auszug:

WLAN nach Standards 802.11 b/g/n mit bis zu 150 Mbps und vier virtuellen Schnittstellen.
Bluetooth 4.2 mit Audiofunktionen.
CPU mit ein oder zwei Kernen, 532 KB Arbeitsspeicher und 448 KB ROM (Bootloader).
Taktgeber mit 8 MHz.
Peripherie-Schnittstellen: 34 GPIOs, 8-bit-DAC, 3 mal UART, CAN 2.0, Hall-Sensor.
Sicherheitsfeatures wie Secure boot und Hardware-Verschlüsselung inklusive Zufallszahlengenerator.

Die komplette Ausstattung finden Sie im sehr detaillierten Datasheet von Espressif.

Entwicklungsboards

Mit dem Chip selbst können Sie als Endanwender erstmal herzlich wenig anfangen - ebensowenig wie mit einem Broadcom-Chip ohne den Rest des Raspberrys. Von Espressif gibt es eine ganze Reihe solcher Development Boards. Das beginnt mit dem ESP32-PICO-KIT: Das kleine Board enthält neben dem ESP32-PICO-D4-Modul noch weitere Komponenten, allem voran 4 MB Flash-Speicher für die Installation der Firmware. Zudem fungiert das Ganze als Mini-Breadboard: Die GPIO-Pins werden in zwei kleine Steckleisten umgebrochen, sodass direkt externe Komponenten angeschlossen werden können. Vervollständigt wird das Board durch eine Antenne und den Micro-USB-Anschluss für die Stromversorgung. Das Pico-Board kostet bei Amazon ca. 15 Euro.

Das ESP-32-PICO: Ein kleines Board mit Antenne, I/O-Buchsen und mehr. Quelle: Expresif

Mehrere Nummern größer ist das ESP-WROVER-KIT-VB, das mit rund 60 Euro zu Buche schlägt, dafür aber auch einen LCD-Screen und eine Buchse für MicroSD-Karten zur Verfügung stellt. Das Board hat zudem noch einen weiteren USB-Anschluss, Ein/Aus-Schalter, einen Boot-Knopf, Status LEDs, die üblichen IO-Konnektoren, UART für serielle Kommunikation, eine Anschlussmöglichkeit für Kameramodule (OV7670), Jumper zum Konfigurieren diverser Modi und so weiter.

Dazwischen gibt es etliche Varianten, beispielsweise spezielle Boards für Audio- oder Grafikanwendungen. Und natürlich: Nicht bloß von Chip-Hersteller Espressif kommen die Boards! Auch Dritthersteller überschwemmen den Markt regelrecht mit Entwicklungsplattformen. Von AZDelivery gibt es beispielsweise gleich fünf Boards für 35 Euro, inklusive USB-Stromversorgung und Breadboard-kompatibler Bauweise, sprich sie können in handelsübliche Steckplatinen gesteckt werden.

Ein spezielles Audio-Board zur Entwicklung von Lautsprecher & Co. Quelle: Expresif

Software

Aber selbst auf einem Entwicklungsboard verbaute Chips bringen Ihnen zunächst überhaupt nichts - nicht ohne Software. Standardmäßig läuft die Entwicklung komplett über die Kommandozeile. Von Espressif benötigen Sie dazu Toolchain und API, anschließend kann es direkt losgehen. Alternativ können Sie aber auch die Arduino-Entwicklungsumgebung verwenden. (Neben dem ESP32 wird auch dessen populärer Vorgänger ESP8266 angesprochen.)

Wer Größeres vor hat, kann Projekte auch über die Eclipse-IDE realisieren, eine entsprechende Einweisung gibt es wieder bei Espressif selbst: https://docs.espressif.com/projects/esp-idf/en/latest/get-started/eclipse-setup.html.

Und was kann ESP32 nun?

Das Ganze ist nun ziemlich abstrakt und wenn man neu in der Welt der SoCs und Einplatinenrechnern ist, fragt man sich schnell: Was kann ich denn nun damit anfangen? Die Antwort mag unbefriedigend sein, aber: Im Grunde alles. Espressif gibt schon eine ganze Reihe an Anwendungsbeispielen vor. Da finden sich etwa Spracherkennung, Mesh-Netzwerke, Überwachungskameras, alles im Bereich Smart Home, smarte Überwachung in Gärtnereien, Streaming-Clients für Internet-Radio, Herzfrequenzmonitore, Smartwatches bis hin zu Service-Robotern.

Im einfachsten Fall könnten Sie schon mit drei Komponenten und wenig Entwicklungsaufwand nützliche Dinge anstellen - mal ein konkretes Beispiel: Mit Einem ESP32-PICO-KIT-Board, einem Temperatursensor und einem fernsteuerbaren Thermostat, könnten Sie bereits eine komplett automatisierte Heizungssteuerung realisieren. Code für derlei Projekte ist relativ simpel und selbst für Einsteiger zu meistern - eigentlich ist es kaum mehr als eine Abfrage in der Art "Wenn Sensor-Wert (Thermometer) gleich 20, setze Aktor (motorisiertes Thermostat) auf Wert 80".

Natürlich ist es bis zum fertigen Produkt ein wenig mehr Arbeit, aber zumindest dumme smarte Dinge eignen sich als typische Wochenendprojekte für Bastelwütige.

Eines sind ESP32-Module und -Boards definitiv nicht: Ein brauchbarer Ersatz für komplette Einplatinenrechner wie den Raspberry Pi. Der Raspi ist ein fertiges Endprodukt mit verhältnismäßig üppiger Rechenleistung, das einfach mit fertigen Images zu einem Mediacenter oder einem Router gemacht werden kann. Die ESP32-Boards sind wie Arduino-Boards eher als eingebettete Systeme vor allem für IoT-Produkte gedacht - und wenden sich somit an Bastler und Entwickler.

Der Raspberry Pi ist ein echter, kleiner Rechner - also etwas völlig anderes als ein ESP-32-Modul.