Orientierungshilfe beim Kauf von ESP32 Boards

(Aktualisiert Februar 2024)

Der ESP32 ist ein sehr beliebter Mikrocontroller in der Welt der Elektronik und des IoT (Internet of Things) und das aus mehreren Gründen.
Hier sind einige genaue technische Details und Erklärungen, warum der ESP32 so beliebt ist:

Die ESP32 Familie
Espressif hat dieses ESP32-SoC (System on a Chip) 2016 als Nachfolger der ESP8266-Serie vorgestellt.

Leistungsstarkes Single oder Dual-Core-Design: Der ESP32 verfügt über leistungsstarke Xtensa LX6-Cores, die mit bis zu 240 MHz getaktet werden. Die Dual-Core-Architektur ermöglicht eine effiziente Aufgabenverteilung und unterstützt die Parallelverarbeitung.

Integriertes WLAN und Bluetooth: Der ESP32 bietet bei fast allen Modellen sowohl WLAN (802.11 b/g/n) als auch Bluetooth /Bluetooth Low Energy (BLE) Konnektivität. Dies macht ihn ideal für drahtlose Kommunikationsanwendungen und IoT-Projekte.

Umfangreiche Peripherie: Der ESP32 ist mit einer Vielzahl von Peripheriegeräten ausgestattet, darunter GPIO-Pins, UART, SPI, I2C, I2S, ADC und DAC. Dies erleichtert den Anschluss von Sensoren, Aktoren und anderen Geräten.

Umfangreiche Bibliotheken und Community Support: Es gibt eine große und aktive Entwicklergemeinde rund um das ESP32. Dies führt zu einer Fülle von Bibliotheken, Beispielen und Ressourcen, die Entwicklern zur Verfügung stehen.

Kostengünstig und weit verbreitet: Der ESP32 ist kostengünstig, was ihn sowohl für Hobbyisten als auch für professionelle Entwickler attraktiv macht. Außerdem wird er von vielen Herstellern in verschiedenen Formfaktoren angeboten.

Unterstützung der Energieeffizienz: Der ESP32 bietet verschiedene Schlafmodi und Stromsparfunktionen, wodurch er für batteriebetriebene IoT-Geräte geeignet ist.

Offen für künftige IOT Lösungen: Protokolle wie Matter, Thread und Zigbee sind bei einigen Entwicklungsboards nun möglich.

Vielseitigkeit: Der ESP32 kann in einer Vielzahl von Anwendungen eingesetzt werden, von einfachen IoT-Geräten bis hin zu komplexen Projekten wie Smart-Home-Anwendungen, Wearables und industriellen Steuerungen.


Der Hersteller bietet den ESP32 in drei Formaten an.
Es gliedert sich in Chip, Modul und Board:

Der ESP32 – System on a Chip (weiße Umrandung) ist der intelligenter Mikroprozessor mit einer Taktung von bis derzeit 240MHz, den es sowohl in Single-Core- als auch in Dual-Core-Varianten gibt. Interessant für Hersteller und Großkunden.
Verbaut in unterschiedlichen Bauform so das entweder die DIP-Pins nach außen oder unter die Baugruppe zeigen.

Beispiel SOIC (Small Outline Integrated Circuit)


ESP-Module – erweiterte Lösung

Um diesen ESP32-Chip auch mit einen Flash-Speicher, eine Antenne und andere Komponenten zu erweitern, gibt es für Entwickler diesen auf einer Leiterplatine erstelltes Modul mit den notwendigen Schnittstellen. Dies ermöglicht eine bessere WLAN- und Bluetooth-Konnektivität, was die Reichweite und Zuverlässigkeit der drahtlosen Verbindung verbessern kann. Meist schon unter einer Metallabdeckung geschützt und abgeschirmt und auch schon mit FCC-Zertifizierung.
Um diesen in kleinen Stückzahlen Programmieren zu können, gibt es schon diverse Adapter mit USB.
Zu beachten ist, das in dieser Bauform die Lochmaske zu klein ist, um auf einem Breadboard Steckplatine zu experimentieren.

PCB Bauform
PCB Bauform mit Shield und MIFA Antenne
Adapter zum Programmieren


ESP32 Entwicklungsboards

