Der NodeMCU V3 Mikrocontroller auf Basis des ESP8266 Chips ist für mich erstmal die Entdeckung geworden in 2020. Hier stelle ich ihn dir vor und zeige dir wie meine ersten Schritte und Projekte damit ausgesehen haben.

Durch meine lange Geschichte mit Arduino und 3D Druckern habe ich da bisher nicht weiter über den Tellerrand geschaut. Es gab eben Arduino mit 8Bit und wenn mehr nötig war die "armen" Einplatiner aus der Raspberry-Serie.

Durch meines neues Thema Hydroponik bin ich aber auf schlaue und vernetzte Sensoren angewiesen. Billig und sparsam sollen sie natürlich auch sein. Und so bin ich auf den ESP8266 gestoßen mit WIFI bereits eingebaut und das zum Preis von ca. 3 Euro pro Stück. Besser gehts gar nicht, dachte ich mir.

Doch es geht besser: Die NodeMCU V3 Platinen beherbergen eben diesen ESP8266 mit zahlreichen netten Komfort-Features und jeder Menge GPIO Ports zum Anschluss von Sensoren und Schaltern. Noch dazu bringen sie einen Spannungsregler samt USB-Buchse mit und haben somit kein Problem mit den haushaltsüblichen 5 Volt. Die benötigte Spannung von 3,3V auf der Platine regelt das gute Stück einfach selber ein.

Ein kleines Gehäuse für das Board und einen Sensor war schnell gestaltet in Fusion 360:

NodeMCU V3 Gehäuse
Ein Gehäuse für den NodeMCU V3 und zusätzlich einen kleinen Sensor. Dieses habe ich mit dem 3D Drucker in knapp 45 Minuten ausgedruckt.

Features

Mit und um den NodeMCU V3 gibt es jede Menge Features, die zumindest mein Herz höher schlagen lassen. Hier mal die wichtigsten Dinge. Danach bist sicher auch du angefixt :-)

Progammierbar mit Arduino und LUA

Ok LUA, ist jetzt nicht so meins (Geschmackssache). Aber die Syntax aus der Arduino IDE ist weit verbreitet und damit komme ich gut zu Recht. Auch Anfänger haben da gute Einstiegsmöglichkeiten dank einfacher Syntax und unzähligen Beispielen die oft schon mit Bibliotheken mitgeliefert werden. Spätestens wenn du den Browser aufmachst, wirst du fündig, egal was du vorhast!

ESP Easy Mega Firmware

Noch einfacher und ganz ohne Programmierung geht es auch. Und zwar dank der Jungs hinter ESP Easy Mega. Dabei handelt es sich um eine Custom Firmware für den ESP8266. Diese ist für eine Vielzahl von Boards geeignet und auch uneingeschränkt zum NodeMCU V3 kompatibel.

ESP Easy Mega wird komplett per Weboberfläche konfiguriert und ist durchaus für den technisch versierten Laien geeignet. Dazu bringt die Firmware bereits vollständige Integration für MQTT mit und viele der gängigen Sensoren müssen nur angesteckt und per Weboberfläche konfiguriert werden. Das bekommt wirklich jeder hin. Mein Versuch mit einem BME280 hat auf Anhieb gut funktioniert.

Konfigurierter Sensor auf ESP Easy Mega - Plug & Play
Konfigurierter Sensor auf ESP Easy Mega - Plug & Play

Website: letscontrolit.com

4 MB ROM Speicher

Eigentlich schon lustig, dass man sich in 2020 noch über 4 MB Speicher freuen kann. So kürzlich mir passiert. Wer mal versucht hat, ohne SD-Karte mit einem Arduino einen Webserver aufzusetzen wird mich verstehen. 4 MB sind da eine ganz andere Hausnummer und in Kombination mit dem integrierten Wi-Fi und der Arduino-Bibliotheken ein Traum. Für Projekte wo die Rechenleistung von 80-160MHz ausreicht, sollte Speicher da jedenfalls nicht der Flaschenhals werden.

Zwar gibt es andere Platinen auf Basis des ESP8266 mit nur einem Megabyte, meine Version auf Basis NodeMCU V3 haben allerdings 4 MB.

Varianten mit CH340 und CP2102

Von den NodeMCU V3 Boards gibt es viele Varianten und Klone. Was man beachten sollte, sind die unterschiedlichen Chip-Varianten.

Beide Varianten des NodeMCU
Die 2 Varianten unterscheiden sich in der Praxis vor allem in der Größe (meine Meinung)

Die Boards auf Basis des CH340 sind etwas größer und sind die Vorgänger-Version zu den Varianten mit CP2102 Chip. Ansonsten sind die Unterschiede für alle Nicht-Fanatiker aber nicht sonderlich groß.

