„Pi-Stick“ als GPIO expander

N-O-D-E stellte bereits vor einiger Zeit dieses Video online: https://www.youtube.com/watch?v=LHmSem3X_-s
Neben diesem hat er noch weitere wirklich interessante Ideen und Umsetzungen online gestellt. Zum Zeitpunkt der Entdeckung hatte ich jedoch keinerlei praktisches Anwendungsszenario und speicherte mir die Quelle als „gut zu wissen“ ab.

Kürzlich bin ich dann jedoch über die Möglichkeit gestolpert, die GPIO-Pins eines Pi Zero mittels OTG über den Host anzusprechen. Damit hatte ich endlich etwas Sinnvolles und konnte anfangen. Natürlich kann man auch einfach ein Micro-USB-Kabel verwenden, doch wäre das nicht ganz so cool.
Die Bilder entstanden quasi mitten im Geschehen. Ich hatte bereits angefangen, bevor ich ans Fotografieren dachte.

Materialliste

Mit reichelt habe ich bislang gute Erfahrung gemacht. Ein wenig gestöbert und im Warenkorb lagen (u. a.):

BezeichnungArtikel-Nr.Preis
USB-Einbaustecker, Serie A, gerade, 180°-Vers.USB AGF0,25€
Gehäuse für Raspberry Pi Zero, transparentRPIZ CASE TR1,85€
Raspberry Pi Zero WH v.1.1RASP PI ZERO WH15,50€
Summe17,60€

Natürlich kann man auch den „normalen“ Pi Zero nehmen. Zu dem Zeitpunkt war er jedoch leider ausverkauft. Der Aufpreis lag bei 3,50€ und war verschmerzbar. Die bereits eingelötete GPIO-Leiste störte mich hingegen weniger 😉

Die restlichen Materialien fallen unter „Bastlerbedarf“ und sind eigentlich immer im Haus. Ein wenig Litze, Lötkolben, Lötzinn, ein Dremel mit flexibler Welle, Fräsaufsätze, Bleistift, Messer, Isolier- u. Abdeckband (zur Markierung), etc.

Positionierung

Der Gedanke, den Pi ausschließlich an einem Host zu betreiben, eröffnet die Möglichkeit, den MicroSD-Slot zu entfernen und stattdessen den USB-Stecker anzubringen. Diese Modifikation ist nicht reversibel!

Zuerst einmal steckt man den USB-Stecker in eine beliebige USB-Buchse und markiert die Einstecktiefe. Wäre ärgerlich, wenn er später nicht weit genug aus dem „Pi-Stick“ herausstehen würde.

Das Auslöten des MicroSD-Slots erfolgt in zwei Schritten. Zuerst entfernt man das Blech des Karteneinschubs. Danach liegen die Pins offen und können wahlweise abgelötet oder mit roher Gewalt entfernt werden. Später werde ich den Bereich bzw. den USB-Stecker ohnehin mit Isolierband abdecken, daher dürfen die Lötpads ruhig erhalten bleiben.

Die nachfolgende Montage des Gehäuses dient der Abschätzung des Materialabtrags. Wo, wie viel, welche Form, …
Den USB-Stecker bei gelockerten Schrauben zwischen Platine und oberer Gehäuseplatte geklemmt, mit Malerabdeckband die Ränder markiert und schon wird der Dremel angeworfen: später etwas mehr Material abzunehmen ist leichter, als es wieder anzukleben. Man tastet sich also langsam an die richtige Passform heran.

Sobald Tiefe und Breite der gefrästen Aussparung stimmen, wendet man sich der Befestigung zu. Wegen der relativ geringen Kräfte verlasse ich mich dabei komplett auf den Anpressdruck durch das Gehäuse sowie die beiden „Nasen“ des USB-Steckers. Für jene ist jeweils ein etwas breiterer Schlitz zu fräsen. Alternativ können auch Langlöcher eingebracht werden. Während dieses Arbeitsschritts setzt man den Stecker immer wieder ein und prüft die Passform. Sobald sie zufriedenstellend ist, baut man das Gehäuse wieder zusammen und prüft erneut die Passform. Alles okay?

Verkabeln / Löten

Dann geht es zum Verkabeln. Betrachtet man den USB-A-Stecker von hinten und den „Nasen“ nach unten, ist die Pinbelegung von links nach rechts wie folgt:
+5V (rot) -> Data- (weiß) -> Data+ (grün) -> Masse (schwarz)

Pinbelegung mit „Nasen“ nach oben und Passprobe

Für das andere Ende der jeweiligen Litze gibt es theoretisch zwei Anschlussmöglichkeiten:
– direkt an den Pins der Mikro-USB-Buchsen (zu filligran)
– an den Kontaktstellen unterhalb des PCB (eigentlich für Federkontaktstifte vorgesehen)
Praktisch bleibt nur die letzte Option, weil die Lötpads der SMD-Micro-USB-Buchsen einfach zu klein sind, um eine zuverlässige Lötung bei gelegentlichem Demontieren des Gehäuses zu gewährleisten. Das entspricht nicht der ursprünglichen Planung und die Bodenplatte des Gehäuses liegt plan an. Entsprechend ist für die Kontaktierung ein wenig Material abzutragen, um keine unnötige Verspannung / Druck entstehen zu lassen.

Der Schaltplan (https://www.raspberrypi.org/documentation/hardware/raspberrypi/schematics/rpi_SCH_ZeroW_1p1_reduced.pdf) gibt uns die Kontaktpunkte PP1 (+5V), PP6 (Masse), PP22 (Data+) und PP23 (Data-) preis. Wo diese auf der PCB-Rückseite zu finden sind, erfuhr ich letztlich über den Blog von NovaSpirit.

Bei der Kabelführung ist auf Wärmequellen sowie mögliches Herausragen aus dem Gehäuse zu achten. Beim Weg über die PCB-Kante kann man sich die Micro-USB-Buchsen zu Nutze machen und die Litze daran entlang legen.

Zusammenbau

Fazit

Ein möglicher Nachteil der Konstruktion ist der über Kopf eingebaute USB-Stecker. Die Stiftleiste lässt sich auch anders herum einlöten. Damit wäre der Kritikpunkt beseitigt. Alternativ kommt ein USB-Verlängerungskabel zum Einsatz, womit der eigentliche Witz des Umbaus zwar verloren geht, aber irgendwie doch noch vorhanden ist.

Statt eines USB-A-Steckers kann natürlich auch eine Buchse oder ein Typ-C-Stecker verwendet werden. Besonders letzterer wird in noch nicht ganz absehbarer Zukunft stärker verbreitet sein.

Quellen:
https://www.youtube.com/watch?v=LHmSem3X_-s
https://www.novaspirit.com/2016/10/18/raspberry-pi-zero-usb-dongle/
https://www.raspberrypi.org/documentation/hardware/raspberrypi/schematics/README.md

Werbeanzeigen

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden /  Ändern )

Google Foto

Du kommentierst mit Deinem Google-Konto. Abmelden /  Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s