Startprobleme mit dem Raspberry Pi Pico (und einfache Lösungen)
Kürzlich brauchte ich für die Reparatur einer Schreibtischlampe einen speziellen Schalter. Der Elektronikversandhandel meines Vertrauens hatte auch etwas passendes im Angebot. Irgendwann im Bestellprozess fiel mir dann auf, dass ich mit meinem Warenkorb natürlich deutlich unter dem Betrag für eine versandkostenfreie Lieferung lag.
Eigentlich sollte man an diesem Punkt nicht weiter nachdenken, sondern die Ware, die man tatsächlich braucht, bestellen und dafür dann halt Versandkosten bezahlen.
Was soll ich sagen? Ich habe überlegt, was ich noch so gebrauchen könnte, und bin dann bei einem Raspberry Pi Pico gelandet.
Als das Gerät schließlich auf meinem Schreibtisch lag, wollte ich natürlich gleich ausprobieren, wie es funktioniert und vor allem, wie man es mit MicroPython programmieren kann.
Die Begeisterung ließ deutlich nach, als ich versuchte, das MicroPython-Binary auf den Microcontroller zu übertragen. Denn der Pico wollte trotz korrekter Vorgehensweise einfach nicht als Massenspeicher in meinem Dateisystem auftauchen. Dazu hatte ich den BOOTSEL-Knopf auf der Platine gedrückt und bei gedrücktem BOOTSEL-Knopf ein USB-Kabel zwischen Rechner und Platine angeschlossen. Also genau so, wie es in der Dokumentation steht.
Nach etlichen Versuchen war ich schon kurz davor, den Pico wieder zurückzuschicken, als mir die Idee kam, es mal mit einem anderen USB-Kabel zu probieren. Und da lag auch mein ursprünglicher Fehler: Ich hatte bei der Suche nach einem passenden USB-Kabel einfach nur auf die Anschlüsse geschaut und dabei nicht bedacht, dass das von mir gewählte Kabel ein reines Ladekabel war.
Als dann MicroPython auf dem Pico installiert war, kam das nächste Problem. Ich hatte innerhalb meiner Python-IDE PyCharm das entsprechende Plugin für MicroPython installiert und gehofft, dass nun einem “Hello World”-Programm nichts mehr im Weg stand.
Als ich jedoch das Testprogramm auf den Pico übertragen wollte, trat das nächste Problem in Form einer Fehlermeldung auf den Plan. Den kompletten Stack Trace gebe ich hier nicht wieder, aber es sind sowieso meist die letzten Zeilen, die die wesentliche Information enthalten:
raise PyboardError('failed to access ' + device) ampy.pyboard.PyboardError: failed to access /dev/ttyACM0
Wenn man aus dieser Fehlermeldung die Info herausgefiltert hat, dass es sich hier offenbar um Zugriffsprobleme handelt, dann ist es zur Lösung nicht mehr weit.
Auf meinem aktuellen Linux-System mit Endeavour OS, einem Arch Linux-Derivat, musste ich nur den aktuellen Benutzer in die Gruppe uucp aufnehmen.
Und das lässt sich ganz einfach mit dem folgenden Befehl realisieren:
Jetzt steht der Entwicklung mit MicroPython auf dem Pico nichts mehr im Weg.