Ratgeber · 11 Min. Lesezeit

Arduino oder ESP32? Unterschiede, Vergleich und Kaufberatung

Arduino oder ESP32? Uno und ESP32 im Vergleich: Takt, RAM, WLAN, 5 V/3,3 V, ADC, Pins und Akkulaufzeit – Pico-Vergleich, gemeinsamer Code und Projekttabelle.

Arduino oder ESP32? Die kurze Antwort: Braucht dein Projekt WLAN, Bluetooth, Internet oder viel Rechenleistung, nimm den ESP32. Lernst du gerade die Grundlagen der Elektronik, willst problemlos mit 5-V-Sensoren und -Modulen arbeiten und jedes Tutorial genau nachbauen, nimm den Arduino Uno. Beide Boards werden in der Arduino IDE mit denselben Befehlen digitalWrite, analogRead und Serial programmiert. Der eigentliche Unterschied liegt in der Hardware: Geschwindigkeit, Speicher, Betriebsspannung, Pins und Funkverbindung.

In dieser Anleitung vergleichen wir den Arduino Uno R3 mit dem verbreitetsten ESP32-Board, dem ESP32 DevKit (mit ESP-WROOM-32-Modul), anhand echter Zahlen: Was bedeuten Prozessor- und Speicherunterschiede in der Praxis, welche Module betrifft der Unterschied zwischen 5 V und 3,3 V, wie verändern sich Analogeingänge und PWM, und wie viele Stunden hält welches Board mit einem Akku durch? Danach lassen wir denselben Sketch auf beiden Boards laufen, werfen einen kurzen Blick auf den Raspberry Pi Pico und fassen in einer Tabelle zusammen, welches Board zu welcher Projektart passt.

Arduino Uno R3 Entwicklungsboard
Arduino Uno R3: das 5-V-Board mit dem 8-Bit-ATmega328P, das Einsteiger am häufigsten benutzen.

Kurze Antwort: Wann nimmst du welches Board?

Deine SituationEmpfohlenes BoardWarum?
Du fängst mit Elektronik anArduino Uno5 V, robuste Pins, die meisten Beispiele und Kurse
Du brauchst WLAN oder InternetESP32WLAN ist eingebaut, kein Zusatzmodul nötig
Bluetooth-Verbindung zum HandyESP32Klassisches Bluetooth und BLE eingebaut
Du nutzt 5-V-Module und ShieldsArduino UnoKein Pegelwandler nötig
Display, viele LEDs, große DatenmengenESP32520 KB RAM (der Uno hat 2 KB)
Sensor, der monatelang mit Akku läuftESP32 (stromsparendes Board)Etwa 10 µA im Tiefschlaf
Programmieren mit PythonRaspberry Pi PicoSehr ausgereifte MicroPython-Unterstützung
Kleinstes BudgetESP32 oder PicoViel mehr Funktionen zum Preis eines Uno-Nachbaus

Was sind Arduino Uno und ESP32?

Der Arduino Uno R3 ist das bekannteste Board der in Italien entwickelten Arduino-Plattform. Sein Herz ist der 8-Bit-Mikrocontroller ATmega328P mit 16 MHz. Das Board arbeitet mit 5 V, und seine Pinbelegung ist seit Jahren gleich; deshalb passen Hunderte Shields (aufsteckbare Erweiterungsplatinen), Bücher und Kurse dazu. Durch den einfachen Aufbau siehst du genau, was passiert: Schreibst du HIGH auf einen Pin, liegen dort wirklich 5 V an. Der neuere Uno R4 kommt mit einem 32-Bit-Arm-Prozessor mit 48 MHz und 32 KB RAM, und die Version R4 WiFi bringt mit einem ESP32-S3 auf der Platine auch Funk mit; mit "Uno" meinen wir in diesem Artikel den immer noch verbreitetsten R3. Mehr über die Plattform erfährst du in Was ist Arduino?.

ESP32 DevKit Entwicklungsboard (ESP-WROOM-32)
ESP32 DevKit: Im metallgeschirmten ESP-WROOM-32-Modul stecken ein Dual-Core-Prozessor, WLAN und Bluetooth; das Board arbeitet mit 3,3-V-Logik.

Der ESP32 dagegen ist ein 32-Bit-System-on-Chip (SoC), das Espressif 2016 vorgestellt hat und das WLAN und Bluetooth auf demselben Chip vereint. Das Board in deiner Hand ist ein Entwicklungsboard, das diesen Chip trägt: Darauf sitzen ein USB-Seriell-Wandler, ein 3,3-V-Spannungsregler sowie die Taster EN und BOOT. Ein wichtiges Detail: Der ESP32 ist kein Arduino, aber dank des Arduino-Cores von Espressif wird er in der Arduino IDE genau wie einer programmiert. Für Einrichtung und erste Projekte ist Was ist der ESP32? ein guter Einstieg.

