ESP32 Boards im Vergleich

Bei den ESP32-Boards ist ein neuer Trend beobachtbar. Es gibt nicht wie beim Arduino "nur" ein Nano, Mini und Uno-Board, sondern man beginnt, sinnvolle Peripherie bereits auf der Platine zu integrieren, z. B. ein OLED-Display oder ein LoRaWAN (Long Range Wide Area Network) - Chip und Antenne. So spart man sich die Anschlussarbeit und bekommt ein besonders kompaktes Gerät.

Der Nachteil: man sollte schon vorher wissen, welches Projekt man angeht und was man dafür braucht, sonst hat man für etwas bezahlt, was man am Ende gar nicht braucht und das einem Anschlussmöglichkeiten raubt.

Ich will hier ein paar Boards vorstellen, die eine sinnvolle Kombination von Komponenten integrieren.

ESPDUINO-32 (UNO-Format)



Sozusagen in guter alter Tradition gibt es auch ein ESP32-Board im Uno (Arduino) bzw. Wemos D1 (ESP8266) Format. Der Formfaktor ist der selbe. USB-Buchse und Spannungswandler befinden sich ebenfalls bereits auf dem Board. Meine Version des ESP32-Boards im Uno-Format wurde vom Hersteller "ESPDuino-32" getauft, es gibt aber sicher auch Boards mit ähnlichem Namen, die baugleich sind.

Features: Preise (Stand März 2020):
Auch sollten von den mechanischen Maßen Arduino-Uno-Header-Boards (sogenannte Shields) auf den ESPDuino-32 passen. Man hat sich sogar bei der Belegung der Pins Mühe gegeben, dass diese kompatibel sind. Die Analog-In-Ports liegen weiterhin unten rechts. Und auch die Spannungsversorgungspins mit GND, 3.3V und 5V liegen an der richtigen Stelle. Hier muss man allerdings beachten, dass der ESP32 auf 3.3V und nicht wie der Arduino auf 5V ausgelegt ist. Die 5V Schiene sollte also beim ESPDuino-32 ungenutzt bleiben.

Bei den digitalen Pins herrscht auch weitgehende Kompatiblität: das serielle Transmit (TX) und Receive (RX) sind an gleicher Stelle. Allerdings sind beim ESPDuino-32 die I2C-Pins ganz oben links und nicht auf den Arduino-typischen A4/A5-Pins, die gegenüber, ganz unten rechts liegen.

Die meisten Arduino-Uno-Header-Boards sollte man aber benutzen können, muss aber gegebenenfalls den Code dafür anpassen und auch auf ausschließliche Verwendung von 3.3V Bauteilen achten bzw. entsprechende Spannungsteiler-Schaltungen oder Logic Level Converter einsetzen.

WEMOS LOLIN32 (Nano-Format mit Akku-Anschluss)




Etwas breiter und etwa tiefer als ein Arduino Nano oder eine STM32 Blue-Pill, nämlich mit 58.5 x 26.9 x 7 mm kommt das vorbildlich beschriftete Lolin32-Board von Wemos daher. Es passt gerade noch so auf ein Midi (400er) oder Maxi (830er) Breadboard - es bleibt gerade noch eine Pinreihe ober- und unterhalb des Lolin32 frei zum Einstecken von Jumper-Kabeln.

Die Header-Stiftleisten kamen bei mir beiliegend und nicht angelötet mit, so dass ich selbst entscheiden kann, ob ich die Header nach unten oder unten für Jumperkabelgebrauch - oder die Kabel direkt anlöten will.

Features: Preise (Stand März 2020): Als besonderes Feature ist die 2-Pin-JST-Buchse anzumerken, an die man direkt einen Lithium-Ionen-Akku mit 3.6-3.7 V zur Spannungsversorgung des Boards einstecken kann, zum Beispiel der Bauform 18650. Eventuell kann man den Akku dann auch direkt über die Micro-USB-Buchse laden, das kommt aber auf die Board-Revision an. Viele nennen einen maximalen Ladestrom von 500 mA.
Download des Pinout als PDF


Nano Board mit integriertem OLED Display




Mit 64.2 x 27.6 x 7.8 mm ist dieses Board noch etwas breiter und schlimmer - tiefer als das Lolin32. Damit passt es nur noch so auf ein Midi (400er) oder Maxi (830er) Breadboard, dass nur noch auf einer Seite eine Pinreihe frei zum Einstecken von Jumper-Kabeln bleibt. Dabei wird man sich wohl für die obere entscheiden, weil diese mehr IO-Pins bietet und auch die volle Stromversorgung.

