Nach gut einem Jahr präsentiert die Foundation ein Upgrade des Raspberry Pi Pico. Der Pico W verfügt nun über WLAN und Bluetooth, was ihn für viele IoT-Projekte prädestiniert.
Neben den ausgewachsenen Raspberry-Pi-Varianten bietet die Raspberry Pi Foundation seit Anfang Januar 2021 mit dem Pico auch ein einfacher strukturiertes Mikrocontroller-Board im Arduino-Nano-Format an. Auf dem Pico arbeitet im Gegensatz zum RasPi mit seinen aktuell vier bis zu 1,8 GHz schnellen Kernen ein von der Foundation selbst entwickelter RP2040-Mikrocontroller mit zwei ARM-Cortex-M0+-Kernen und lediglich 133 MHz Taktung. Dafür benötigt der Pico kein Betriebssystem, er lässt sich direkt mit MicroPython, C/C++ und Visual Studio Code programmieren. Standardmäßig ist der Raspberry Pi Pico für die Programmierung mit C und C++ eingerichtet, für Programme stehen 264 KByte SRAM zur Verfügung. Der Preis für das Board liegt bei gerade einmal 4 US-Dollar.
So beliebt der Pi Pico bei IoT-Anwendungen auch ist, dem Board fehlten bislang Kommunikationsschnittstellen wie WLAN oder Bluetooth. Mit dem Pico W rüstet die Foundation nun den Pico entsprechend auf. Der Prozessor des jetzt präsentierten Pico W bleibt derselbe, ihm zur Seite steht nun aber ein Wireless-Chip des Typs CYW43439, der WLAN und Bluetooth integriert. Darüber hinaus gibt es mit dem Pico H und Pico WH Varianten mit bereits vorgelöteten Header-Pins (siehe Tabelle “Varianten des Pi Pico”). Der Preis ändert sich dabei nicht wesentlich: Der Pico W kostet 6 US-Dollar, der Straßenpreis in Deutschland bewegt sich je nach Verfügbarkeit zwischen 7 und 8 Euro. Allerdings dürfte er in Anbetracht des Euro-Verfalls noch etwas steigen.
|
### |
Pico |
Pico H |
Pico W |
Pico WH |
|---|---|---|---|---|
|
Preis |
4 USD |
5 USD |
6 USD |
7 USD |
|
Header1 |
– |
+ |
– |
+ |
|
WLAN |
– |
– |
+ |
+ |
|
Bluetooth2 |
– |
– |
+ |
+ |
|
Marktstart |
01/2021 |
06/2022 |
06/2022 |
08/2022 |
|
1 Der Header ist bei diesen Varianten vormontiert. |
||||
|
2 Bluetooth ist integriert, benötigt aber noch ein Firmware-Update. |
||||
WLAN und Bluetooth
Der auf dem Pico W und Pico WH verbaute Chip CYW43439 unterstützt IEEE 802.11 b/g/n Wireless LAN und Bluetooth 5.2. Zum Verkaufsstart der neuen Variante funktionierte jedoch nur der WLAN-Part, der Support für Bluetooth musste per Firmware-Update noch von den Entwicklern der Foundation nachgerüstet werden. Im Vergleich zum großen Bruder RasPi 4 (Dualband-Wi-Fi 2,4/5 GHz) funkt der Pico W nur im 2,4 GHz-Band (Wi-Fi 4).
In Sachen Bluetooth liegt der CYW43439 des Pico W mit Bluetooth 5.2 und BLE (Bluetooth Low Energy) jedoch über den Möglichkeiten des RasPi 4. Letzterer beherrscht lediglich Bluetooth 5.0 und kann mit der stromsparenden Funktechnik von BLE noch nicht umgehen. Beim Pico funken Wi-Fi und Bluetooth über eine gemeinsam genutzte Antenne. Sie liegt am Rand des Boards gegenüber des USB-Anschlusses, zu erkennen an der Drahtschleife.
Programmierbeispiel
Für einen ersten kurzen Test der Fähigkeiten des Pico W verbinden wir ihn via WLAN mit dem Heimnetz, starten einen Webserver und steuern über ein simpel gestricktes Web-Frontend die auf dem Board angebrachte LED. Der einfachste Weg dahin führt über MicroPython. Dafür müssen Sie zuerst die geeignete Firmware einspielen. Laden Sie dazu die offizielle Firmware der Raspberry-Pi-Entwickler, micropython-firmware-pico-w-290622.uf2, aus dem Netz herunter [1]. Alternativ gibt es auch neuere Builds direkt von MicroPython selbst [2]. Beachten Sie, dass sich die Firmware für den Pi Pico nicht für den Pico W eignet. Eine Übersicht aller von MicroPython unterstützten Mikrocontroller finden Sie auf der Homepage des Projekts [3].
Anschließend drücken Sie den BOOTSEL-Taster auf der Platine und verbinden das Board über den Micro-USB-Port mit einem Computer. Wir verwendeten im Test einen Raspberry Pi 400 mit aktuellem Raspberry Pi OS (beachten Sie dabei den Kasten “Wackelkontakt”). Der Pico W sollte sich am System als Laufwerk mit dem Namen RPI-RP2 melden. Kopieren Sie danach einfach die UF2-Datei per Drag & Drop in den Speicher des Pico W (Abbildung 1). Wundern Sie sich nicht, dass sich der Mini-Rechner nach dem Kopiervorgang unvermittelt aus dem System ausklinkt und die Datei nach erneutem Einbinden des Pico-Laufwerks nicht mehr vorhanden ist. Das System kopiert die Firmware direkt in den Speicher des Pico W, ein Auslesen der UF2-Datei ist nicht vorgesehen.
Wackelkontakt
Der auf dem Pico W angebrachte Micro-USB-Port ist nicht dafür vorgesehen, permanent die Last beim Ab- und Anstecken des USB-Kabels aufzunehmen. Unserer Erfahrung nach verliert die Buchse beim Experimentieren sehr schnell den Kontakt zur Platine und sorgt für Verbindungsabbrüche. Lassen Sie den Micro-USB-Stecker daher besser am Pico angesteckt und ziehen Sie beim Entwickeln für Resets das Kabel vom PC ab.
Zum Programmieren des Pico W nutzen Sie die bei Pi OS vorinstallierte Entwicklungsumgebung Thonny, die Sie aus dem Anwendungsmenü unter Entwicklung | Thonny Python IDE aufrufen. Um mit MicroPython zu arbeiten, tippen Sie rechts unten im Fenster auf Python**3.9.2 und stellen die Auswahl von The same interpreter which runs Thonny (default) auf MicroPython (Raspberry**Pi Pico) um – die Option erscheint nur, wenn der Pico per USB mit dem System verbunden und zuvor die MicroPython-Firmware installiert wurde (Abbildung 2).