Die große Vergleichstabelle: Arduino Uno, ESP32 und Raspberry Pi Pico

MerkmalArduino Uno R3ESP32 DevKit (WROOM-32)Raspberry Pi Pico
ProzessorATmega328P, 8-Bit-AVRXtensa LX6, 32 Bit, Dual-CoreRP2040, 32-Bit-Arm-Cortex-M0+, Dual-Core
Taktfrequenz16 MHzBis 240 MHz133 MHz
RAM (SRAM)2 KB520 KB264 KB
Programmspeicher (Flash)32 KB (0,5 KB für den Bootloader)Meist 4 MB2 MB
EEPROM1 KBKeins (im Flash emuliert)Keins (Dateisystem im Flash)
Logikpegel5 V3,3 V (nicht 5-V-tolerant)3,3 V (nicht 5-V-tolerant)
StromversorgungUSB 5 V oder 7–12 V (Buchse/VIN)USB 5 V oder 5 V an VINUSB 5 V oder 1,8–5,5 V an VSYS
Nutzbare GPIOs20 (14 digital + 6 analog)Etwa 25 (ohne eingeschränkte Pins)26
Analogeingänge (ADC)6 Kanäle, 10 Bit18 Kanäle, 12 Bit (bei aktivem WLAN nur ADC1)3 Kanäle, 12 Bit
Analogausgang (DAC)Keiner2 Kanäle, 8 BitKeiner
PWM6 Pins, 8 Bit, 490/980 Hz16 Kanäle, Frequenz einstellbar, an fast jedem Pin16 Kanäle, an allen GPIOs
WLANNein802.11 b/g/n, 2,4 GHzNein (der Pico W hat es)
BluetoothNeinBluetooth 4.2: Classic + BLENein (der Pico W hat es)
UART / I2C / SPI1 / 1 / 13 / 2 / 2 (für den Nutzer frei)2 / 2 / 2
Strom pro Pin20 mA empfohlen (max. 40 mA)Etwa 20 mA empfohlenStandard 4 mA (bis 12 mA einstellbar)
Typischer BoardstromEtwa 45 mAMit WLAN im Schnitt 50–130 mA, Spitzen 240 mAEtwa 25 mA
Niedrigster SchlafmodusChip unter 1 µA, Board etwa 30 mAChip im Tiefschlaf etwa 10 µABoard im Dormant-Modus etwa 1 mA
ProgrammierungArduino C/C++Arduino C/C++, ESP-IDF, MicroPythonMicroPython, C/C++ SDK, Arduino
Ungefährer PreisOriginal 25–30 $, Nachbau 5–10 $DevKit-Nachbau 4–8 $4 $ (Pico W 6 $)

Prozessor und Speicher: Was bedeuten die Zahlen in der Praxis?

Der Prozessor des Uno führt etwa 16 Millionen Befehle pro Sekunde aus und arbeitet jeweils mit 8-Bit-Zahlen; eine 32-Bit-Operation mit long oder float braucht Dutzende Befehle, und eine Gleitkommaeinheit (FPU) in Hardware gibt es nicht. Der ESP32 läuft mit 240 MHz, rechnet mit 32-Bit-Zahlen und hat eine FPU für einfache Genauigkeit. Deshalb kann der ESP32 bei float-lastigen Berechnungen zehn- bis hundertfach schneller sein als der Uno. Beim LED-Blinken oder wenn du einen Sensor ein paarmal pro Sekunde ausliest, merkst du davon nichts; bei Filtern, Audioverarbeitung, Verschlüsselung oder Animationen für Hunderte LEDs ist der Unterschied aber entscheidend. Ein kleiner Tipp: Die FPU des ESP32 kann nur float; double-Operationen laufen in Software und sind deutlich langsamer.

