Der Raspberry Pi Pico W hat mit dem Raspberry Pi außer dem Namen wenig gemeinsam. Er ähnelt mehr dem Arduino. Pico ist zum Programmieren auf einen zweiten Rechner angewiesen, und Micropython sorgt dafür, dass dies glatt von der Hand geht. Den Pico gibt es in mehreren Varianten: Der Pico W hat keine Header, kostet dafür aber auch nur rund sechs Euro. Der Pico WH hat angelötete Header und ist für neun Euro zu haben. Das empfiehlt sich, wenn Sie mit den GPIO-Pins arbeiten wollen, um Sensordaten einzulesen. Beide Versionen gibt es in Onlineshops wie SB Components oder Pimoroni. Der neuere Pico 2W mit einem schnelleren Microprozessor liegt in der gleichen Preisklasse.
Eckdaten der Hardware
Als Prozessor arbeitet ein RP2040 beziehungweise RP2350 (beim Pico 2W) und der Arbeitsspeicher beträgt nur bis zu 520 KB (!) SRAM. Als Speicherplatz stehen maximal 4 MB Flashspeicher bereit. Das klingt sehr bescheiden, genügt aber für ein kleines Entwicklerboard. Der Stromverbrauch liegt im Schnitt bei minimalen 0,4 Watt. Eine Gemeinsamkeit mit dem „großen“ Raspberry Pi scheinen die 40 GPIO-Pins, jedoch ist die Pin-Belegung eine andere. Als einziger Anschluss ist ein Micro-USB-Port zur Stromversorgung und Datenübertragung vorhanden. Sie benötigen lediglich ein Micro-USB-Kabel. Der Pico W lässt sich dann mit einem Raspberry Pi oder einem Linux-Rechner steuern.
Micropython installieren
Der Pico kann kein Betriebssystem wie Raspberry-Pi-OS ausführen. Stattdessen kommt eine Firmware namens Micropython zum Einsatz. Die sorgt dafür, dass sich das Board über Python-Befehle steuern lässt. Micropython ist eine Python-3-Variante, die zahlreiche Bibliotheken mitbringt. Mit der interaktiven Kommandozeile, auch REPL genannt (Read-Eval-Print-Loop), lassen sich Befehle via USB-Serial ausführen. Micropython ist Board-spezifisch, daher gibt es unterschiedliche Versionen für den Pico, den Pico W und den Pico 2W. Stellen Sie sicher, dass Sie die richtige Version für Ihr Board verwenden.
Die aktuellen Versionen von Micropython finden Sie unter https://micropython.org/download. Laden Sie die passende herunter. Dann verbinden Sie das Micro-USB-Kabel mit dem Pico W. Danach halten Sie die „BOOTSEL“-Taste auf dem Pico W gedrückt und verbinden das andere Ende des Kabels mit dem Rechner. Erst danach jetzt lassen Sie die „BOOTSEL“-Taste los. Der Pico erscheint im Dateisystem des Linux-Rechners als Massenspeicher. Ziehen Sie einfach die heruntergeladene UF2-Datei per Drag & Drop auf das Pico-Laufwerk. Der Pico W verschwindet als Flashlaufwerk aus dem Dateimanager und startet sich automatisch neu. Jetzt läuft darauf Micropython und Sie können über USB-Serial auf die REPL-Kommandozeile zugreifen. Das alles funktioniert noch einfacher, als es sich anhört.
Programmierumgebung einrichten
Es gibt mehrere Möglichkeiten, den Pico W zu programmieren, sowohl in Bezug auf die Programmiersprache als auch auf die Software. Der bequemste Weg heißt Thonny. Diese Entwicklungsumgebung (IDE) ist einem Raspberry Pi bereits vorinstalliert. Auf Linux-Rechnern lässt sie sich mit
sudo apt install thonny
nachinstallieren. Starten Sie das Programm. Über das Menü unten rechts geben Sie den Anschluss an. Wählen Sie dort „MicroPython (Raspberry Pi Pico)“. Fortan führt der Pico W alle Befehle aus, die Sie im unteren Teil der IDE eingeben. Wenn Sie Code im oberen Teil in den Thonny-Editor schreiben und speichern, lässt er sich mit der grünen Playtaste ausführen. Wenn Sie eine Datei mit dem Namen „main.py“ ablegen, führt der Pico W sie jedes Mal aus, wenn er hochfährt. Beachten Sie, dass der Pico keine Status-LED besitzt. Sie sehen nur im Hostsystem, ob es ihn überhaupt erkannt hat. Eine Onboard-LED ist hingegen vorhanden.

