Vergleich ESP32 & Arduino UNO R3

In diesem Beitrag möchte ich einen Vergleich zwischen dem ESP32 und dem Arduino UNO R3 ziehen. Dabei zeige stelle ich nicht nur die technischen Daten gegenüber (wo es hier ggf. schon im Vorfeld einen klaren Sieger geben wird).

ESP32 & Arduino UNO R3
ESP32 & Arduino UNO R3

Den ESP32 habe ich bereits im Beitrag Microcontroller ESP32 – LOLIN32 und den Arduino UNO R3 im Beitrag Arduino UNO – Übersicht vorgestellt. Und mit beiden Microcontrollern habe ich auch diverse Schaltungen aufgebaut.

vergleich der technischen Daten

Da der ESP32 über Features wie WiFi und Bluetooth verfügt (einige kommen sogar mit Displays, Kamera, PIR Sensor daher) und der Arduino nicht möchte ich hier nur auf die Eigenschaften eingehen welche beide vereinen.

  ESP32 Arduino UNO R3
Taktfrequenz 240 MHz 16 MHz
Speicher    
Flash Speicher 4 MB 32 KB (davon 0,5 KB für den Bootloader)
SRAM 520 KB 2 KB
EEPROM 512 Byte 1 KB
GPIO / GPO    
analoge Pins 12 (davon 2 Ausgänge) 6
digitale Pins 26 14
PWM Pins 26 6
Anschlüße    
USB Anschluß Micro USB USB Typ B
Stromadapter JST Buchse für LiPo Batterien Jack Adaper 2.1mm Center positiv

Preis

Den ESP32 sowie Arduino UNO R3 findest du auf nachfolgenden Plattformen:

  ESP32 Arduino UNO R3
conrad.de 9,89€ 22,41€
elv.de 9,74€ 17,5€
robotshop.com 21,27€ 22,09€
ebay.de 4€ .. 9€ 3€ .. 20€
amazon.de 9€ .. 21€ 9€ .. 22€
aliexpress.com 2€ .. 11€ 3€ .. 6€ 
banggood.com 5€ .. 18€ 5€ .. 15€

Die Preise sind natürlich ohne Versandkosten. Des Weiteren muss man bei einigen Shops daran denken das ggf. mit langen Lieferzeiten rechnen muss aber dafür bekommt man den Artikel deutlich günstiger.

Der Arduino UNO R3 wird zumeist als günstiger Klone verkauft, den originalen Arduino UNO findest du für knapp 20€ im Shop von Arduino.cc. Ich musste aber feststellen das die zumeist aus dem asiatischen Raum stammenden Klone genauso gut funktionieren wie das Original. Man muss nur einpaar kleine Abstriche in der Qualität machen, zbsp. sind auf den 5V meist nicht wirklich 5V drauf.

vergleich 5V Spannung am Arduino UNO original und Keyestudio UNO
vergleich 5V Spannung am Arduino UNO original und Keyestudio UNO

Abmaße

  ESP32 Arduino UNO R3
Breite 20 mm 53 mm
Länge 50 mm 68 mm
Höhe 18 mm 12 mm
Gewicht 7 g 25 g

In den Abmaßen ist klar der ESP32 der Sieger denn dieser ist sehr klein (im Verhältnis zum Arduino UNO R3) und passt somit auf ein 400 / 720 Pin Breadboard.

Aufbau der Schaltung - ESP32 mit RGB LED Typ WS28B12
Aufbau der Schaltung – ESP32 mit RGB LED Typ WS28B12

Ein Vorteil des größeren Arduino UNOs ist es das dieses mit Shields bestückt werden kann und somit die Funktionen durch einfaches drauf stecken erweitert werden kann. Es gibt zbsp. Multifunktionale Shields welche sehr viele Funktionen mitbringen jedoch nur zum experimentieren dienen, aber auch RGB Shields, Netzwerkshields (mit RJ45 Buchse, ), Displays, Motordriver und viele mehr.

Multifunktionale Shields
Multifunktionale Shields

Bei den Shields zum draufstecken muss man aber darauf achten das die Kontakte nicht auf die USB Typ B Buchse ragen und somit ggf. einen Kurzschluss verursachen.

