Raspberry Pi Pico W

Raspberry Pi Pico W

News, Raspberry Pi
30 Juni 2022

Im Januar 2021 veröffentlich die Raspberry Pi Fundation nicht ganz so wie gewünscht den Raspberry Pi Pico. Erste Informationen sind damals schon recht früh durchgesickert und die Frage was der Pico den nun genau werde soll, wurde heiß diskutiert. Mittlerweile sind knapp 1,5 Jahren vergangen und wir wissen, dass der Raspberry Pi Pico in die Kerbe von Arduino, ESP und Co. schlagen sollte. Mit den ersten offiziellen Informationen und dem Raspberry Pi Pico war nicht ganz klar, wo das neuste Produkt nun genau einzuordnen ist, wie es programmiert werden kann und was technisch wirklich machbar ist.

In diesem Blog will ich dir etwas über den Raspberry Pi Pico und den jetzt kommenden Raspberry Pi Pico W erzählen und warum ich persönlich denke, dass der Raspberry Pi Pico W der wahrscheinlich bessere MicroController der Raspberry Pi Fundation ist.

Jetzt den neuen Pico W bei BerryBase bestellen!

WARENKORB

Bestandsaufnahme, der Raspberry Pi Pico

Wie in der Einleitung schon erwähnt, ist der Raspberry Pi Pico, im Folgenden einfach nur noch Pico genannt, im Januar 2021 der Öffentlichkeit vorgestellt worden siehe Abbildung 1.

Abbildung 1: Der Raspberry Pi Pico

Durch den 32-Bit RP2040-MicroController der Raspberry Pi Fundation, der auf einem Dual-Core ARM Coretex-M0+-Design basiert, wollte man einen kostengünstigen, hoch verfügbaren, einfach verwendbaren und für zeitkritische Applikationen zuverlässigen MicroController bieten. Durch die insgesamt 30 GPIOs sollten genug Pins vorhanden sein, damit der (Hobby-)Programmiere seine Applikationen zum Laufen bekommt. Diverse Kommunikationsschnittstellen, 16 PWM-Ios und ein 4-Kanal 12-Bit Analog-Digital-Wandler sollten das Herz des Pico-Programmierers höherschlagen lassen. Gerade einmal 4,10 Euro kostet der Pico bei berrybase.de im Shop. Zum Vergleich, der Arduino Uno kostet knapp 19 Euro, ist aber deutlich größer und der Arduino Nano kostet zwar nur 6,90 Euro, hat dafür aber weniger GPIOs. Beide genannten Arduinos haben zudem den „Nachteil“, dass beide einen ATmega-Controller verwenden.

Programmiert werden muss der Pico mit MicroPython oder durch aufspielen von passenden *.-elf-Dateien auch CircuitPython. Letzteres ist ein sogenannter Fork von MicroPython, den Adafruit pflegt und mit reichlich Funktionen erweitert hat. Unter der Haube steckt bei beiden aber Python. Das war vielleicht schon der erste Punkt, warum der Pico bei vielen Bestandsprojekten nicht so den Anklang gefunden haben mag, ich kann mich aber auch täuschen. Zwar gibt es mittlerweile Mittel und Wege auch über die Arduino IDE oder Visual Studio Code mit PlatformIO den Pico zu programmieren. Aus meinen bisherigen Erfahrungen läuft der Pico aber tatsächlich nur richtig gut mit Micro- bzw. CircuitPython.

Ein großer Pluspunkt beim Pico ist in meinen Augen der RP2040. Mit zwei separaten Kernen, wie es z.B. auch beim ESP32 der Fall ist, kann man herrlich Aufgaben teilen und kann fast spüren, wie schnell der Pico arbeitet. Das größte Problem der Arduino-Familie besteht allerdings auch beim Pico. Es gibt kein Bluetooth oder WiFi! Bei beiden Controllerfamilien kann man das, mehr oder weniger, nachrüsten. Ich empfand es persönlich aber als sehr Schade, dass der Pico eben keins dieser Technologien beherrscht. Projekte, die darauf angewiesen sind, konnten so nicht portiert werden oder aber mussten mit weiteren Modulen mühsam neu aufgebaut werden. Problem ist dabei, dass GPIOs für die Nutzung dieser Shields blockiert wurden, die ggf. notwendig für das eigene Projekt sind.