Erste Schritte mit dem Pico W
Fortan halten Sie die „BOOTSEL“-Taste nicht mehr gedrückt, wenn Sie den Pico W anschließen, da Sie diesen Bootloader-Modus nicht mehr benötigen. Wenn Sie Befehle in der Kommandozeile von Thonny eingeben, führt der Pico W diese umgehend aus. Nach
print("Hallo Welt!")
und Eingabetaste sehen Sie, wie der Pico W den Text „Hallo Welt!“ ausgibt. Auch Messwerte von Sensoren lassen sich so anzeigen. Als kleines Testprojekt bringen Sie die Onboard-LED zum Blinken. Wenn Sie den nachfolgenden Code in das obere Feld von Thonny eintippen, stellen Sie sicher, dass die letzten beiden Zeilen eingerückt sind. Python kennzeichnet so zusammengehörige Codeblöcke und Schleifen.
import machine
import time
led = machine.Pin("LED", machine.Pin.OUT)
while True:
led.toggle()
time.sleep(2)
Das Programm importiert die Module „machine“ und „time“, damit der Pico W mit Hardware umgehen kann und das Konzept der Zeit kennt. Dann weisen Sie der Onboard-LED den Namen „led“ zu und setzen sie auf Output. Eine Endlosschleife sorgt dafür, die LED ein- oder auszuschalten, zwei Sekunden zu warten und wieder von vorne zu beginnen. Sie können das Programm auf dem Steuerrechner speichern oder auf dem Pico W. Ein Klick auf den grünen Button führt es aus. Die LED blinkt im Zwei-Sekunden-Rhythmus. Um das Programm zu beenden, klicken Sie auf das Stoppsymbol.

WLAN einrichten
Da der Pico W WLAN und Bluetooth beherrscht, ist es an der Zeit, ihn ins Netz zu bringen. Erstellen Sie in Thonny eine Variable namens „SSID“ und speichern Sie darin die SSID Ihres WLANs. Das Gleiche machen Sie mit dem WLAN-Passwort, zusammen also wie folgt:
SSID = "[WLAN-Name]"
PASSWORD = "[WLAN-Passwort]"
Speichern Sie die Datei auf dem Pico W als „secrets.py“. Dann erstellen Sie ein weiteres Programm und geben folgenden Code ein:
import network
import secrets
import time
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect(secrets.SSID, secrets.PASSWORD)
print(wlan.isconnected())
Speichern Sie das Programm auf dem Pico W als „Wi-Fi.py“ und führen Sie es aus. Falls Sie als Ausgabe „False“ erhalten, haben Sie sich vielleicht bei den Angaben in der Secrets-Datei vertippt. Manchmal genügt es auch, es nach ein paar Sekunden erneut zu versuchen. Mit etwas Python-Wissen lässt sich nun ein Server erstellen.
Temperaturmessungen: Der Pico W hat einen integrierten Temperatursensor. Der ist jedoch ungenau und kompliziert auszulesen. Deshalb lesen Sie besser externe Sensordaten ein.
Dafür kommt der verbreitete Sensor für Luftfeuchtigkeit und Temperatur DHT22 mit drei oder seltener vier Pins zum Einsatz, auch AM2302 genannt (circa 9 Euro). Stecken Sie den Pico W mit Headern auf ein Breadboard und den Sensor ebenso.
Dann verbinden Sie mit Hilfe von Jumper Wires (von vorne gesehen) den linken Sensor-Pin mit Pin 36 des Pico W. Das ist die Stromversorgung. Die Pins 1, 2 und 39 sind beschriftet, um die Orientierung zu erleichtern. Den mittleren Pin des Sensors verbinden Sie mit Pin 20, das entspricht GPIO 15, und den rechten mit dem Masse-Pin 18.
Wenn Sie folgenden Code
from machine import Pin
from utime import sleep
from dht import DHT22
sleep(10)
dht22_sensor = DHT22(Pin(15, Pin.IN, Pin.PULL_UP))
while True:
dht22_sensor.measure()
temp = dht22_sensor.temperature()
feucht = dht22_sensor.humidity()
print("Temperatur:", temp, "°C")
print("Luftfeuchtigkeit:", feucht, "%")
print()
sleep(30)
ausführen, erhalten Sie im Intervall von 30 Sekunden die Luftfeuchtigkeit und die Temperatur angezeigt.