Abbildung 2: Für die Programmierung des Pico mit MicroPython müssen Sie Thonny entsprechend konfigurieren.
Funktionstest
Um zu prüfen, ob der WLAN-Part des Pico W auch wirklich funktioniert, lassen Sie das System nach den in der Umgebung verfügbaren drahtlosen Netzwerken suchen. Wechseln Sie dazu im unteren Bereich des Thonny-Fensters in die Shell und geben Sie am Prompt >>> die Kommandos aus Listing 1 ein. Sie können sie in einem Rutsch übertragen oder auch einzeln absetzen und jeweils mit einem Druck auf die Eingabetaste ausführen. Am Ende sollte der Pico die gefundenen SSIDs in einer unformatierten Liste aufzählen (Abbildung 3).
Listing 1
WLAN-Liste
import network wlan = network.WLAN(network.STA_IF) wlan.active(True) print(wlan.scan())
Zur Programmierung übernehmen Sie den Inhalt von Listing 2 in den noch unbenannten Reiter <untitled> oberhalb des Shell-Bereichs und passen die Zugangsdaten für Ihr WLAN an. Anschließend tippen Sie auf Save und geben im Dialog Where to save an, dass die Datei auf dem Raspberry**Pi Pico gespeichert werden soll. Im Speicherdialog tragen Sie als Namen für das File secrets.py ein. Danach öffnen Sie mit einem Klick auf New einen neuen Reiter und legen darin die Datei index.html an. Den Inhalt übernehmen Sie aus Listing 3. Die Datei wird später vom Webserver ausgelesen und dann im Webbrowser angezeigt.