Das war auch für mich bisher der Grund, warum der Pico weniger bei meinen Projekten zum Einsatz kommt.

Der Raspberry Pi Pico W

Mit dem 30. Juni 2022 stellte die Raspberry Pi Fundation die nächste Generation vom Pico vor, den „Raspberry Pi Pico W“, im folgenden nur Pico W genannt. Mit der kleinen Namenserweiterung „W“ scheint man in meinen Augen auf die Bedürfnisse und Wünsche der Community und Maker eingegangen zu sein ein Bluetooth- und WLAN-Erweiterung zu integrieren, ohne dabei die ursprünglichen Maße 51,3mm(L) x 21mm(B) X 3,9mm(H) zu verändern. Das hört sich jetzt erst einmal nicht besonders an, die Leistung aber weitere Hardware auf eine schon vorhandene Platine zu integrieren und das Grundlayout nicht zu verändern ist nicht so einfach, wie man denken mag. Schaut man sich mal Abbildung 2 an, so wird deutlich, dass die Hardwaredesigner viel Mühe investiert haben.

Abbildung 2: Das Vorabdesign vom Raspberry Pi Pico W

Durch die Bluetooth- und WLAN-Erweiterung mussten die bisherigen Bauteile auf der Platine enger zusammenrücken und die Leiterbahnen neu orientiert werden. Der bisherige RP2040 ist dabei weiterhin das Herzstück vom Pico W. Wie der erste Pico wird auch der Pico W als Headerless oder mit schon angelöteter Stiftleiste ausgeliefert. Wie bereits oben erwähnt, lässt die Vorabspezifikation darauf schließen, dass das bisherige Pinout sich vom ersten Raspberry Pi Pico nicht unterscheiden wird. Das hilft den bisherigen (Hobby-)Programmierern, Ihre Projekte einfach zu erweitern. Mit gerade einmal knapp 7 Euro, laut Vorabdokument, ist der Pico W preislich auf dem Level eines ESP32 NodeMCU Developmentboard. Da das ESP32 NodeMCU Developmentboard mit den Maßen 50mm(L) X 20mm(B) × 8 mm(H) zwar etwas kleiner, aber deutlich höher ist, muss der (Hobby-)Entwickler Gedanken über den geeigneten für sein Projekt machen MicroController machen.

Zahlen bitte, der direkte MicroController-Vergleich

Ich habe in diesem Blog bisher viele Daten angesprochen, einen direkten Vergleich bisher nur indirekt präsentiert. Das möchte ich gerne in diesem Kapitel nachholen und die Raspberry Pi Picos mit den Alternativen vergleichen. Den Anfang soll der erste Raspberry Pi Pico mit dem Arduino Uno bzw. Nano machen, siehe Tabelle 1. Diese passen in meinen Augen am besten für den Vergleich, da alle über keine drahtlose Kommunikation verfügen.

 Raspberry Pi PicoArduino Uno Rev 3Arduino Nano
ControllerRP2040ATmega328PATmega328
Taktfrequenz133MHz16MHz16MHz
Cores211
SRAM264KB2KB2KB
Betriebsspannung3,3V5V5V
GPIOs*302022
Maße (LxB) mm51,3 x 2153,4 x 68,669 x 53
USB-AnschlussMicro-USBUSB-AMicro-USB
ProgrammierspracheMicro- CircuitPythonArduino-SketchArduino-Sketch
WiFiNein, nur über ShieldsNein, nur über ShieldsNein, nur über Shields
BluetoothNein, nur über ShieldsNein, nur über ShieldsNein, nur über Shields
PreisUm die 4-5 EuroUm die 20 EuroUm die 14 Euro
Tabelle 1: Der Pico im Vergleich zum Arduino Uno und Nano

*)Analoge und digitale Pins zusammengefasst

Man sieht an der Stelle direkt, dass Arduino Uno und Nano im Grunde keine Chance gegen den Pico haben. Einzig bei der Programmiersprache ist in meinen Augen der Arduino vorne, da Arduino-Sketch bei den meisten (Hobby-)Entwicklern schon zur festen Programmiersprache gehört. Entwickler, die mit Python Erfahrung haben, werde auch schnell mit dem Pico Projekte realisieren können. In Sachen Speicher ist der Pico ebenfalls nicht zu schlagen, es fehlen aber die drahtlose Kommunikation.