Den Speicherunterschied bemerkst du viel häufiger. Die 2 KB RAM des Uno teilen sich deine Variablen, die Serial-Puffer und der Platz, den Bibliotheken reservieren. Wenn das RAM voll ist, warnt der Compiler meistens nicht; das Programm hängt sich zufällig auf oder verhält sich seltsam. Typische Fälle, in denen dem Uno schnell das RAM ausgeht:

  • OLED-Display: Allein der Bildpuffer eines 128×64-SSD1306-Displays belegt 1 KB, also die Hälfte des RAM (siehe OLED-Display verwenden).
  • Adressierbare LEDs: Jede WS2812B-LED belegt 3 Byte; ein Streifen mit 300 LEDs braucht 900 Byte (siehe WS2812B NeoPixel).
  • Daten aus dem Internet: Das JSON eines Wetterdienstes kann mehrere KB groß sein; auf den Uno passt es nicht, der ESP32 verarbeitet es mühelos.
  • String-Verkettung: String-Objekte, die in einer Schleife wachsen, zerstückeln das kleine RAM und können Stunden später zum Absturz führen.
  • SD-Karte: Die SD-Bibliothek reserviert einen 512-Byte-Sektorpuffer; zusammen mit Display- und Sensorbibliotheken ist die Grenze schnell erreicht.

Der Spannungsunterschied: 5 V und 3,3 V

Das ist der am häufigsten übersehene Unterschied. Die Pins des Uno arbeiten mit 5-V-Logik: Ein HIGH-Ausgang hat 5 V, und Eingänge über 3 V gelten als HIGH. Die Pins des ESP32 arbeiten mit 3,3-V-Logik und sind nicht 5-V-tolerant. 5 V an einem Pin töten den ESP32 vielleicht nicht sofort, belasten aber die internen Schutzdioden und können den Chip mit der Zeit oder auf einen Schlag dauerhaft zerstören. Die andere Richtung ist harmloser: Das 3,3-V-HIGH-Signal des ESP32 liegt knapp über der 3-V-Schwelle des Uno und wird deshalb meist als HIGH gelesen, ein sicheres Design ist das aber auch nicht. So verhalten sich gängige Module mit beiden Boards:

ModulMit dem Arduino UnoMit dem ESP32Hinweis
Ultraschallsensor HC-SR04DirektSpannungsteiler an der ECHO-LeitungDer ECHO-Pin gibt 5 V aus
5-V-RelaismodulDirektMeist ok, manche schalten nicht abBei Low-aktiven Modulen lässt ein 3,3-V-HIGH das Relais evtl. nicht ganz los
Servo SG90DirektSignal direkt, Versorgung mit 5 VDen Servo nicht über den 3V3-Pin des Boards versorgen
DHT11 / DHT22DirektDirekt mit 3,3 VFunktioniert mit beiden Spannungen
I2C-LCD (16x2)Direkt5-V-Versorgung, Pegelwandler empfohlenDie Pull-up-Widerstände des Moduls ziehen die Leitungen auf 5 V
OLED SSD1306DirektDirekt (3V3)Hat einen Spannungsregler auf der Platine
WS2812B-StreifenDirektFunktioniert meistensFür ein sicheres Ergebnis einen Pegelwandler wie den 74AHCT125 nutzen
MPU6050 (GY-521)DirektDirekt (3V3)Hat einen 3,3-V-Regler auf der Platine
Schließt du ein Modul mit 5-V-Signalen an den ESP32 an, setze einen Spannungsteiler oder einen Pegelwandler dazwischen. Mit 1 kΩ in Reihe in der Signalleitung und 2 kΩ zwischen ESP32-Pin und GND werden aus 5 V zum Beispiel 5 × 2 / (1 + 2) = 3,33 V. Analoge Quellen wie ein Potentiometer schließt du am ESP32 immer an 3V3 an, nie an den 5V-Pin.

Pins, Analogeingänge und PWM

Beim Uno verhalten sich alle 20 Pins ungefähr gleich: Jeder kann Ein- oder Ausgang sein, liefert problemlos bis zu 20 mA und beeinflusst den Bootvorgang nicht. Das ESP32 DevKit hat auf dem Papier mehr Pins, aber nicht alle sind gleichwertig: GPIO 6–11 hängen am internen Flash und sind tabu, GPIO 34–39 sind reine Eingänge, und GPIO 0, 2, 5, 12 und 15 müssen beim Booten bestimmte Pegel haben. In der Praxis kannst du etwa 20–25 Pins bequem nutzen. Die Pinbelegung deines Boards findest du im Pinout-Werkzeug.

Beim Analogeingang teilt der 10-Bit-ADC des Uno den Bereich von 0–5 V in 1024 Stufen; jede Stufe entspricht etwa 4,9 mV, und die Messung ist ziemlich linear. Der 12-Bit-ADC des ESP32 liefert 4096 Stufen, kann aber in der Standardeinstellung Werte unter etwa 0,15 V und über 3,1 V nicht unterscheiden, rauscht und die ADC2-Pins funktionieren bei aktivem WLAN gar nicht. Brauchst du eine genaue Spannung, verwende am ESP32 analogReadMilliVolts() und schließe den Sensor an die ADC1-Pins (GPIO 32–39) an. Bei PWM liegt der ESP32 vorn: Der Uno bietet 8-Bit-PWM nur an 6 Pins mit 490 oder 980 Hz, der ESP32 kann 16 Kanäle mit einstellbarer Frequenz und Auflösung auf fast jeden Ausgangspin legen. Außerdem hat er 2 DACs (GPIO 25 und 26), die eine echte Analogspannung erzeugen. Die Grundlagen zu PWM findest du in Was ist PWM?.

