ESP32
Der ESP32 ist eine kostengünstige und mit geringem Leistungsbedarf ausgeführte 32-Bit-Mikrocontrollerfamilie der chinesischen Firma Espressif, die im Jahr 2016 vorgestellt wurde. Die Mikrocontroller sind mit einfach zugänglichen freien Softwareumgebungen wie Arduino programmierbar, oder sogar vollständig ohne Programmierkenntnisse mit ESPHome. Dies ermöglicht den einfachen Aufbau und die Vernetzung von netzwerkbasierten Aktuatoren und Sensoren, und hat zu einer weiten Verbreitung der ESP32-Mikrocontroller in der Hobbyelektronik geführt. Die Bezeichnung ESP32 alleine bezieht sich entweder auf die gesamte Produktfamilie, oder ausschließlich auf den ESP32 genannten Mikrocontroller erster Generation.
Je nach Modell gibt es wesentliche Unterschiede in der Leistungsfähigkeit und Funktionalität der Mikrocontroller. Sie bestehen intern entweder aus einem oder zwei Prozessorkernen der Xtensa-Architektur von Cadence (ehemals Tensilica), oder seit 2021 auch mit RISC-V-Kernen (C-Serie und P4) und arbeiten mit einem anpassbaren Systemtakt von maximal 160 bis 360 MHz. Der interne RAM weist eine Größe von 272 bis 768 KiB auf, kombiniert mit einem internen Festwertspeicher (ROM), der einen unveränderlichen Bootloader enthält. Wie der Vorgänger ESP8266 besitzen die meisten Modelle aus der Familie ESP32 keinen internen Flash-Speicher für die anwendungsspezifische Firmware. Diese wird in einem externen, seriellen Flash-Speicher abgelegt, der über dedizierte Pins an den Prozessor angeschlossen wird und durch Cache beschleunigt wird. Die meisten Modelle unterstützen Flash-Größen von 1–16 MiB und SPI-Geschwindigkeiten bis 80 MHz.
Die ESP32-Familie weist diverse Peripherieschnittstellen auf, unter anderem stehen mehrere UARTs, SPI-, CAN-, PWM- und I²C-Schnittstellen, ein RMT genanntes FSK-Modul für Infrarotschnittstellen, ein integriertes Wireless Local Area Network (WLAN nach IEEE 802.11 b/g/n), das auch Bluetooth und je nach Modell 802.15.4 (ZigBee, Thread und Matter) unterstützt, und eine Ethernet-Schnittstelle über das Media Independent Interface (MII) zur Verfügung. Als analoge Schnittstellen sind diverse Möglichkeiten vorgesehen, wie Analog-Digital-Umsetzer und Digital-Analog-Umsetzer für die Verarbeitung analoger Signale und eingebaute Sensoren, oder ein integrierter Hall-Sensor zur Messung der magnetischen Flussdichte sowie Kapazitätsmesser für Berührungssensoren. Intern besitzen die Mikrocontroller eine kryptografische Einheit zur Hardwareunterstützung von Verschlüsselungsverfahren, beispielsweise dem Advanced Encryption Standard (AES); ihr Einsatz allerdings bewirkt in bestimmten Fällen (wie dem RSA-Kryptosystem und damit dem wichtigen HTTPS-Protokoll) eine Verlangsamung statt einer Beschleunigung. Weiterhin enthalten manche Modelle einen Koprozessor mit geringem Stromverbrauch, der zwar mit ca. 16–40 MHz eine vergleichsweise niedrige Taktfrequenz aufweist, aber neben einer Echtzeituhr auch die Abfrage von Sensordaten im Bereitschaftsbetrieb erlaubt.
Die ESP32 sind in den Chipgehäusen Quad Flat No Leads Package (QFN) untergebracht und werden im Handel meistens auf kleinen Modulen unter Bezeichnungen wie ESP-WROOM vertrieben. Diese halbfertigen, eigentlich als Entwicklungsboard gedachten Leiterplattenmodule umfassen neben dem Prozessor und einem seriellen Flash-Speicher für die Firmware auch die Antenne sowie eine Stromversorgung; sie bieten im Vergleich zu einem nackten QFN einen niedrigschwelligen Zugang bspw. für Prototypen, Hobbyelektronik und Kleinserien.
Hauptplattform für die Softwareentwicklung ist ein Software Development Kit (SDK) unter MIT-Lizenz namens ESP-IDF, basierend auf FreeRTOS, welches die Programmierung in C, C++ und (inoffiziell) Rust ermöglicht. Offiziell unterstützt wird weiterhin die Softwarebibliothek esp-rs für die Entwicklung in Rust. Von anderen Entwicklern werden weiterhin verschiedene Entwicklungsplattformen zur Verfügung gestellt, einschließlich Arduino (C++), MicroPython (Python), NodeMCU und Lua RTOS (beide Lua) oder ESPHome.
- ↑
- ↑
- ↑ Heap Memory Allocation. Espressif Systems, archiviert vom am 14. Juli 2019; abgerufen am 3. September 2019 (englisch).
- ↑
- ↑
- ↑
- ↑ ESP-IDF Programming Guide - ESP32 - — ESP-IDF Programming Guide v5.5.1 documentation. Abgerufen am 18. September 2025.
- ↑ esp-rs. Abgerufen am 18. September 2025 (englisch).
- ↑
- ↑