Kontakt des Tasters SW2 auf der USB Buchse des Arduino UNO
Kontakt des Tasters SW2 auf der USB Buchse des Arduino UNO

Programmieren

In diesem Abschnitt möchte ich auf die Programmierung der beiden Microcontroller eingehen. Zunächst kann man beide Microcontroller mit der Arduino IDE, Platform I/O usw. programmieren. Ein großer Vorteil des ESP32 ist das dieser mit einer anderen Firmware bestückt werden kann und somit mit MicroPython programmiert werden kann.

Wenn man die Anwendung Arduino IDE verwendet so kann man einmal ein Sketch / Programm schreiben und auf beiden 1:1 zum laufen bringen. 

Hier ein kleines Beispiel:

Wenn man zbsp. die BUILD_IN LED des Microcontrollers zum blinken bringen möchte so muss man beim Arduino UNO R3 den digitalen Pin D13 ansprechen.

#define led 13

void setup() {
  pinMode(led, OUTPUT);
}

void loop() {
  digitalWrite(led, HIGH);
  delay(500);
  digitalWrite(led, HIGH);
}
Der Sketch verwendet 868 Bytes (2%) des Programmspeicherplatzes. Das Maximum sind 32256 Bytes.
Globale Variablen verwenden 9 Bytes (0%) des dynamischen Speichers, 2039 Bytes für lokale Variablen verbleiben. Das Maximum sind 2048 Bytes.

Auf einigen ESP32 Chips ist eine BUILD_IN LED verbaut welche ähnlich mit MicroPython programmiert werden kann.

from machine import Pin
import time as time

p0 = Pin(2, Pin.OUT) 
while(1):  
  p0.on() 
  print("AN")
  time.sleep(0.5)
  p0.off() 
  print("AUS")
  time.sleep(0.5)

Einsatzgebiete der Microcontroller

Auf der Seite https://hackaday.io/projects?tag=ESP32 findest du eine Liste mit 437 Projekten rund um den ESP32 dabei werden diverse Sensoren & Aktoren verwendet. Der ESP32 hat wie eingangs schon erwähnt einige zusätzliche Features welche ihn deutlich vom Arduino UNO R3 abheben lassen. So kann man zbsp. recht simple die Messdaten eines Temperatursensors auf einer Webseite darstellen oder auch komplexe Schaltungen mit diesem steuern und grafisch anzeigen lassen.

DHT11 Sensordaten auf Google Gauges
DHT11 Sensordaten auf Google Gauges

Der Arduino UNO R3 kann jedoch deutlich einfacher programmiert werden und durch die vielen erhältlichen Sensoren & Aktoren können einige „Helferlein“ erstellt werden.

Arduino Projekt - Liniendiagramm mit Temperaturwerten
Arduino Projekt – Liniendiagramm mit Temperaturwerten

Alternative zum Arduino UNO R3

Der Arduino UNO R3 kommt schon recht oft an seine grenzen denn dieser ist mit 14 digitalen Pins schon recht gut bestückt aber leider ist bei großen Projekten da schnelle Schluß. Hier müßte man dann auf einen Arduino Mega 2560 R3 zurück greifen jedoch muss man dann wiederum Lösungen implementieren für die WiFi Schnisttstelle und die Speicherung von den Daten der Webseite.

Arduino Mega 2560 R3 & Arduino Mega 2560 Pro
Arduino Mega 2560 R3 & Arduino Mega 2560 Pro

Es gibt den Arduino Mega auch mit einem ESP8266 Chip und somit hat man einen „kleinen“ Microcontroller mit sehr vielen Pins und einer WiFi Schnittstelle. Solltest du jedoch nur einen Arduino mit einer WiFi Schnittstelle suchen so empfehle ich dir den Wemos D1 mit ebenfalls einen ESP8266 Chip.

Fazit

Beide Microcontroller habe ich schon in diversen Schaltungen verbaut und so einige Projekte mit diesen durchgeführt. Der Arduino UNO R3 ist schnell programmiert jedoch wenn man sich mit der Sprache MicroPython gut auskennt dann ist der ESP32 genauso schnell programmiert. Ein Problem gibt es nur bei der Unterstützung von von Sensoren & Aktoren hier hat der Arduino den Vorteil das es sehr viele, leicht zugängliche Bibliotheken gibt.

 

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.