Nun wollen wir mal den Pico W mit gängigen MicroControllern im gleichen Segment vergleichen, siehe Tabelle 2. Hier dient der ESP32 NodeMCU und der D1 Mini 8266 als Vergleichsplattform.

Raspberry Pi Pico WESP32 NodeMCUD1 Mini ESP8266
ControllerRP2040ESP-WROOM-3232-bit Xtensa L106
Cores221
SRAM264KB520KB96kB
Betriebsspannung3,3V3,3V3,3V
GPIOs*303010
Maße (LxB) mm51,3 x 2125.4 x 48.334.2 x 25.6
USB-AnschlussMicro-USBMicro-USBMicro-USB
ProgrammierspracheMicro- CircuitPythonMicro- / CircuitPython Arduino SketchMicro- / CircuitPython Arduino Sketch
WiFiJaJaJa
BluetoothJa*JaJa
PreisKnapp 7 EuroKnapp 7 EuroKnapp 5 Euro
Tabelle 2: Pico W im Vergleich

*) Wird laut dem aktuellen Release-Dokument nicht verfügbar sein, sollte softwareseitig später nachgeliefert werden.

Vom Prinzip spielt der Pico W mit der Bluetooth- und WLAN-Erweiterung nun bei den „großen“ MicroControllern mit. Ich finde es aber schade, dass nicht gleich zu Beginn Bluetooth verwendbar ist. Durch den IEEE 802.11 b/g/n – Standard sollte sich der Pico W mit dem Router, Repeater oder ggf. Handyhotspot mühelos verbinden können. Mit dem nachgelieferten Bluetooth 5.2 sollten später Projekte auch mit diesem Standard funktionieren.

Zusammenfassung

Die bisherigen Daten vom Raspberry Pi Pico W lassen nur Gutes vermuten. Die Wünsche und Anregungen der Maker scheinen erhört worden zu sein, was die kleine Himbeere nun in der großen Liga mitspielen lässt. Der Speicher vom Pico W reicht aus, um auch größere Projekte zu realisieren. Aktuell hatte ich noch nicht die Möglichkeit einen Raspberry Pi Pico W in den Händen zu halten, um mir die Hardware genauer anzusehen. Da Python mittlerweile eine sehr beliebte Programmiersprache ist, sollte es hier keinerlei Probleme geben. Abzuwarten bleibt, wie die Integration der Bibliotheken verlaufen und wie die Dokumentation geschrieben sein wird. Die ersten Gehversuche mit dem Pico W sollten schnell erledigt sein, fraglich an der Stelle ist, wie die drahtlose Kommunikation funktionieren wird.

Bei anderen MicroControllern gibt bzw. gab es immer mal wieder Probleme mit der drahtlosen Kommunikation oder mit Überhitzung. Ich hoffe persönlich, dass die Raspberry Pi Fundation hier ausgiebig getestet hat, um böse Überraschungen zu vermeiden. Um ehrlich zu sein, werde ich versuchen zum Release einen Raspberry Pi Pico W zu ergattern. Ich möchte gerne den Fortschritt bei der Entwicklung vom Raspberry Pi Pico mit eigenen Augen sehen.

Zwar habe ich kein konkretes Projekt im Kopf, wofür ich den Raspberry Pi Pico W benötigen würde, jedoch will ich Erfahrung mit dem Raspberry Pi Pico W sammeln. Gleichzeitig frischt es auch meine Kenntnisse über Python auf. Sobald ich einen Raspberry Pi Pico W bei mir auf den Tisch habe, werde ich weitere Tests durchführe und (sofern nötig) eine Anleitung für die Inbetriebnahme des Pico W erstellen.

Wie hilfreich war dieser Beitrag?

Klicke auf die Sterne um zu bewerten!

Durchschnittliche Bewertung 4.8 / 5. Anzahl Bewertungen: 27

Bisher keine Bewertungen! Sei der Erste, der diesen Beitrag bewertet.

Über Jörn Weise

Freier Blogger, Dipl.-Ing. (FH) Mechatronik und Hobbymaker seit 10 Jahren

