Skip to Content

NodeMCU ESP8266 im Vergleich zur Arduino UNO Platine

NodeMCU ESP8266 im Vergleich zur Arduino UNO Platine

Dieser Artikel gibt dir alle wichtigen Informationen zum Pinout und den Unterschieden zwischen NodeMCU ESP8266 und Arduino UNO Boards.

Ich habe ein detailliertes Pin-Diagramm der NodeMCU ESP8266 und des Arduino UNO beigefügt.

Nach diesem Artikel weißt du, wie du das Arduino UNO und das ESP8266 Board mit der Arduino IDE verwendest und kennst die technischen Unterschiede zwischen den beiden Boards.

Benötigte Materialien

Hardware-Komponenten

Arduino Uno Rev3 Amazon
NodeMCU ESP8266 Amazon

Software

Arduino IDE Arduino IDE

Makerguides.com ist Teilnehmer des Amazon Services LLC Associates Program, einem Partnerprogramm, das dazu dient, durch Werbung und Verlinkung zu Amazon.com Werbekostenerstattungen zu verdienen.

Was ist der Unterschied zwischen NodeMCU und ESP8266?

Das NodeMCU ESP8266 ist ein stromsparender 32-Bit-Mikrocontroller mit integriertem Tensilica 32-Bit RISC-Prozessor, der mit 160 MHz getaktet ist und ein integriertes WiFi-Modul besitzt.

Das Arduino UNO ist das beliebteste Board für Einsteiger. Das Arduino UNO basiert auf dem ATmega328P 8-Bit-Mikrocontroller, der mit 16 MHz getaktet ist.

Der Mikrocontroller des Arduino UNO arbeitet mit 5V Logik, und alle Pins sind 5V-tolerant.

Es verfügt über 2 KB RAM, 32 KB Flash-Speicher für Programme und 1 KB EEPROM für Parameter.

Spezifikationen von NodeMCU ESP8266 und Arduino UNO

Funktion Beschreibung  (NodeMCU ESP8266) Beschreibung  (Arduino UNO)
Mikrocontroller Tensilica 32-bit Xtensa LX106 ATmega328P
Flash-Speicher 4 MB 32 KB (0,5 KB werden für den Bootloader verwendet)
SRAM 128 KB 2 KB
EEPROM Nicht verfügbar512 Bytes (Software) 1 KB
Taktfrequenz 80 MHz oder 160 MHz 16 MHz
Betriebsspannung 3,3V DC 5V DC
Eingangsspannung 7-12 DC 6V-20V DC
Stromverbrauch 15 µA – 400 mA 45 mA – 80 mA
DC-Strom pro I/O-Pin 12 mA 40 mA
Digitale IO-Pins 17 14
Analoge Eingänge 1 6
UARTs 2 1
SPI 2 1
I2C 1 1
PWM 4 6
WiFi Ja Nein
Bluetooth Nein Nein

Pin-Vergleich von NodeMCU ESP8266 und Arduino UNO

Du kannst das NodeMCU ESP8266 Schematic Diagramm für weitere Details zu den Komponenten auf dem ESP8266-Board ansehen.

Das Pin-Diagramm des ESP8266 ist unten dargestellt.

Pin Diagram of ESP8266
Pin-Diagramm des ESP8266

Du kannst auch das Arduino Uno Schematic Diagramm für Details zu den Komponenten auf dem Arduino UNO Board ansehen.

Das Pin-Diagramm des Arduino UNO ist unten dargestellt.

Pin Diagram of Arduino UNO
Pin-Diagramm des Arduino UNO

Stromversorgung

Du kannst eine geregelte 5V DC-Spannung verwenden, um den ESP8266 zu betreiben. Interne Spannungsregler wandeln diese 5V auf 3,3V DC um, da das NodeMCU ESP8266 mit 3,3V Logik arbeitet. 

Der VIN Pin kann das NodeMCU ESP8266 und seine Peripherie direkt mit einer geregelten 5V-Spannungsquelle versorgen.

Die 3.3V Pins sind der Ausgang eines Onboard-Spannungsreglers.

Diese Pins können verwendet werden, um externe Komponenten mit Strom zu versorgen.