Derselbe Sketch auf beiden Boards: Was ändert sich?

Die gute Nachricht: Alles, was du am Arduino gelernt hast, gilt auch für den ESP32. Der folgende Sketch liest ein Potentiometer, gibt die Spannung im seriellen Monitor aus und schaltet die Onboard-LED ein, sobald der Wert die Hälfte überschreitet. Die Zeile #if defined(ESP32) erkennt, für welches Board kompiliert wird, und ändert nur Pinnummer, Referenzspannung und ADC-Auflösung. Verbinde die äußeren Anschlüsse des Potentiometers beim Uno mit 5V und GND, beim ESP32 mit 3V3 und GND; den Schleifer steckst du beim Uno an A0, beim ESP32 an GPIO 34 und öffnest den seriellen Monitor mit 115200 Baud. Die wichtigsten Unterschiede außerhalb des Codes stehen in der Tabelle.

Arduino (C++)
1// Aynı kod Uno ve ESP32'de çalışır / The same sketch runs on Uno and ESP32
2#if defined(ESP32)
3const int LED_PIN = 2;        // DevKit dahili LED / DevKit onboard LED
4const int POT_PIN = 34;       // ADC1 pini, Wi-Fi ile de çalışır / ADC1 pin, works with Wi-Fi too
5const float VREF = 3.3;       // ESP32 pinleri 3,3 V / ESP32 pins are 3.3 V
6const int ADC_MAX = 4095;     // 12 bit
7#else
8const int LED_PIN = 13;       // Uno dahili LED / Uno onboard LED
9const int POT_PIN = A0;
10const float VREF = 5.0;       // Uno referansı 5 V / Uno reference is 5 V
11const int ADC_MAX = 1023;     // 10 bit
12#endif
13
14void setup() {
15  Serial.begin(115200);
16  pinMode(LED_PIN, OUTPUT);
17}
18
19void loop() {
20  int raw = analogRead(POT_PIN);
21  float volts = raw * VREF / ADC_MAX;
22  Serial.print("Ham / raw: ");
23  Serial.print(raw);
24  Serial.print("  Gerilim / voltage: ");
25  Serial.println(volts, 2);
26  digitalWrite(LED_PIN, raw > ADC_MAX / 2 ? HIGH : LOW);   // yarıdan fazlaysa LED yanar / LED on above half
27  delay(250);
28}
ThemaArduino UnoESP32
Onboard-LEDPin 13GPIO 2 bei den meisten DevKit-Nachbauten (beim DevKitC von Espressif keine)
Wertebereich von analogRead0–1023 (10 Bit)0–4095 (12 Bit)
Externe Interrupts (attachInterrupt)Nur Pin 2 und 3Fast alle Pins (IRAM_ATTR an die Interrupt-Funktion)
Zweite serielle SchnittstelleSoftwareSerial nötigHardware-Serial2 (GPIO 16 und 17)
EEPROMEchtes EEPROM, 1 KBIm Flash; EEPROM.commit() oder Preferences
HochladenEin KlickBei manchen Boards BOOT-Taste drücken
KompilierzeitWenige SekundenErster Build kann etwa eine Minute dauern

WLAN, Bluetooth und Internet

Was den ESP32 wirklich abhebt, ist die Funkverbindung. Das Board verbindet sich mit 2,4-GHz-WLANs, kann einen eigenen Access Point aufspannen, betreibt einen Webserver, schickt per MQTT Daten an ein Smart-Home-System, holt sich per NTP die Uhrzeit aus dem Internet und kann seine Firmware drahtlos (OTA) aktualisieren. Bei Bluetooth werden sowohl klassisches Bluetooth (Serial Port Profile) als auch das stromsparende BLE unterstützt, und mit ESP-NOW können mehrere ESP32 ganz ohne Router miteinander sprechen. Nichts davon ist beim Uno eingebaut: Für Bluetooth brauchst du ein Modul wie das HC-05, für WLAN einen separaten Chip wie den ESP-01 samt AT-Befehlen. Der folgende Sketch liest dasselbe Potentiometer, diesmal über WLAN: Öffne die im seriellen Monitor angezeigte Adresse im Browser eines Handys im selben Netz, und du siehst die Spannung in Millivolt; die Seite aktualisiert sich alle zwei Sekunden.

