Meine ESP8266 / ESP32 -Projekte

Die Mikrocontroller ESP8266 und sein Nachfolger ESP32 sind 32bittig und kommen von der chinesischen Firma espressif. Sie sind echte Kraftpakete und Alleskönner. Sie haben einen hohen Takt, viel Speicher und bringen schon WLAN und Bluetooth mit. Das schlägt sich allerdings auch im Preis nieder.

Günstiger ist der Arduino, ein bei Bastlern sehr beliebter Mikrocontroller, der eine große Fan-Gemeinde hat. Die Möglichkeit, seine Analog und Digital-Pins Elektronikbauteile direkt anzusteuern und sein günstiger Preis machen ihn darum zu einer tollen Plattform, um Elektronikspielereien zu verwirklichen. Außerdem verbraucht er nur unwesentlich Strom.

Mein erster Arduino Uno lag eigentlich nur als "Beiwerk" in einem Starter-Set, dass ich mir für meinen Raspberry Pi gekauft habe. In gewissen Dingen hat er aber Vorteile gegenüber dem Raspi wie Preis, Leistungsaufnahme, keine Bootzeit, analoge Eingänge von Haus aus. Deshalb gewinne ich diese Plattform zunehmend lieb.

Für ein paar Euro hat man sich eine Schaltung zusammen gelötet und den Mikrocontroller programmiert, wo früher ein Rechner abgestellt werden musste. Der geringe Stromverbrauch macht 24/7 Anwendungen möglich.

Mittlerweile benutze ich aber noch lieber die sogenannte Blue Pill mit STM32-Chip. Der STM32 liegt in der gleichen Preisklasse wie der Arduino, bietet aber mehr als doppelt soviel Geschwindigkeit und Speicher wie der Arduino und eine Echtzeituhr on board. Auch ist er schon 32bittig. Programmiert wird er über die gleiche Entwicklungsumgebung, wenn vielleicht auch nicht ganz so komfortabel, aber auch dafür gibt es Abhilfe, wie ich in einem meiner Projekt zeigen.

Den ESP-8266 und seinen aktuellen Nachfolger ESP-32 sehe ich als nächste Leistungsgeneration, der die Lücke zu noch leistungsfähigeren (aber auch preislich und stromverbrauchstechnisch höher gelegenen Regionen) SOC-Systemen wie den RaspberryPi schließt.

Für viele Anwendungen ist der STM32 völlig ausreichend, manchmal, wenn es mehr auf einen geringen Stromverbrauch ankommt als auf Leistung ist sogar ein Mikrocontroller mit AT Tiny die erste Wahl. Benötigt man WLAN oder Bluetooth, etwa für ein IOT-Gerät, dann lohnt sich bereits ein ESP 8266 oder ESP 32.

Mit anderen Worten: für jede Anwendung gibt es die richtige Plattform, von klein, stromsparend und eher langsam bis hin zu schnell und kraftvoll. So wird die Lücke bis zum Einplatinencomputer wie dem RaspberryPi breitbandig ausgefüllt, die wiederum (fast) die Lücke bis zum PC ausfüllen.

Während es beim Arduino immer nur die Kombination Mikrocontroller-Platine (Arduino Uno, Mini Pro, Nano etc.) und weitere Module (Sensoren, Anezigen etc.) gab, geht man beim ESP 32 nun zu integrierten Modulen. So gibt es ESP-32 mit bereits aufgelötetem (und angeschlossenen) OLED oder mit LoRaWAN (Long Range Wide Area Network) - Chip und Antenne. So spart man sich die Anschlussarbeit und bekommt ein besonders kompaktes Ergebnis. 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 einem Anschlussmöglichkeiten raubt.

Es gibt aber nach wie vor ESP 8266 und ESP 32 Platinen im alt bekannten Uno und Nano-Format.

Bereits realisierte Projekte (Neueste zuerst, älteste und Grundlagen zuletzt)

ESP8266 mit MT8808 8x8 Analog Switch Array als VC20/C64-Tastatur-Emulator über WLAN

Ich habe VC20 und C64 leider nur noch als nackige Platinen, ohne Gehäuse oder Tastatur.

Statt mir eine Tastatur für die Home-Computer zu kaufen, bin ich auf die Idee gekommen, mit einem ESP8266 und einem MT8808 8x8 Analog Crosspoint Switch Array Chip eine Tastatur zu emulieren - über WLAN.
Vorstellung des ESP8266-Boards NodeMCU und Vergleich mit Wemos D1 Mini

Neulich bin ich über das ESP8266-Board NodeMCU gestolpert. Das Format erinnert mich gleich an das vom ESP32 Lolin 32. Auf den ersten Blick scheint es mehr Anschlüsse zu haben. Aber ist es auch wirklich besser?
Taugt Visual Studio Code mit Platform IO als Ersatz für die die Arduino IDE?