Power Supply of ESP8266 (NodeMCU ESP8266 Vs. Arduino UNO Board_
Stromversorgungs-Pins

Ebenso wird beim Arduino UNO die Eingangsspannung (VIN) verwendet, um eine externe Stromversorgung von 5V bis 9V DC bereitzustellen.

3.3V und 5V Pins sind der Ausgang des Onboard-Spannungsreglers.

Der maximale Strom beträgt 50mA. GND steht für die Masseanschlüsse von NodeMCU ESP8266 und Arduino UNO.

Power Supply of Arduino UNO (NodeMCU ESP8266 Vs. Arduino UNO Board)
Stromversorgungs-Pins

General Purpose Input Output (GPIO) Pin

Das NodeMCU ESP8266 hat 17 GPIO-Pins, die als digitale Eingänge oder Ausgänge verwendet werden können. Sie können auch für verschiedene Funktionen wie I2C, SPI, UART, PWM programmatisch genutzt werden.

Jeder digitalfähige GPIO kann als interner Pull-up, Pull-down oder hochohmig konfiguriert werden.

Im Eingangsmodus kann er auch als Edge- oder Level-Trigger eingestellt werden, um CPU-Interrupts auszulösen.

General Purpose Input Output (GPIO) Pin of ESP8266 (NodeMCU ESP8266 Vs. Arduino UNO Board)
GPIO-Pins

Das Arduino Uno hat 14 digitale Ein-/Ausgangspins, von denen sechs als PWM-Ausgänge und sechs als analoge Eingänge genutzt werden können.

Im Arduino-Code kannst du die Funktion pinMode(pin, direction) verwenden, um die Richtung des Pins festzulegen, digitalRead(pin, value), um den Wert am digitalen Pin auszulesen, und digitalWrite(pin, value), um einen digitalen Wert auf den Pin zu schreiben.

General Purpose Input Output (GPIO) Pin of Arduino UNO (NodeMCU ESP8266 Vs. Arduino UNO Board)
GPIO-Pins

Analoger Pin

Das NodeMCU ESP8266 hat einen analogen Pin (A0). Das Arduino UNO hat sechs analoge Pins (A0 – A5).

Sie werden verwendet, um analoge Eingänge im Bereich von 0-5V bereitzustellen.

Beide Boards haben einen ADC mit 10-Bit-Auflösung, das heißt, du erhältst Werte zwischen 0 und 1023.

Im Arduino-Code kannst du die Funktion analogRead() verwenden, um analoge Pin-Werte auszulesen, und analogWrite(), um analoge Werte auf die Pins zu schreiben.

Serial Peripheral Interface (SPI) Pin

Das NodeMCU ESP8266 hat zwei SPI-Interfaces (SPI und HSPI). Beide unterstützen Master- und Slave-Betrieb.

Im Master-Modus kann der Takt auf 80 MHz eingestellt werden, im Slave-Modus bis zu 20 MHz. Nur der Master kann einen Takt erzeugen.

HSPI_CLK – GPIO14, HSPI_MISO – GPIO12, HSPI_MOSI – GPIO13, HSPI_CS – GPIO15 GPIO-Pins werden für die SPI-Kommunikation verwendet.

SCLK–GPIO6, MISO–GPIO7, MOSI – GPIO8, CS – GPIO11 Pins sind nicht für den Nutzer auf dem Board verfügbar.

Serial Peripheral Interface (SPI) Pin of ESP8266
SPI-Pins

Das Arduino Uno hat ein SPI-Kommunikationsinterface. Pin 10 (SS), 11 (MOSI), 12 (MISO) und 13 (SCK).

Serial Peripheral Interface (SPI) Pin of Arduino UNO
SPI-Pins

Du kannst das SPI library für SPI-Kommunikationsbeispiele ansehen.

I2C-Pin

Beim NodeMCU ESP8266 können GPIO4 und GPIO5 als SDA und SCL für das I2C-Interface verwendet werden.

Die Taktfrequenz beträgt maximal 100 kHz. Es gibt keine alternativen Funktionen.

Das Arduino UNO hat ein I2C-Kommunikationsinterface. Pin A4 (SDA) und A5 (SCL) werden für das I2C-Interface verwendet.

Du kannst das wire library für I2C-Kommunikationsbeispiele ansehen.

Universal Asynchronous Receiver Transmitter (UART) Pin

Das NodeMCU ESP8266 hat zwei Hardware-UARTs (UART0 und UART1) mit Baudraten bis zu 115200 und kann mit bis zu 4,5 Mbps kommunizieren.

  • UART0 TX – GPIO1, UART0 RX – GPIO3
  • UART1 TX – GPIO15, UART1 RX – GPIO13
  • UART2 TX – GPIO2, UART2 RX – GPIO8 (Nicht verfügbar).

Das Arduino Uno hat einen UART für serielle Kommunikation. Du kannst Pin 0 (RX) und 1 (TX) mit einer festgelegten Baudrate verwenden.

Du kannst die serial library für UART verwenden. Du kannst auch die Software Serial Bibliothek nutzen, um beliebige GPIO-Pins als Tx und Rx für UART-Kommunikation zu verwenden.

Interrupt-Pins

Alle GPIO-Pins außer GPIO16 unterstützen Interrupts auf dem NodeMCU ESP8266.

Beim Arduino Uno können Pin 2 und 3 so konfiguriert werden, dass sie einen Interrupt bei einem niedrigen Wert, einer steigenden oder fallenden Flanke oder einer Wertänderung auslösen.

Verwende attach interrupt um einen Interrupt an den genannten Pins zuzuweisen.

Pulse Width Modulation (PWM) Pins

Das NodeMCU ESP8266 Board hat vier PWM-Kanäle.

Die PWM-Ausgabe kann programmatisch implementiert und zum Ansteuern von Motoren und LEDs verwendet werden. Der PWM-Frequenzbereich ist von 1000 μs bis 10000 μs einstellbar.

Arduino UNO Pin 3, 5, 6, 9, 10 und 11 bieten PWM-Ausgänge über die analogen Eingänge, jeder mit 10 Bit Auflösung, also 0 bis 1023 verschiedene Werte.

SDIO-Pins

Das NodeMCU ESP8266 verfügt über eine Secure Digital Input/Output Schnittstelle (SDIO), mit der SD-Karten direkt angeschlossen werden können.

4-Bit 25 MHz SDIO v1.1 und 4-Bit 50 MHz SDIO v2.0 werden ebenfalls unterstützt.

SDIO-Pin ist beim Arduino UNO nicht verfügbar.

Steuerungs-Pins

EN-Pin – Der NodeMCU ESP8266 Chip ist aktiviert, wenn der EN-Pin auf HIGH gezogen wird. Bei LOW arbeitet der Chip im Minimalbetrieb.

WAKE-Pin – Ein Wake-Pin wird verwendet, um den Chip aus dem Deep-Sleep zu wecken. EN- und WAKE-Pin sind beim Arduino UNO nicht verfügbar.

RST-Pin – Der RST-Pin wird verwendet, um den ESP8266-Chip und den Arduino UNO MCU zurückzusetzen.

ICSP-Header

Das Arduino Uno hat einen ICSP-Buchsen-Header. In-circuit serial programming (ICSP) ermöglicht es, das Arduino UNO zu programmieren, ohne es aus der Schaltung zu entfernen.

Das Arduino UNO hat eigene In-Circuit-Serial-Programming-Header entwickelt.

Es gibt sechs ICSP-Pins (MISO, MOSI, SCK, VCC, Ground, Reset) auf dem Arduino Uno Board, die über ein Programmierkabel mit einem Programmer verbunden werden können.

ICSP Header
ICSP-Header

Wie schreibt man Code für NodeMCU ESP8266?

Es gibt verschiedene Entwicklungsplattformen, mit denen du das NodeMCU ESP8266 programmieren kannst.

Du kannst Firmware für das NodeMCU ESP8266 mit der Arduino IDE entwickeln.

Folge den Schritten unten, um die Arduino IDE für das NodeMCU ESP8266 einzurichten.

Schritt 1: Lade zuerst Arduino IDE Software

Schritt 2: Öffne die Arduino IDE und gehe zu Datei > Voreinstellungen.

Open Arduino IDE and Go to File > Preference

Schritt 3: Im Voreinstellungen-Fenster kopiere den untenstehenden Link in das Feld „Zusätzliche Boardverwalter-URLs“.

Wenn du einen weiteren Link hinzufügen möchtest, kannst du ein Komma setzen und dann den nächsten Link einfügen. http://arduino.esp8266.com/stable/package_esp8266com_index.json

copy-paste the below link in Additional Boards Manager URLs

Schritt 4: Schließe das Voreinstellungen-Fenster und gehe zu Tools > Board > Boardverwalter

Now close the Preference window and go to Tools

Schritt 5: Gib im Boardverwalter-Fenster ESP8266 in das Suchfeld ein. ESP8266 wird in den Suchergebnissen angezeigt. Wähle die neueste Version des Boards aus und klicke auf Installieren.

Boards Manager window

Schritt 6: Nach Abschluss der Installation öffne Tools > Board > und wähle NodeMCU ESP8266 1.0 (ESP-12E Module) aus.

Um den Port auszuwählen, gehe erneut zu Tools > Port und wähle den ESP8266 COM-Port aus.

After installation of the board is complete

Schritt 7: Im Datei-Menü gehe zu Beispiele und öffne das Blink-Beispiel.

In the File menu, go to Example and then open Blink example

Schritt 8: Klicke auf „Code überprüfen“ und lade ihn dann auf dein Board hoch.

Click on Verify code and then upload it on your board

Wie schreibt man Code für Arduino Uno?

Du kannst Firmware-Code für das Arduino Uno mit der bekannten Arduino IDE schreiben.

Mit der Arduino IDE in C++ kannst du auf dem Arduino Uno unzählige Anwendungen entwickeln.

Schritt 1: Lade zuerst Arduino IDE

Wenn du die Anleitung nicht verstehst, sieh dir auch das Bild an und folge den Schritten.

Schritt 2: Öffne die Arduino IDE und gehe zu Tools > Board > Arduino AVR Boards > Wähle Arduino Uno.

Um den Port auszuwählen, gehe erneut zu Tools > Port und wähle den Arduino UNO COM-Port aus.

Open Arduino IDE and Go to Tools

Schritt 3: Im Datei-Menü gehe zu Beispiele und öffne das Blink-Beispiel.

In the File menu, go to Example and then open Blink example

Schritt 4: Klicke auf „Code überprüfen“ und lade ihn dann auf dein Board hoch.

Click on Verify code and then upload it on your board

Was sind die Vorteile von NodeMCU?

  • Das NodeMCU ESP8266 ist ein stromsparendes und kostengünstiges Gerät, ideal für Embedded-Anwendungen.
  • Es hat ein integriertes WiFi-Modul, was es perfekt für Internet of Things (IoT) Anwendungen macht.
  • Das NodeMCU ESP8266 unterstützt auch FreeRTOS, wodurch parallele Aufgaben auf dem Board möglich sind.
  • Bessere Speicher- und Rechenleistung als das Arduino UNO.
  • Das ESP8266 Board ist kompatibel mit Breadboards und eignet sich auch für die Montage auf Leiterplatten (PCB).
  • Einfach zu programmieren mit der Arduino IDE und Open-Source-Software.

Was sind die Vorteile des Arduino Uno?

  • Das Arduino UNO ist ein günstiges und sehr beliebtes Board für Einsteiger.
  • Open-Source-Hardware und -Software bieten zudem großartige Community-Unterstützung.
  • Das Arduino UNO hat mehr analoge Pins als das ESP8266.

Ist das ESP8266 besser als das Arduino UNO?

Vergleicht man Leistung, Kosten, Stromverbrauch und Funktionalität, ist das ESP8266 dem Arduino UNO deutlich überlegen.

Das NodeMCU ESP8266 unterstützt WiFi für Webserver und kann im STA- oder AP-Modus betrieben werden.

Du kannst die Firmware des ESP8266 auch Over-the-Air (OTA) aktualisieren.

Dank FreeRTOS sind parallele Aufgaben auf dem ESP8266 möglich.

Der einzige Nachteil des ESP8266 ist, dass es nur einen eingebauten analogen Pin hat. Du kannst also nicht mehr als ein analoges Signal direkt anschließen.

Fazit

Meiner Meinung nach gibt es nur wenige Anwendungsfälle, in denen du nicht auf ein NodeMCU ESP8266 Board setzen solltest.

Die NodeMCU ESP8266 Boards haben einen niedrigen Stromverbrauch, viel Speicher und integriertes Wi-Fi.

Wenn du jedoch Einsteiger bist und für alles ein fertiges Beispiel suchst, solltest du zum Arduino UNO greifen. Die Community-Unterstützung ist hervorragend.

Wenn du Fragen oder Anregungen hast oder findest, dass in diesem Tutorial etwas fehlt, hinterlasse bitte unten einen Kommentar.