Arduino (C++)
1#include <WiFi.h>
2#include <WebServer.h>
3
4const char* ssid = "AgAdi";          // Wi-Fi adın / your Wi-Fi name
5const char* password = "Sifre123";   // Wi-Fi şifren / your Wi-Fi password
6const int POT_PIN = 34;              // ADC1 pini / ADC1 pin
7
8WebServer server(80);
9
10void handleRoot() {
11  uint32_t mv = analogReadMilliVolts(POT_PIN);   // kalibre edilmiş mV / calibrated mV
12  String html = "<meta name='viewport' content='width=device-width'>"
13                "<meta http-equiv='refresh' content='2'>"
14                "<h1>ESP32</h1><p>Pot: ";
15  html += mv;
16  html += " mV</p>";
17  server.send(200, "text/html", html);
18}
19
20void setup() {
21  Serial.begin(115200);
22  WiFi.begin(ssid, password);
23  while (WiFi.status() != WL_CONNECTED) delay(500);
24  Serial.print("Telefonda aç / open on your phone: http://");
25  Serial.println(WiFi.localIP());
26  server.on("/", handleRoot);
27  server.begin();
28}
29
30void loop() {
31  server.handleClient();
32}

Stromverbrauch und Akkubetrieb

Auf dem Papier ist der ESP32 zugleich das hungrigste und das sparsamste Board. Beim Senden über WLAN zieht er Spitzen von bis zu 240 mA; deshalb startet er an einem schwachen USB-Port mit der Meldung "Brownout detector was triggered" neu. Im Tiefschlaf braucht der Chip dagegen nur etwa 10 µA. Das Uno-Board verbraucht im Leerlauf etwa 45 mA; selbst wenn der ATmega328P schläft, ziehen USB-Seriell-Chip, Spannungsregler und Power-LED weiter rund 30 mA. Rechnen wir ein Beispiel: Ein 2000-mAh-Akku versorgt einen dauerhaft laufenden Uno etwa 2000 / 45 ≈ 44 Stunden lang. Ein ESP32 mit ständig aktivem WLAN (im Schnitt 100 mA) hält etwa 20 Stunden. Wacht der ESP32 aber alle 10 Minuten für 3 Sekunden auf, sendet mit 120 mA einen Messwert und schläft die übrigen 597 Sekunden mit 10 µA, beträgt der mittlere Strom (3 × 120 + 597 × 0,01) / 600 ≈ 0,61 mA, und derselbe Akku hält theoretisch über 3000 Stunden, also mehr als vier Monate. Dafür brauchst du ein stromsparendes Board oder ein nacktes Modul; Regler und USB-Chip auf Standard-DevKits verbrauchen selbst im Schlaf einige mA. Dein eigenes Szenario berechnest du mit dem Werkzeug Akkulaufzeit.

Wo steht der Raspberry Pi Pico?

Die dritte starke Option ist der Raspberry Pi Pico. Sein RP2040-Chip hat zwei Cortex-M0+-Kerne mit 133 MHz, 264 KB RAM und 2 MB Flash und kostet etwa 4 Dollar. Wie der ESP32 arbeitet er mit 3,3 V und bietet 26 GPIOs, hat aber nur 3 Analogeingänge. Seine größten Stärken sind die sehr ausgereifte MicroPython-Unterstützung, das einfache Aufspielen der Firmware, weil er sich am Computer wie ein USB-Stick meldet, und die sogenannten PIO-Einheiten, die exakt getaktete Protokolle erzeugen, ohne den Prozessor zu belasten. Willst du Funk, nimm den Pico W (WLAN und Bluetooth); für mehr Leistung den Pico 2 mit RP2350-Chip. Details findest du in Was ist der Raspberry Pi Pico?. Dieselbe Potentiometer-Messung sieht auf dem Pico in MicroPython so aus (Schleifer an GP26, äußere Anschlüsse an 3V3 und GND):

MicroPython
1from machine import ADC, Pin
2import time
3
4pot = ADC(26)                  # GP26 = ADC0, potansiyometre orta ucu / pot wiper
5led = Pin("LED", Pin.OUT)      # dahili LED (Pico ve Pico W) / onboard LED (Pico and Pico W)
6
7while True:
8    raw = pot.read_u16()                   # 0–65535 (12 bit ölçüm ölçeklenir / 12-bit reading, scaled)
9    volts = raw * 3.3 / 65535
10    print("Ham / raw:", raw, " Gerilim / voltage: {:.2f}".format(volts))
11    led.value(raw > 32767)                 # yarıdan fazlaysa yanar / on above half
12    time.sleep(0.25)