Um dieses ESP-Modul für Entwickler und Bastler noch interessanter zu machen, gibt es unterschiedliche Entwicklungsboards mit den unterschiedlichsten ergänzenden Erweiterungen, wie USB-Schnittstelle, Stromwandler, Taster, mehrfarbigen LED, ADC, DAC , OLED-Display, usw. bis hin zum bereits vorhandenen Kamera Modul.


Unterschiedliche Varianten der ESP32 Module
Inzwischen ist die Vielzahl aller Ausführung sehr unübersichtlich geworden.
Es gibt Zusatzbezeichnungen wie ESP32-Solo, WROOM, WROWER, Mini oder Pico und auch S2, S3, C3, C6 und H2
Ob jetzt mit oder ohne WLAN, und oder ohne Bluetooth, mit welchen weiteren Funktionen erschwert ein schnelles Zugreifen.
Aber der Hersteller hat nun einen Produkt Selector online gestellt, auf der sehr übersichtlich in der passenden Produktbeschreibung recherchiert werden kann, welche Variante für das anstehende Projekt in Frage kommen würde. Unten rechts sind zu jedem Modul die „Peripheriegeräte“ zu sehen. Zusätzlich gibt es dort unter Dokumente immer das passende Referenzhandbuch und das benötigte Datenblatt.

Damit die Wahl auf ein passendes Board aber etwas deutliches wird, hier zuerst eine eher grobe Beschreibung der älteren ESP32 Modul Unterschiede, die dennoch schon eine Orientierungshilfe sein kann:

  • Einfach:
    Die Solo Module sind die günstigsten, da hier lediglich ein Single-Core-ESP32-Chip verbaut wurde. Ansonsten ausgestattet wie ein WROOM Modul.
    Bezeichnung „Solo-1“ nicht verwechseln mit Endung „S“ wie beim ESP32S. Dieser wird zB. beim ESP32-S3 verbaut und hat einen Dual-Core-Chip.
  • Standard:
    Das Standard-Modul WROOM ESP32(DA) mit dem Dual-Core-Chip hat 2 Kerne und bringt mit den oben beschriebenen zusätzlichen Funktionen, alles mit, um die meisten Projekte zum laufen zu bringen.

    Prozessor: Xtensa® Dual-Core 32-Bit LX6 CPU, Frequenz bis zu 240MHz
    WLAN: Er unterstützt 2,4-GHz-WLAN nach dem 802.11b/g/n-Standard.
    Bluetooth: Er bietet Bluetooth 4.2 und Bluetooth Low Energy Unterstützung.
    Speicher: Empfehlung interner Flashspeicher: 4 MB ( z.B das Modul auf dem Entwicklungs-Kit C V4)
    GPIO-Pins: zB. der ESP32-WROOM-DA hat 24 GPIO-Pins für die Anbindung von Peripheriegeräten.
    Update: eine aktualisierte Version wird der ESP32-S mit schnelleren LX6 CPU Kern sein, mit einigen Verbesserungen und zusätzlichen Funktionen.
  • Erweitert:
    Die Variante WROVER ist wie WROOM nur mit zusätzlichen Speicher. Somit für aufwendigere Projekte mit Luft nach oben.
    Auch mit einem Dual-Core-Chip daher kommend, hat dieser noch zusätzliche Erweiterungen, wie zum Beispiel PSRAM (Pseudo Static Random-Access Memory)
    Beim WROVER-B, -IB mit 133 MHz (3,3V) oder
    beim WROVER PCB, IPEX mit 144 MHz (1,8V) Taktrate.
    Dieser statische Zusatzspeicher ist zwar nicht so schnell wie der Flash-Speicher (da er über SPI adressiert wird), erweitert aber die Möglichkeiten um nicht weniger als 4 MB bis 8 MB. Wird dieser verwendet, können 1 bis 2 Pins für die serielle Datenübertragung belegt werden. Zum Beispiel Pin 16 und 17.
  • Kompakt:
    Der ESP32-MINI ist ein hochintegriertes, kleinformatiges Wi-Fi + Bluetooth + Bluetooth LE MCU-Modul. Es basiert auf dem ESP32-PICO-V3-02, einem System-in-Package (SiP)-Gerät, das einen 8 MB SPI-Flash, 2 MB SPI Pseudo Static RAM (PSRAM) und einen 40 MHz Kristalloszillator integriert.

    Der ESP32-PICO selbst, ist ein im Gegensatz zur oben erwähnten günstigeren Leiterplatinen-Lösungen, kompakt in einer kleineren QFN Chipgehäusebauform angeboten.
    Die Pins sind auf der Unterseite des Gehäuses angeordnet.

Es wird zum Beispiel wie hier zu sehen, auf dem Entwicklungsboard ESP32-PICO-KIT Version4 ohne Shield von Espressif verbaut.

ESP32-PICO-KIT V4


Zusatzbezeichnungen S2, S3, C3, C6 und H2
Jetzt die weiter entwickelten ESP32 Module mit unterstützenden Arduino Bibliotheken. Wobei derzeit C6 und H2 noch im experimentellen Status befinden.
Quelle: Espressif Roadmap

  • ESP32-S2: Xtensa® 32-Bit-LX7-Single Core CPU 240 MHz, 2 mal 12 Bit Analog/Digital-Wandler, 2.4 GHz WiFi, I2C, I2S, SPI, UART, USB-OTG, kein Bluetooth. Bis zu 43 GPIO Pins, Betriebsspannung 3V – 3,6 Volt. Gibt es auch als Solo oder Mini Modul.
  • ESP32-S3 Xtensa® 32-Bit-LX7-Dual-Core-Prozessor mit bis zu 240 MHz, 2 mal 12 Bit Analog/Digital-Wandler, 2.4 GHz WiFi, I2C, I2S, SPI, UART, USB-OTG, Bluetooth LE 5. Bis zu 45 GPIO Pins, Betriebsspannung 3V – 3,6 Volt. Gibt es auch als Pico, WROOM oder Mini Modul. Dieser Chip ist auch auf dem Arduino Nano ESP32 verbaut.
  • ESP32-C3: 32-Bit-RISC-V-Single-Core-Prozessor bis 160 MHz, 2.4 GHz WiFi, I2C, I2S, SPI, UART und Bluetooth LE 5, bis zu 22 GPIO Pins, Gibt es auch als WROOM oder Mini Modul. Kann statt einem ESP32 Mikrocontroller auch einen ESP8685 verbaut haben.
  • ESP32-C6:
    32-Bit-RISC-V-Single-Core-Prozessor bis zu 160 MHz, 2,4 GHz Wi-Fi 4 und Wi-Fi 6, Bluetooth LE v5.3, Thread und Zigbee und das 802.15.4-Protokoll integriert, 12 Bit Analog/Digital-Wandler, I2C, SPI, UART, Low-Power-UART, bis zu 30 GPIO Pins, Betriebsspannung 3V – 3,6 Volt, Gibt es auch als WROOM oder Mini Modul.
  • ESP32-H2:
    32-Bit-RISC-V-Single-Core Prozessor bis zu 96 MHz, kein Wi-Fi, Bluetooth 5.3 (LE), Matter, Thread und Zigbee, 12 Bit Analog/Digital-Wandler, I2C, I2S, SPI, UART, bis zu 19 GPIO Pins, Betriebsspannung 3V – 3,6 Volt, Gibt es auch als WROOM oder Mini Modul.

Einfacher Vergleich:

NameCPU 32bitWifi4/6Bluetooth (LE)Zigbee/Threadmax GPIO
ESP32 (DA)Dual-Core LX6 240MHzx/-4.2ohne24
ESP32-S2Single-Core LX7 240 MHzx/-ohneohne43
ESP32-S3Dual-Core LX7 240 MHzx/-5.0ohne45
ESP32-C3Single-Core RISC-V 160 MHzx/-5.0ohne22
ESP32-C6Single-Core RISC-V 160 MHzx/x5.3x/x30
ESP32-H2Single-Core RISC-V 96 MHzohne5.3x/x19

Man sollte sich klar darüber sein, das es zur Zeit zum Beispiel 29 ESP32-S3 Module gibt.
Somit ist die beste Empfehlung für einen Produktvergleich, den vorgestellten Produkt-Selektor von Espressif zu verwenden.


Antennen Arten

Erwähnenswert sind auch die unterschiedlichsten Antennenarten.

Sollte die auf den Board verbaute Antenne Art (MIFA, PIFA, IFA oder Ceramic) nicht ausreichend Funkstrecke bieten, gibt es auch die Baureihe U. Beispiel: ESP32 WROOM 32U
Diese ist mit einer Buche für externe Antennen (U.FL-kompatiblen Anschluss) ausgestattet.