Heute stelle ich Visual Studio Code mitsamt der PlatformIO vor - eine fortgeschrittene Entwicklungsumgebung zur Programmierung von Mikrocontrollern und gehe der Frage nach, ob sich der Umstieg lohnt. Dabei portieren ich ein Projekt aus der Arduino IDE zu VS Code und zeige Fallstricke auf.
Vorstellung des ESP8266-Boards D1 mini

Ich stelle das ESP8266 Wemos D1 mini Board vor, dass einen Formfaktor etwas breiter und kürzer als der Arduino Nano hat. In dem Beispiel-Projekt hole ich die Zeit über NTP aus dem Internet und zeige sie auf einem am I2C-Bus angeschlossenen OLED an.
Analog-Digital Wander ADS1115 als Voltmeter am ESP32 (ESP32 OLED)

Statt zu einem Oszilloskop auf dem Odroid-Go soll das letzte Projekt zu einem Voltmeter mit Kurzhistorie als Balkengrafik erweitert werden. Dazu nehmen wir das ESP32 OLED-Boards her. Bei der Gelegenheit lernen wir gleich dessen Eigenarten kennen und wie man es programmiert.
Analog-Digital Wander ADS1115 als Voltmeter am ESP32 (Lolin32)

Heute geht es um den ADS1115, ein Analog-Digital-Wandler mit 16 Bit Auflösung. Eigentlich war das Projektziel, damit ein Oszilloskop auf dem Odroid-Go zu programmieren, aber seine max. 860 SPS sind dafür nicht ausreichend. Aber als recht genaues Voltmeter taugt der Chip schon. Dafür reicht aber auch erstmal ein Lolin32 Board.
Kopfhöreranschluss für den Odroid-Go nachrüsten

Was dem Odroid-Go in seiner Funktion als Spielekonsole fehlt, ist ein Kopfhöreranschluss. Möchte man während der Zugfahrt eine Runde zocken, möchte man natürlich Sound, aber gleichzeitig nicht unangenehm auffallen und seine Mitreisenden stören. Dumm, dass der Odroid-Go da nur einen Lautsprecher hat. Also rüsten wir heute den Odroid-Go mit einem Kopfhöreranschluss auf.
ESP32 Boards im Vergleich

Bei den ESP32-Board ist ein neuer Trend beobachtbar: man beginnt, sinnvolle Peripherie bereits auf der Platine zu integrieren, z. B. ein OLED-Display oder ein LoRaWAN. Ich stelle ein paar der Boards vor und erkläre ihre Vor- und Nachteile.
ESPDUINO-32 Ersteinrichtung

Mit dem ESP32 hat der chinesische Hersteller espressif 2016 den Nachfolger des ESP8266 vorgestellt. Mittlerweile ist der Mikrocontroller in erschwingliche Preisregionen vorgerückt. Ich stelle das Board ESPDUINO-32 vor und erkläre, wie man es zusammen mit der altbekannten Arduino-Entwicklungsumgebung programmiert.
GY-521 Modul mit MPU-6050 Gyroskop/Beschleunigungssensor-Chip über I2C-Bus an Odroid Go ESP32 anschließen

Heute nutze ich den Odroid-Go mit ESP32 zum ersten Mal als Hardware-Plattform und schließe einen eigenen Sensor an. Ich habe mir dazu einen Beschleunigungssensor MPU-6050 auf GY-521 Modul ausgesucht. Die per I2C Protokoll ausgelesenen Werte visualisiere ich auf dem Odroid-Display.
Odroid Go mit Arduino programmieren: GPIO Pinout und Library Funktionen

Ich erkläre und zeige anhand von Beispielprogrammen, wie man die API-Funktionen nutzt, um Display, Lautsprecher, Akku, Tasten. WLAN und Bluetooth des Odroid-Go zu nutzen.
Odroid Go (ESP32 Gameboy Clone) mit Arduino IDE programmieren

Der ESP32-Gameboy-Clone Odroid-Go bietet nicht nur eine mobile Konsole sondern auch eine prima Plattform für Mikrocontroller-Entwicklungen, denn er bringt Bildschirm Lautsprecher, SD-Karte, Akku und Eingabeknöpfe gleich mit. Ich zeige, wie man mit der Arduino IDE programmierte, eigene Firmware auf ihn bringt.
ESP8266 - Ersteinrichtung

Genau wie der ATMEGA des Arduino ist der ESP8266 ein Mikrocontroller. Dieser übernimmt die Hauptaufgabe, ein WLAN mit Allem, was dazu gehört, zu realisieren und war ursprünglich als Erweiterungsmodul vorgesehen, dem Arduino & Co. WiFi beizubringen. Doch der ESP8266 ist auch ein vollwertiger Mikrocontroller, der mit der Arduino-IDE programmiert werden kann.