Preis und Einsteigerfreundlichkeit

Der Preis allein entscheidet selten. Ein originaler Uno R3 kostet etwa 25–30 $, Nachbauten mit CH340-USB-Chip gibt es für 5–10 $; DevKit-Nachbauten des ESP32 kosten 4–8 $, der Pico 4 $. Zwischen einem ESP32 und einem Uno-Nachbau gibt es also kaum einen Preisunterschied; die echten Kosten stecken im Zubehör: Für 5-V-Module am ESP32 brauchst du ein paar Widerstände oder einen Pegelwandler für 1–2 $, und für WLAN am Uno ein separates Modul. Beim Lernen liegt der Uno vorn: Du wählst das Board aus und klickst auf Hochladen, Fehlermeldungen und Beispiele sind seit Jahren dieselben, und mit 5-V-Modulen gibt es keine Pegelprobleme. Beim ESP32 installierst du zuerst das Boardpaket von Espressif und bei Bedarf den Treiber für den USB-Chip (CP2102 oder CH340), wählst das richtige Boardmodell und hältst bei manchen Boards beim Hochladen die BOOT-Taste gedrückt; außerdem wurden manche Beispiele im Netz für ältere Core-Versionen geschrieben und lassen sich nicht kompilieren (im Core 3.x ersetzt zum Beispiel ledcAttach die Funktion ledcSetup). Diese Hürden sind in ein paar Stunden genommen, aber wenn du zum ersten Mal Schaltungen baust, erkennst du am Uno leichter, ob ein Problem am Code oder an der Verdrahtung liegt.

Welches Board für welches Projekt?

ProjektBestes BoardWarum?
Erste Schritte mit LEDs, Tastern und SummerArduino UnoFehlertolerant, 5 V, viele Beispiele
Roboterauto (L298N, HC-SR04)Arduino UnoDirekt kompatibel mit 5-V-Modulen
WLAN-WetterstationESP32Schickt Daten ans Handy und ins Internet
Hausautomation mit RelaisESP32Web, MQTT und Sprachassistenten
Bluetooth-Fernbedienung per HandyESP32BLE und klassisches Bluetooth eingebaut
Akkubetriebener FunksensorESP32 (stromsparendes Board)Tiefschlaf und kurze WLAN-Übertragungen
Python lernenRaspberry Pi PicoMicroPython wird vorrangig unterstützt
Hunderte adressierbare LEDsESP32 oder PicoViel RAM, schneller Prozessor
Bildübertragung mit KameraESP32-CAMKamera und microSD-Slot auf dem Board
Motor-Shields und 5-V-ShieldsArduino UnoShields sind für die Uno-Pinbelegung gebaut

Häufige Fehler und Irrtümer

  • "Der ESP32 ist immer besser": Er ist leistungsfähiger, aber 3,3-V-Pins, bootkritische Pins, BOOT-Taste und Spannungseinbrüche können Einsteiger zermürben. Zum Lernen der Grundlagen bietet der Uno weniger Überraschungen.
  • 5-V-Sensor direkt an den ESP32 anschließen: 5-V-Signale wie der ECHO-Ausgang des HC-SR04 ohne Spannungsteiler können den Pin beschädigen.
  • ADC2-Pin bei aktivem WLAN auslesen: GPIO 0, 2, 4, 12–15 und 25–27 messen bei laufendem WLAN nichts; verlege den Sensor auf GPIO 32–39.
  • Das RAM des Uno vergessen: Kompiliert der Code, aber das Board hängt sich zufällig auf, ist vielleicht das RAM voll; setze feste Texte in F("...") und vermeide String-Verkettung in Schleifen.
  • ESP32 an schwachem USB betreiben: Startet das Board neu, sobald WLAN anspringt, nimm ein gutes Datenkabel und ein Netzteil mit mindestens 1 A.
  • Pico und Pico W verwechseln: Der normale Pico hat kein WLAN; für ein Funkprojekt kaufst du das Modell mit dem W im Namen.
Oft ist es am besten, beide auszuprobieren: Lerne die Grundlagen mit dem Uno (oder seinem kleinen Bruder, dem Nano) und steig beim ersten Projekt mit WLAN auf den ESP32 um. Der Großteil deines Codes lässt sich unverändert übernehmen, ändern müssen sich vor allem Pinnummern und Spannung. Ein ESP32 DevKit kostet oft etwa so viel wie ein Uno-Nachbau; es lohnt sich also, eins in dein Starterset zu packen.