NodeMCU
Wenn ein Entwicklungsboard die Bezeichnung “NodeMCU” trägt, so bezieht sich dies nicht auf die Hardwarekonfiguration des Boards, sondern auf die Art und Weise, wie es programmiert werden kann.

NodeMCU als Betriebssystem:
NodeMCU ist ein freies Betriebssystem für den ESP8266 Mikrocontroller und später NodeMCU ESP32 die Weiterentwicklung des ursprünglichen NodeMCU-Projekts
Es wurde unter der Lizenz des MIT entwickelt und ermöglicht den Aufbau von WLAN-basierten Netzwerken.
Programmiersprachen:
Anwendungsprogramme für NodeMCU können in verschiedenen Sprachen geschrieben werden:
Lua: Dies ist die Originalsprache für NodeMCU.
C++: NodeMCU unterstützt auch die Programmierung in C++.
Arduino IDE: NodeMCU kann in der Arduino Entwicklungsumgebung programmiert werden.


Einbindung in Entwicklungsumgebung
Damit alle diese unterstützten Varianten auch in der Arduino IDE gefunden werden können, muss eine zusätzliche Boardverwaltung URL eingetragen werden:
Stabiler Release-Link:
https://espressif.github.io/arduino-esp32/package_esp32_index.json
Experimentelle Entwicklungsversion:
https://espressif.github.io/arduino-esp32/package_esp32_dev_index.json

Einbindung in weitere Entwicklungsumgebungen siehe hier.


Problem Vermeidung:
Nicht alle der angebotenen GPIO-Pin können bedenken los verwendet werden, folgende Einschränkungen sollten beim entwickeln bekannt sein:

Der ESP32-Chip verfügt über 34 physikalische GPIO-Pins (GPIO0 bis GPIO19, GPIO21 bis GPIO23, GPIO25 bis GPIO27 und GPIO32 bis GPIO39)
GPIO-Pin Einschränkungen beim ESP32

Der ESP32-S2-Chip verfügt über 43 physikalische GPIO-Pins (GPIO0 bis GPIO21 und GPIO26 bis GPIO46)
GPIO-Pin Einschränkungen beim ESP32-S2

Der ESP32-S3-Chip verfügt über 45 physikalische GPIO-Pins (GPIO0 bis GPIO21 und GPIO26 bis GPIO48)
GPIO-Pin Einschränkungen beim ESP32-S3

Der ESP32-C2-Chip verfügt über 21 physikalische GPIO-Pins (GPIO0 bis GPIO20)
GPIO-Pin Einschränkungen beim ESP32-C2

Der ESP32-C3-Chip verfügt über 22 physikalische GPIO-Pins (GPIO0 bis GPIO21)
GPIO-Pin Einschränkungen beim ESP32-C3

Der ESP32-C6-Chip verfügt über 31 physikalische GPIO-Pins (GPIO0 bis GPIO30)
GPIO-Pin Einschränkungen beim ESP32-C6

Der ESP32-H2-Chip verfügt über 28 physikalische GPIO-Pins (GPIO0 bis GPIO27)
GPIO-Pin Einschränkungen beim ESP32-H2


Softwarelösung Espressif Zerocode:

Erste Gehversuche von Espressif, den IoT-Herstellern die drahtlosen Netzwerk Protokolle Matter, Thread und Zigbee als Automatisierungslösungen eine Zerocode Lösung anzubieten. Dies habe ich mal hier mit einem ESP32 Wroom Entwicklungsboard (Benötigten mindestens eine Chip Revision Version 3) getestet:


Video:
In diesem Video werden einige Unterschiede der ESP32 Chip/Module näher betrachtet. Ein ESP32-WROVER Kit mit OV2460 Kamera wird als Alternative zur ESP32-Cam vorgestellt und es gibt einen ersten Einblick in die finale Entwicklungsumgebung Arduino IDE 2.

Gezeigte Hardware:
Freenove Starter Kit
ESP32-Cam plus Shield
AZ-Delivery ESP32-Wroom Board
ESP32 WROOM Modul
PCB-Adapter mit USB-C

Software, Sketche und Library:
Espressif Hersteller Seite für Arduino Entwicklungsumgebung
Entwicklungsumgebung Arduino IDE 2
Freenove Tutorials

ESP32 in Arduino IDE hinzufügen:


, ,