Die Varianten auf Basis CP2102 sind etwas kleiner und lassen sich besser auf ein Breadboard stecken. Ansonsten hat sich am WIFI etwas getan und ein paar andere kleinere Dinge. Da die Boards mit CP2102 rund 20 % mehr Kosten als die Vorgänger-Varianten mit CH340 habe ich die älteren genommen. Das muss jeder selber entscheiden und macht am Ende des Tages wohl keinen großen Unterschied.

Wenn du dir allerdings wie ich gleich mehrere holst, sparst du mit den älteren schnell einen Sixpack Bier auf die Seite :-)

Erste Schritte - kleine Wetterstation

Um die NodeMCU V3 mal anzutesten, habe ich mir 3 Stück bestellt und dazu passende Temperatur-Sensoren auf Basis des Bosch BME280 Chips.

Im Prinzip kannst du damit schon eine kleine Wetterstation aufbauen. Die BME280 liefern Daten zu Temperatur, Feuchtigkeit und Luftdruck und sind schön winzig. Noch dazu sind sie deutlich genauer als DHT-11 oder DHT-22 Sensoren, welche grade bei der Luftfeuchtigkeit oft "fantastische" Werte liefern. Schneller und zuverlässiger sind sie auch, beim vergleichbaren Preis also Bargain.

Wenn du beides hast, musst du dich entscheiden, ob gleich mit Arduino programmieren oder lieber erstmal (oder gleich) mit ESP Easy Mega aufbauen.

Ich habe zwar beides ausprobiert in genau dieser Reihenfolge, aber bin schlussendlich bei ESP Easy Mega geblieben. Komfortabler gehts nicht und mehr als die Sensoren per MQTT auslesen brauche ich aktuell nicht. ESP Easy Mega unterstützt natürlich neben MQTT auch alle anderen denkbaren Möglichkeiten, um an die Daten zu kommen. Unbedingt ausprobieren, geniales Projekt!

Treiber installieren

Für die Variante mit CH340 bekommst du einen Windows-Treiber bei arduined.eu

Ansonsten einfach mal im Internet suchen. Treiber gibt es für alle gängigen Betriebssysteme. Mac-Treiber und Linux-Treiber

Variante 1 per Arduino IDE

Für einen ersten Versuch habe ich diese Anleitung für eine kleine Wetterstation gefunden. Nichts was ich auf Dauer haben wollen würde, aber für einen ersten Test von Board uns Sensor völlig ausreichend. Die oben verlinkten Sensoren haben standardmäßig 0x76 als i2C-Adresse, daher passte das ganz gut und man muss nichts anpassen.

Variante 2 per ESP Easy Mega Firmware

Mit ESP Easy Mega geht es besonders einfach einen Versuch aufzubauen. Als Erstes musst dir dafür den aktuellen Release auf Github besorgen. Ich habe die Version vom 22.02.20 verwendet.

Mit den beiliegendem Flashtool kannst du direkt die Firmware flashen. Dabei  braucht man sonst nichts Weiteres. Achte darauf, den richtigen COM-Port auszuwählen im Tool.

Für das oben verlinkte Board habe ich folgende Einstellungen verwendet:

NodeMCU V3 Settings in Esp Easy Mega Flash Tool
NodeMCU V3 Settings in Esp Easy Mega Flash Tool

Nach dem Flashen der Firmware schaust du im "serial monitor" nach der IP im Netzwerk. Diese kannst du im Browser aufrufen und du kommst auf die Weboberfläche.

Schau dich dort mal um. Kaputt machen kannst du nichts und ansonsten einfach die Firmware wieder neu flashen.

Der ist der Einrichtung ist so einfach, das ich hier aufhöre mit erklären. Schau dir aber gerne den Artikel zu MQTT in Home Assistant an für weitere Ideen.

Sollte die Verbindung nicht auf Anhieb geklappt haben, macht der NodeMCU V3 eine Accesspoint auf mit SSID esp_0. Das Standard-Passwort lautet "espconfig"

Verkabelung

Da die Bibliotheken meist die gleichen sind, ist es nicht verwunderlich das für beide Varianten die Verkabelung gleich ist.

NodeMCU V3 Verkabelung mit BME280
NodeMCU V3 Verkabelung mit BME280

Fazit

Um den Preis und mit dem Ökosystem drum herum ist für der NodeMCU meine größte Entdeckung in diesem Jahr. Seit ich ihn kenne und habe, ärgere ich mich über die teuren Arduinos die hier noch rumliegen. Noch mehr aber, dass ich ihn nicht schon früher gefunden habe.

Nutzt du schon Controller mit ESP8266? Schreib gerne einen Kommentar!

Viele Grüße
TM