Kurz gesagt: Der Arduino Uno ist das Board zum Lernen, der ESP32 das Board zum Vernetzen und der Raspberry Pi Pico das Board zum Experimentieren mit Python. Wenn du wissen willst, welches Modell der Arduino-Familie zu dir passt, lies Welchen Arduino soll ich kaufen?. In der BlueGrays-App findest du Dutzende Projekte für Arduino, ESP32 und Pico, vom LED-Blinken bis zum WLAN-Webserver und von der NTP-Uhr bis zur Wetteranzeige, jeweils mit Schritt-für-Schritt-Schaltplan und Code.

Häufige Fragen

Ist der ESP32 besser als ein Arduino?

Bei Rechenleistung, Speicher und Funk ja: Der ESP32 läuft mit 240 MHz und hat 520 KB RAM, WLAN und Bluetooth. Wegen seiner 3,3-V-Pins, eingeschränkten GPIOs und des komplizierteren Bootvorgangs bietet der Arduino Uno Einsteigern aber weniger Überraschungen. Welches besser ist, hängt davon ab, was dein Projekt braucht.

Kann man den ESP32 mit der Arduino IDE programmieren?

Ja. Nachdem du das esp32-Boardpaket von Espressif in der Arduino IDE installiert hast, programmierst du den ESP32 mit Arduino-Befehlen. Funktionen wie pinMode, digitalWrite, analogRead, Serial und Wire funktionieren genauso; ändern müssen sich meist nur Pinnummern und Spannungspegel.

Läuft Arduino-Code auf dem ESP32?

Der meiste Code läuft mit kleinen Änderungen. Du musst die Pinnummern an den ESP32 anpassen, berücksichtigen, dass analogRead Werte von 0–4095 liefert, und Code mit AVR-spezifischen Registerzugriffen oder Bibliotheken wie SoftwareSerial durch ESP32-Gegenstücke ersetzen.

Kann man einem Arduino Uno WLAN nachrüsten?

Ja: Ein Modul wie der ESP-01 (ESP8266) lässt sich über die serielle Schnittstelle mit AT-Befehlen nutzen, oder du kaufst den Uno R4 WiFi. Der ESP-01 braucht aber 3,3 V und Pegelwandlung, und die 2 KB RAM des Uno stoßen bei Web-Aufgaben schnell an Grenzen. Deshalb ist ein ESP32 in den meisten Fällen einfacher und günstiger.

Arduino oder Raspberry Pi Pico?

Willst du mit C/C++ im Arduino-Ökosystem bleiben, mit 5-V-Modulen arbeiten und die meisten Beispiele finden, passt der Arduino Uno besser. Für Python, einen niedrigen Preis und präzises Timing mit PIO ist der Raspberry Pi Pico die bessere Wahl. Da der Pico mit 3,3 V arbeitet, musst du wie beim ESP32 auf 5-V-Signale achten.

Kann man den ESP32 mit 5-V-Sensoren verwenden?

Läuft der Sensor auch mit 3,3 V, versorgst du ihn am einfachsten über den 3V3-Pin. Bei Sensoren, die nur mit 5 V arbeiten und 5 V ausgeben, gehört ein Spannungsteiler oder Pegelwandler in die Ausgangsleitung. 5 V direkt an den Pins des ESP32 können den Chip beschädigen.

Alle Projekte ansehen
Led-Beleuchtung
#1Anfänger

Led-Beleuchtung

Einfaches Eingabeprojekt, das eine einzelne LED in bestimmten Intervallen mit Arduino ein- und ausschaltet. Lehrt die Verwendung von digitalWrite und Verzögerungsfunktionen.

4.7(163)
782
LED Blinken mit ESP32
#103Anfänger

LED Blinken mit ESP32

Lehrt die grundlegende Verwendung von GPIO-Ausgängen mit ESP32. Wir erreichen einen Blinkeffekt, indem wir eine LED über einen digitalen Pin ein- und ausschalten. ESP32-Version des klassischen Blink-Projekts auf Arduino UNO; Pin-Map und Syntax bleiben gleich, der Unterschied liegt nur in den Pin-Nummern.

4.7(36)
92
Raspberry Pi Pico Onboard-LED Blinken (GP25 Interne LED)
#147Anfänger

Raspberry Pi Pico Onboard-LED Blinken (GP25 Interne LED)

Das Eröffnungsprojekt der Raspberry Pi Pico-Serie! Wir bringen die interne LED (grüne LED an GP25) zum Blinken, um zu überprüfen, ob die Platine funktioniert — ein klassisches "Hello World"-Erstexperiment. Keine externen Komponenten, nur Pico und USB-Kabel. Der Code ist in **MicroPython** geschrieben (die offiziell von der Raspberry Pi Foundation unterstützte Sprache). Lerne die `machine.Pin`-Klasse, `Pin.OUT`-Modus, `led.on()/off()`-Methoden und `time.sleep()` in Thonny IDE. Verfolge jede Umsch

5.0(1)
9
Temperatur und Luftfeuchtigkeit mit DHT11
#55Mittel

Temperatur und Luftfeuchtigkeit mit DHT11

Projekt zur Messung der Umgebungstemperatur und der Luftfeuchtigkeit mit einem DHT11-Sensor und Anzeige auf einem I2C-LCD-Bildschirm. Lehrt die Verwendung eines digitalen Temperatur-/Luftfeuchtigkeits

4.7(47)
60
ESP32: LED-Helligkeit mit Potentiometer (Analog → PWM)
#115Mittel
Premium

ESP32: LED-Helligkeit mit Potentiometer (Analog → PWM)

In diesem Projekt steuern wir die Helligkeit einer LED analog über ein Potentiometer. Der ADC-Pin des ESP32 liest die vom Potentiometer kommende Spannung von 0-3,3 V aus, woraufhin dieser Wert in ein PWM-Signal (Pulsweitenmodulation) umgewandelt und an die LED gesendet wird. So leuchtet die LED beim Drehen des Potentiometers stufenweise auf und erlischt wieder. Mit Arduino Core 3.0+ kann `analogWrite()` direkt verwendet werden; bei ESP32-S2/S3 ist die ADC-Auflösung auf 12 Bit festgelegt.

4.5(19)
32
ESP32-WLAN-STA-Verbindung (mit LCD-Display)
#127Fortgeschritten
Premium

ESP32-WLAN-STA-Verbindung (mit LCD-Display)

In diesem Projekt verbinden wir den ESP32 im Station-Modus (STA) sicher und fehlertolerant mit dem heimischen WLAN. Wir lagern SSID und Passwort in eine separate `secrets.h`-Datei aus, um Leaks zu Git zu verhindern, richten einen Auto-Reconnect-Mechanismus ein und zeigen RSSI-Signalpegel und IP-Adresse auf einem I2C-LCD-Display an. Die interne LED dient als Statusanzeige. Ein Verbindungsmanager auf Produktionsniveau.

4.4(21)
33
ESP32 Async-Webserver (mit IP-Anzeige auf dem LCD)
#129Fortgeschritten
Premium

ESP32 Async-Webserver (mit IP-Anzeige auf dem LCD)

In diesem Projekt verwandeln wir den ESP32 in einen **asynchronen Webserver**, den Sie über Ihr Smartphone oder Ihren Computer im selben WLAN-Netzwerk steuern können. Dank der ESPAsyncWebServer-Bibliothek kann der Server mehrere Anfragen gleichzeitig bearbeiten (im Gegensatz zum klassischen `WebServer.h`, der bei einer einzigen Anfrage blockiert). Sie können über den Browser eine Verbindung zur IP-Adresse des ESP32 mit `/control` herstellen und durch Drücken der Schaltflächen die an GPIO 5 anges

4.8(16)
26
ESP32 HTTPClient + Wetter-API (mit LCD-Display)
#133Fortgeschritten
Premium

ESP32 HTTPClient + Wetter-API (mit LCD-Display)

In diesem Projekt führen wir mit dem ESP32 über das Internet mithilfe von `HTTPClient.h` einen REST-API-Aufruf an die Wetter-API (wttr.in) durch. Mit ArduinoJson v7 analysieren wir die zurückgegebenen JSON-Daten und zeigen Informationen zu Stadt, Temperatur, Luftfeuchtigkeit, Wetter und Wind sowohl auf Türkisch als auch auf Englisch auf einem I2C-LCD-Display an. wttr.in ist kostenlos und erfordert keinen API-Schlüssel – Sie können den aktuellen Wetterbericht einer beliebigen Stadt abrufen, indem

4.7(13)
20

Lerne die echten Unterschiede zwischen Arduino Uno und ESP32 in Zahlen kennen: Geschwindigkeit, Speicher, Spannung, Analogeingänge, WLAN und Akkulaufzeit. Lass denselben Sketch auf beiden Boards laufen, vergleiche sie mit dem Pico und wähle das passende Board.

Arduino oder ESP32? Unterschiede, Vergleich und Kaufberatung | BlueGrays