„ESP32 oder Pico?“ gehört zu den häufigsten Fragen in Elektronikforen. Beide Plattformen haben WLAN und Bluetooth, beide sind günstig, und beide lassen sich in MicroPython programmieren. Sie unterscheiden sich jedoch in Details, die bei einem konkreten Projekt den Ausschlag geben können. Für diesen Vergleich stütze ich mich ausschließlich auf offizielle Dokumente: die Datenblätter von Espressif und die Dokumentation von Raspberry Pi. Wo die Angaben uneindeutig sind oder fehlen, schreibe ich das offen.
Zuerst ein wichtiger Vorbehalt: „ESP32“ ist eine Familie
Wer „ESP32“ sagt, meint unterschiedliche Dinge. Espressif verkauft eine ganze Familie von Chips:
ESP32 (klassisch): Xtensa LX6, WLAN 4 und Bluetooth 4.2 (Classic + LE),
ESP32‑S3: zwei Xtensa‑LX7‑Kerne, Bluetooth LE 5, natives USB,
ESP32‑C3: ein RISC‑V‑Kern mit bis zu 160 MHz, WLAN 4 und Bluetooth LE 5,
ESP32‑C6: ein RISC‑V‑Kern mit bis zu 160 MHz plus ein Low‑Power‑Kern mit bis zu 20 MHz, WLAN 6 (802.11ax) im 2,4‑GHz‑Band, Bluetooth LE 5 und IEEE 802.15.4 (Zigbee, Thread),
und weitere Varianten.
Hinzu kommt: Kaum jemand kauft den Chip allein. Meist ist es ein Entwicklungsboard mit Modul, sodass Flash-Größe, PSRAM, Spannungsregler oder die Zahl der herausgeführten Pins vom jeweiligen Board abhängen. Im Folgenden vergleiche ich die Chips ESP32 und ESP32‑S3 mit dem Board Raspberry Pi Pico 2 W, weil die reale Auswahl meist so aussieht.
Der Pico 2 W in Kürze
Der Pico 2 W ist ein Board im Format 21 × 51 mm mit dem Mikrocontroller RP2350 und dem Funkchip Infineon CYW43439. Der RP2350 hat eine ungewöhnliche Eigenschaft: Er enthält zwei Arm‑Cortex‑M33‑Kerne und zwei Hazard3‑RISC‑V‑Kerne, und man kann wählen, welches Paar arbeiten soll. Der Takt reicht bis 150 MHz, der SRAM hat 520 kB. Das Funkmodul arbeitet nur im 2,4‑GHz‑Band (802.11n) und unterstützt Bluetooth 5.2; laut Datenblatt werden sowohl BLE (Rollen Central und Peripheral) als auch Bluetooth Classic unterstützt.
Vergleichstabelle
Merkmal | ESP32 (klassisch) | ESP32‑S3 | Pico 2 W (RP2350 + CYW43439) |
|---|---|---|---|
Kerne | 1 oder 2 × Xtensa LX6 | 2 × Xtensa LX7 | 2 × Cortex‑M33 oder 2 × Hazard3 RISC‑V |
Max. Takt | 240 MHz (Variante S0WD: 160 MHz) | 240 MHz | 150 MHz |
SRAM | 520 KB (+16 KB RTC) | 512 KB (+16 KB RTC) | 520 kB |
Flash | extern, abhängig vom Modul (Ausnahme: U4WDH mit 4 MB im Gehäuse) | extern oder im Gehäuse (z. B. 8 MB beim S3FN8) | 4 MB auf der Platine |
PSRAM | optional, abhängig vom Modul | optional, bei einigen Varianten im Gehäuse (z. B. S3R8: 8 MB) | nicht auf der Platine vorhanden |
WLAN | 802.11b/g/n, 2,4 GHz | 802.11b/g/n, 2,4 GHz | 802.11n, 2,4 GHz |
Bluetooth | 4.2 BR/EDR + BLE | LE 5 (ohne Classic) | 5.2, LE + Classic |
GPIO | 34 programmierbar (6 nur Eingänge) | 45 programmierbar | 26 auf die Stiftleiste herausgeführt |
ADC | 12‑Bit‑SAR, bis zu 18 Kanäle | 2 × 12‑Bit‑SAR, bis zu 20 Kanäle | 12 Bit, 500 ksps, 3 Kanäle an der Stiftleiste |
DAC | 2 × 8 Bit | nicht vorhanden | nicht vorhanden |
Programmierbare I/O | RMT, LED PWM, MCPWM | RMT, LED PWM, MCPWM | PIO: 3 Blöcke, 12 Zustandsautomaten |
USB | kein natives USB (meist ein Wandler auf der Platine) | USB OTG Full‑Speed + USB Serial/JTAG | USB 1.1 Host/Device |
Deep‑Sleep (Chip) | 10 µA (RTC‑Timer + RTC‑Speicher) | 7 µA | keine Angaben für die Platine |
Die ESP32‑Daten stammen aus dem Datenblatt ESP32 v5.3, die S3‑Daten aus dem Datenblatt ESP32‑S3 v2.2 und die Pico‑2‑W‑Daten aus den Datenblättern des Pico 2 W und des RP2350.
Kerne und Leistung
Auf dem Papier haben ESP32 und S3 beim Takt die Nase vorn: 240 MHz gegenüber 150 MHz. Espressif nennt in den Datenblättern CoreMark‑Ergebnisse seiner Chips, für den RP2350 gibt es in der Dokumentation von Raspberry Pi jedoch kein offizielles Ergebnis, weshalb ich die Leistung nicht zahlenmäßig vergleiche. Der S3 hat zusätzlich SIMD‑Befehle, die bei der Signalverarbeitung nützlich sind. Der reine MHz‑Unterschied zwischen verschiedenen Architekturen (Xtensa und Cortex‑M33) lässt sich nicht direkt in Leistung umrechnen.
In der Bastlerpraxis ist die Rechenleistung selten der Engpass. Häufiger entscheiden Peripherie, Speicher und Funk.
Speicher
Der SRAM ist sehr ähnlich (512–520 KB). Der Unterschied liegt woanders: ESP32 und S3 können PSRAM nutzen, also zusätzliche Megabyte RAM. Beim S3 steckt er bei einigen Varianten im Gehäuse, z. B. hat der ESP32‑S3R8 8 MB PSRAM. Das ist wichtig bei Displays mit Framebuffer, Kameras oder Audioverarbeitung. Auf dem Pico 2 W gibt es keinen PSRAM.
Der Flash des Pico 2 W beträgt 4 MB auf der Platine, so steht es auf der Produktseite und in der Merkmalsliste des Datenblatts. Beim ESP32 hängt die Flash-Größe vom gewählten Modul oder Board ab.
Funk
Für viele Projekte ist das der wichtigste Teil des Vergleichs:
Der klassische ESP32 hat WLAN 802.11b/g/n mit bis zu 150 Mbit/s sowie Bluetooth 4.2 im Dual‑Mode (Classic BR/EDR + BLE).
Der ESP32‑S3 hat dasselbe WLAN (Kanäle mit 20/40 MHz), aber Bluetooth nur als LE 5 (plus Mesh), ohne Classic.
Der Pico 2 W hat das Funkmodul CYW43439: 802.11n im 2,4‑GHz‑Band und Bluetooth 5.2 mit LE und Classic laut Datenblatt.
Wenn Sie WLAN 6, Zigbee oder Thread brauchen, bietet keine der drei genannten Optionen das. Schauen Sie sich den ESP32‑C6 an.
Alle hier beschriebenen Chips arbeiten ausschließlich im 2,4‑GHz‑Band.
GPIO und Analogtechnik
ESP32 und S3 haben mehr Pins, aber nicht alle sind vollständig frei nutzbar. Beim klassischen ESP32 sind 6 von 34 GPIO reine Eingänge, und 5 sind „Strapping“-Pins, die den Startmodus beeinflussen. Pins, die mit dem Flash/PSRAM verbunden sind, rät das Datenblatt für andere Zwecke ab, prüfen Sie deshalb immer das Pinout des konkreten Boards.
ADC und WLAN beim ESP32. Die ESP‑IDF‑Dokumentation weist ausdrücklich darauf hin, dass ADC2 mit dem WLAN geteilt wird. Der Treiber überwacht zwar den Zugriff, aber eine Messung kann fehlschlagen (Timeout‑Fehler), wenn ADC2 belegt ist. Planen Sie bei aktivem WLAN Analogmessungen deshalb besser auf ADC1.
Der Pico 2 W hat drei ADC‑Eingänge an der Stiftleiste (GP26–GP28). Der ADC hat 12 Bit und 500 ksps. Die Digitalpins des RP2350 sind laut Datenblatt 5‑V‑tolerant, wenn der Chip versorgt ist, das gilt jedoch nicht für die ADC‑Pins: Deren Spannung darf IOVDD um höchstens etwa 300 mV überschreiten. Der klassische ESP32 hat zusätzlich zwei 8‑Bit‑DAC und 10 Touch‑Sensoren (der S3 hat 14 Touch‑Pins, aber keinen DAC).
PIO: der größte Trumpf des RP2350
PIO (Programmable I/O) sind kleine, unabhängige Zustandsautomaten mit eigenem Befehlssatz, die die Pins unabhängig von den Kernen steuern. Der RP2350 hat drei PIO‑Blöcke mit insgesamt 12 Zustandsautomaten. Damit lassen sich eigene Protokolle und ungewöhnliche Schnittstellen „in Hardware“ umsetzen, ohne den Prozessor zu belasten und ohne Timing‑Störungen durch Interrupts.
ESP32 und S3 haben dafür kein direktes Gegenstück. Sie haben stattdessen spezialisierte Peripherie: RMT (Erzeugung und Empfang von Impulsfolgen, z. B. für Infrarot oder adressierbare LEDs), LED PWM und MCPWM (Motorsteuerung). Einen Teil der Aufgaben, für die man beim Pico PIO nutzt, lässt sich mit diesen Blöcken lösen. PIO ist jedoch universeller, daher würde ich sie nicht als gleichwertig ansehen.
Pico 2 W: Kerne ──► PIO (3 Blöcke × 4 Automaten) ──► beliebiges Protokoll an den Pins
ESP32: Kerne ──► RMT / LED PWM / MCPWM ──► Impulsfolgen, PWM, Motoren
Stromverbrauch und Energiesparmodi
Ein fairer Vergleich ist hier schwierig, weil die Dokumente unterschiedliche Dinge angeben:
ESP32 (Tabelle aus dem Datenblatt): Modem‑Sleep bei 240 MHz auf zwei Kernen 30–68 mA, Light‑Sleep 0,8 mA, Deep‑Sleep 10 µA (mit RTC‑Timer und RTC‑Speicher; ca. 150 µA bei laufendem ULP‑Coprozessor), Hibernation 5 µA.
ESP32‑S3: Light‑Sleep typisch 240 µA, Deep‑Sleep 7 µA.
RP2350: Das Datenblatt beschreibt die Modi SLEEP und DORMANT sowie Zustände mit niedrigem Verbrauch. Die dort genannten Werte gelten jedoch für den Mikrocontroller allein. Das Datenblatt des Pico 2 W enthält keine Tabelle zum Stromverbrauch, und auf dem Board arbeiten auch der Spannungswandler und der Funkchip.
Wichtig: Das sind Werte für die Chips, nicht für Entwicklungsboards. Auch die Betriebs‑LED, der Spannungsregler oder der USB‑UART‑Wandler auf dem Board ziehen Strom, was das Datenblatt des Chips nicht abdeckt. Messen Sie bei einem Batterieprojekt den Verbrauch auf der Zielhardware. Bei Anwendungen nach dem Muster „wacht alle Viertelstunde auf, sendet einen Messwert und schläft wieder“ hat die ESP32‑Familie gut dokumentierte Schlafmodi mit dem ULP‑Coprozessor, was eine ihrer Stärken ist.
Ökosystem und Sprachen
Umgebung | ESP32 / S3 | Pico 2 W |
|---|---|---|
Offizielles SDK | ESP‑IDF (Espressif) | Pico SDK (C/C++, auch RISC‑V) |
Arduino | arduino‑esp32 (Espressif) | arduino‑pico (Community‑Projekt, unterstützt den Pico 2 W) |
MicroPython | offizielle Firmware ESP32_GENERIC und ESP32_GENERIC_S3 | offizielle Firmware RPI_PICO2_W |
Rust | esp‑hal (esp‑rs) | rp235x‑hal (rp‑rs) |
Beide Plattformen werden von den gängigsten Entwicklungsumgebungen ausgereift unterstützt. Der Unterschied: Arduino für den ESP32 entwickelt der Hersteller selbst, während der beliebteste Core für den RP2350 ein Community‑Projekt ist. Beim Pico spielt man die Firmware ein, indem man eine UF2‑Datei auf das USB‑Laufwerk zieht.
Preis
Raspberry Pi hat den Pico 2 W im November 2024 zum Preis von 7 USD angekündigt (Pico 2 ohne Funk: ab 5 USD). Das ist der Startpreis aus der offiziellen Ankündigung. Preise in deutschen Shops, mit Mehrwertsteuer und Versand, fallen anders aus. Für den ESP32 nenne ich keine Preise, weil ich keine offizielle Preisliste für Boards gefunden habe und die Spanne zwischen den Board‑Herstellern sehr groß ist.
Was wählen? Empfehlungen nach Einsatzzweck
Erstes Projekt, MicroPython lernen, eine einfache Webseite oder ein Sensor im Haus: Beide Optionen sind gut. Der Pico 2 W punktet mit Einfachheit (ein offizielles Board, eine Dokumentation, UF2), der ESP32 mit der Auswahl fertiger Boards.
Ungewöhnliche Protokolle, präzise Zeitsteuerung, Emulation von Schnittstellen: Pico 2 W, dank PIO.
Batteriebetriebenes Gerät, das meist schläft: eher ESP32/S3, mit gut dokumentiertem Deep‑Sleep und ULP‑Coprozessor. Denken Sie daran, den Verbrauch des gesamten Boards zu messen.
Kamera, Display mit Framebuffer, viele Daten im RAM: ESP32‑S3 mit PSRAM (Kamera‑ und LCD‑Schnittstelle, SIMD, mehr Speicher).
Bluetooth Classic: der klassische ESP32 (Dual‑Mode laut Datenblatt) oder der Pico 2 W, der laut Datenblatt ebenfalls Classic unterstützt. Ich habe nicht geprüft, wie ausgereift die Classic‑Bibliotheken auf beiden Plattformen in konkreten Anwendungen sind, prüfen Sie das also für Ihr Projekt. Der ESP32‑S3 scheidet aus.
Analogmessungen bei aktivem WLAN: Verwenden Sie beim ESP32 ADC1. Der Pico 2 W hat nur drei ADC‑Eingänge an der Stiftleiste.
WLAN 6, Zigbee, Thread: keine der verglichenen Optionen. Wählen Sie den ESP32‑C6.
Natives USB (z. B. HID‑Tastatur): ESP32‑S3 oder Pico 2 W. Der klassische ESP32 hat kein natives USB.
Und wenn Sie nicht wissen, was Sie wählen sollen, kaufen Sie von jedem eines. Beide sind so günstig, dass das eigene Projekt der beste Test ist. Auf dem Pico 2 W können Sie mit dem ersten Projekt in MicroPython beginnen. Erkenntnisse und Fragen können Sie im wirelab‑Forum posten, und wenn Sie ein Gerät auf einer dieser Plattformen brauchen, schauen Sie sich die Seite Elektronik an.
Quellen
Raspberry Pi – Datenblatt Pico 2 W: https://datasheets.raspberrypi.com/picow/pico-2-w-datasheet.pdf
Raspberry Pi – Datenblatt RP2350: https://datasheets.raspberrypi.com/rp2350/rp2350-datasheet.pdf
Raspberry Pi – Produktseite Pico 2: https://www.raspberrypi.com/products/raspberry-pi-pico-2/
Raspberry Pi – „Raspberry Pi Pico 2 W on sale now at $7“: https://www.raspberrypi.com/news/raspberry-pi-pico-2-w-on-sale-now/
Espressif – Datenblatt ESP32: https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf
Espressif – Datenblatt ESP32‑S3: https://www.espressif.com/sites/default/files/documentation/esp32-s3_datasheet_en.pdf
Espressif – Datenblatt ESP32‑C3: https://www.espressif.com/sites/default/files/documentation/esp32-c3_datasheet_en.pdf
Espressif – Datenblatt ESP32‑C6: https://www.espressif.com/sites/default/files/documentation/esp32-c6_datasheet_en.pdf
Espressif – ESP‑IDF, ADC oneshot (ADC2 und WLAN): https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-reference/peripherals/adc/adc_oneshot.html
Espressif – arduino‑esp32: https://github.com/espressif/arduino-esp32
arduino‑pico: https://github.com/earlephilhower/arduino-pico
Raspberry Pi – Pico SDK: https://github.com/raspberrypi/pico-sdk
MicroPython – ESP32_GENERIC: https://micropython.org/download/ESP32_GENERIC/
MicroPython – ESP32_GENERIC_S3: https://micropython.org/download/ESP32_GENERIC_S3/
MicroPython – RPI_PICO2_W: https://micropython.org/download/RPI_PICO2_W/
esp‑hal (Rust): https://github.com/esp-rs/esp-hal
rp‑hal (Rust, rp235x‑hal): https://github.com/rp-rs/rp-hal
