Der Raspberry Pi Pico hat einen Hardware USB-Port. Dieser kann entweder als Host oder Client betrieben werden. Doch wenn der Raspberry Pi Pico per USB an einen PC angebunden ist und als Client arbeitet, lassen sich keine weiteren USB-Geräte mit ihm verbinden.

Um mit USB-Geräten im Low-Speed- (1,5 Mbit) oder Full-Speed-Modus (12 Mbit) zu kommunizieren, benötigt man keine Spezialchips, es auch mit Software möglich, die auf der CPU läuft.
GitHub Benutzer sekigon-gonnoc nutzt die PIO-Statemachines im Raspberry Pi, um einen weiteren USB-Controller zu realisieren. Genauso wie der in Hardware integrierte Port kann dieser entweder als Host oder Client laufen.

 


Dank TinyUSB kann man so etliche Geräte einfach an zwei GPIO-Pins des Raspberry Pi Pico anschließen. Zu diesem Projekt gibt es ein kleines Demo-Video, das die Funktion recht gut veranschaulicht.

Wer also einmal einen weiteren USB-Port braucht, kann diesen mit ein paar Komponenten und etwas Software realisieren.