Kommentare

  1. Ich habe für den Internetzugang für den Pico einen ESP-01 verwendet.
    Mit dem BSP von Earle F. Philhower III kann der Pico sehr gut in der Arduino IDE programmiert werden. Für den ESP-01 gibt es eine geeignete Library. Das Experimentierboard von Cytron sieht bereits die ESP-01 Erweiterung vor.
    Im Septemberheft von Elektor stelle ich auf dieser Basis einen Beitrag mit dem Titel “RP2040-basierte Luftgütemessung” vor.
    Den Raspberry Pi Pico W habe ich heute bekommen. Auf die Internet-Konnektivität bin ich sehr gespannt.

  2. Moin!

    merkwürdiger Artikel. Im Vergleich fehlen irgendwie ein paar essentielle Sachen. Wenn man den Pico mit den Arduino-Boards vergleicht kann man die PIO-Funktion des RP2040 wohl kaum unerwähnt lassen, etwas, das einige Anwendungen überhaupt erst möglich macht und so in der Arduino-Welt nicht existiert.

    Besonders irritiert mich aber die Aussage, dass der Pico nur mit (Micro-/Circuit-)Python programmierbar wäre. Das Pico-SDK ist geradezu herausragend dokumentiert und lässt sich selbst ohne Platform-IO sehr einfach installieren und einsetzen, wenn man der ausführlichen Anleitung auf der Raspberry Pi Seite folgt. Selbst Debuggen über GDB oder grafisch über VS-Code ist über den SWDIO Port richtig einfach. Dass man den Pico nur in Python programmieren könnte ist jedenfalls absolut nicht korrekt.

    1. Hallo Arne,

      danke für das Feedback zu meinem Artikel. In der Tat ist der Vergleich zwischen dem Pico (W) und dem Arduino, als ob man Äpfel und Birnen vergleicht. Die PIO-Funktion aber einem Laien auf die schnelle zu erklären, da wird es dann wieder schwierig,

      Ich habe nie behauptet, dass der Pico rein mit Micro oder CircuitPython läuft, im Gegenteil, ich schrieb sogar, dass es möglich ist Zwar gibt es mittlerweile Mittel und Wege auch über die Arduino IDE oder Visual Studio Code mit PlatformIO den Pico zu programmieren. Aus meinen bisherigen Erfahrungen läuft der Pico aber tatsächlich nur richtig gut mit Micro- bzw. CircuitPython.
      Ich habe mehrere Stunden damit verbracht unter VS Code den Pico zum laufen zu bekommen, trotz langer rechere habe ich aber keine Board-Lib gefunden, die dem Pico richtig zum laufen gebracht hat. Daher schrieb ich auch, aus meiner bisherigen Erfahrung, was nicht heißen muss, dass es doch funktioniert! Solltest du da eine genaue Seite haben, so lass es mich gerne wissen. Ich bin immer gewillt mich privat und für meine Blogs mich weiterzubilden. Tatsächlich hatte ich mit VS Code ein kleines Skript mit zwei einfachen Schleifen programmiert, was in einem Crash endete. Bei zwei einfachen for-loops, die ineinander verschachtelt waren, sollte das kein Problem sein. Ich schätze hier hat der Compiler Mist gebaut, aber nach der langen Suche habe ich dann meine Versuche abgebrochen.

      Gruß

      Jörn Weise

      1. Hallo,

        der Raspberry Pico ist der genialste MicroController für Privatanwender. Es gibt nichts vergleichbares zu diesem Preis. Mit dem Pico habe ich bereits mehrere sehr komplexe Projekte realisiert.

        Deine Aussage über die Programmierbarkeit des Picos ist total falsch. Er läßt sich sehr einfach über die Arduino IDE und PlatformIO programmieren und wenn man einen Segger J-Link besitzt mit PaltformIO sogar debuggen.

        Ich glaube auch nicht das der Compiler bei ineinander verschachtelten Schleifen Mist baut, so leicht sind diese nicht aus dem Tritt zu bringen, es könnte auch ein Programmierfehler vorliegen. Richtig wäre die Aussage das Sie es nicht geschafft haben diesen mit der Arduino IDE bzw. PlatformIO zum Laufen zu bringen.

        Auch stimmt der Begriff Script bei C++ Programmen nicht. Script wird verwendet wenn der Programmcode zur Laufzeit interpretiert wird, bei C++ wird der Code in Maschinencode übersetzt.

        1. Hallo Werner,
          da viele Hobbyprogrammierer nicht so tief in C++ stecken, habe ich meinen Programmcode, aufgrund der wenigen Zeilen Code, einfach Skript genannt. Das mag einen eingefleischten C++-Entwickler (der ich auch bin) vllt. sauer aufstoßen, berrybase ist aber kein Fachforum.
          Auch ich habe schon mit dem Pico einige Projekte umgesetzt, aber eben mit MicroPython. Bei VS Code mit PlatformIO habe ich bisher immer Probleme gehabt. Einen Programmierfehler schließe ich hier aus, da der selbe Code auf einem ESP32 Node MCU und einem D! Mini (ESP8266) ohne Probleme lief und keine Abstürze verursacht hat. Den Pico konnte ich danach nicht mehr verwenden und musste ihn neu flashen. Das hier vllt. ein Problem in meiner Entwicklerumgebung steckt, hatte ich bereits mit Arne erörtert.
          Der Punkt mit der Arduino IDE stimmt hier auch nur zur Häflte. Unter Windows 7 geht es zum Beispiel nicht so einfach, da hier die Treiber fehlen und man tricksen muss.
          Wenn Sie schon einige Projekte umgesetzt haben, freuen wir uns natürlich, wenn Sie diese vorstellen.
          Gruß
          Jörn Weise

          1. Hallo Jörn,

            die Intension Deines Blogs ist mir schon klar. Aber gerade da viele Anfänger den Blog lesen, sollten die Aussagen korrekt sein und dies ist im Fall von PlatformIO und dem Raspberry Pico nicht gegeben. Ich kenne keine IDE mit der so viele unterschiedliche Controller in einem Framework unterstützt werden. Der Einstieg mag holprig sein aber es lohnt sich.

            Für die Entwicklung nehme ich sehr gerne den Arduino Zero (HW Debugger eingebaut). Den so entwickelten Code spiele ich auf Controller anderer Bauart (z.B. Nano, Pico ein. Dies ist mit PlatformIO extrem leicht. Dabei habe ich festgestallt das die Controller sich bei fehlerhaftem Code unterschiedlich verhalten. Dies liegt an dem verwendeten Compiler bzw. den verwendeten Framework. Ein Programmcode ist nicht unbedingt fehlerfrei wenn er auf einem anderen Controllertyp läuft und übersetzbar ist. In der SW-Entwicklung ist es nicht unüblich den Code mit unterschiedlichen Compilern zu übersetzen.

            Die entsprechende Fehlersuche kann spannend und lehrreich sein. Ich kann weiterhin einen HW Debuger empfehlen (z.B. Segger J-Link EDU). Bei dem Pico soll auch ein zusätzlicher Raspberry als HW-Debugger verwendet werden können (selbst noch nicht probiert), so mancher hat noch einen in der Schublade.

            Mag sein das es mit Windows 7 nicht funktioniert, aber das sollte man nun wirklich nicht mehr nehmen

            Also weiterhin schönes bloggen
            Gruß
            Werner

  3. Moin moin
    spannende Sache.

    Was mich interessieren würde und was ich bisher nirgends gelesen habe.
    Kann der Pico W wie per USB auch per Bluetooth HID?

    Ich habe ein paar Custom Keyboards auf KMK-Firmware Basis bisher alle Verkabelt. Aber gerade für die kleinen minimalistischen Tastaturen wäre eine Bluetooth Anbindung eine echte Bereicherung da die aktuellen Lösungen unterschiedliche Pinouts haben und gleicht mal das doppelte bis dreifache kosten.

    Beste Grüße

    1. Hallo Aaron,

      aktuell kann ich zu Bluetooth noch nichts sagen, da bisher dieses Feature noch nicht aktiv genutzt werden kann. Das soll, laut dem letzten Stand vom Dokument mit einem späteren FW-Update nachgereicht werden.

      Gruß
      Jörn Weise

  4. Toller Beitrag, wobei der ESP8266 kein dual Core ist sondern nur einen 32-bit Xtensa L106 Kern hat.
    Der ESP 32 hat, jeh nach version, zwei 32-bit Xtensa LX6 Kerne.

    1. Hallo Nils,

      der Fehler ist dann gestern noch beim Schreiben passiert, gut aufgepasst. Ich habe das korrigiert, um nicht zuviel Verwirrung zu stiften. Beim ESP32 kommt es drauf an wo man guckt. Ich finde bei vielen ESP32-Modellen den ESP-WROOM-32 als SoC.

Hinterlasse ein Kommentar

XHTML: Sie können diese Tags verwenden: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>