Die Header-Stiftleisten kamen auch hier beiliegend und nicht angelötet mit, so dass ich selbst entscheiden kann, ob ich die Header nach unten oder unten für Jumperkabelgebrauch - oder meine Leitung direkt anlöten will.

Features: Preise (Stand März 2020):
Download des Pinout als PDF


Ein OLED zur Anzeige irgendwelcher Zustände benötigt man sehr häufig. Hier ist es gleich platzsparend auf der Platine mit drauf. Obwohl es auch kein Hexenwerk ist ein I2C-OLED mit SD1306 über 2 Stromversorgungsleitungen und 2 Datenleitungen schnell mal anzuschließen.

OLEDs neigen dazu, mit der Zeit auszubrennen. Sollte es dazu kommen, weil man zum Beispiel eine 24/7 Anzeige hat, dann wird man sich ärgern, dass der Austausch hier nicht so einfach vonstatten gehen wird wie bei einem externen OLED. Wir aber nur etwas bei Aktion (Tastendruck oder dergleichen) ausgegeben, dann hält ein OLED schon ziemlich lange. Es kommt eben auf den Anwendungsfall drauf an, ob das fest verbaute OLED sinnvoll ist.

TTGO T3 LoRaWAN OLED ESP32 (Nano-Format)



Das T3 Board mit integriertem LoRaWAN, SD-Cardreader und OLED Display misst 65.6 x 27 x 14 mm ist dieses Board noch etwas breiter und schlimmer - tiefer und höher als das Lolin32. Damit passt es nur noch so auf ein Midi (400er) oder Maxi (830er) Breadboard, so dass nur noch auf einer Seite eine Pinreihe frei zum Einstecken von Jumper-Kabeln bleibt. Dabei wird man sich wohl für die obere entscheiden, weil diese mehr IO-Pins bietet und auch die volle Stromversorgung.

Wenn man es ganz rechts am Breadboard positioniert, damit der externe Antennenanschluss nicht aufliegt, sind immer noch die 3.6 mm der LoRa-Antenne zum Breadboard zu überbrücken, wozu man wohl extra lange Stiftleisten benötigt. Außerdem ist es aus einem weiteren Grund keine gute Idee, die Header nach unten zeigend anzulöten. Denn dann würde man an das Flachbandkabel des OLED aus Plastik kommen und evtl. beim Einlöten zerstören. Auf der Unterseite (nicht OLED-Seite) lässt sich aber ganz gut löten. Nach oben stehende Headerpins neben dem OLED wären also möglich. Nur dann bekommt man wieder Probleme mit einem Gehäuse, weil dann die Header-Pins im Weg sind. Am besten, man lötet zusätzliche Anschlusskabel direkt an der Unterseite an.

Nichtsdestotrotz liegen Header-Stiftleisten dabei und außerdem ein passender Anschlussstecker für einen Akku.

Features: Preise (Stand März 2020) - Wichtig: für Deutschland die 868 MHz-Version für LoRa-WAN bestellen:

ODROID-Go (mobile Spielekonsole)



Der Odroid-Go ist eigentlich kein ESP32-Board im engeren Sinne, sondern als mobile Spielekonsole konzipiert. Nichtsdestotrotz wird sie von einem ESP32 angetrieben. Zudem sind 10 Ports herausgeführt (davon 6 IO).

Damit kann man den Odroid-Go (stelle ich hier vor) auch als ESP32-Plattform sehen, die man programmieren kann (GPIO Pinout und Library Funktionen erkläre ich hier). Auch dazu können wir die gewohnte Arduino-IDE (Einrichtung der IDE erkläre ich hier) benutzen. Die beim Kompilierte erzeugte Datei müssen wir dann allerdings noch zu einer Odroid-Go-Firmware umwandeln und auf den Odroid-Go hochladen (wird hier erklärt).

Damit kann man den Odroid-Go auch als ESP32 Entwicklungsplattform sehen, die TFT-Display, Lautsprecher, SD-Kartenlesegerät, Knöpfe und Akku bereits integriert hat.

Features: Als Beispiel, wie man die Komponenten sinnvoll verwenden kann, lege ich euch meinen Artikel GY-521 Modul mit MPU-6050 Gyroskop/Beschleunigungssensor-Chip über I2C-Bus an Odroid Go ESP32 anschließen ans Herz, mit dem ich eine Wasserwaage und einen Beschleunigssensor realisiert habe.

Preise (Stand März 2020):

Video

In dem folgenden Video stelle ich die unterschiedlichen Boards noch einmal in bewegtem Bild und mit Ton dar. Es bietet noch ein paar zusätzliche Informationen: