PIOstack ist meine erste Erweiterung für den neuen Raspberry PI Zero und bringt alle Audio-, LAN-, und USB-Anschlüsse der großen RasPI’s auf der Größe des Zeros unter.
Sofort nach der Vorstellung tauchten viele gleich klingende Forenbeiträge auf: „Der hat ja gar keine Anschlüsse!1!!“ – stimmt, da muss man was machen.
Ein Beitrag auf Hackaday lieferte dann die Inspiration für das PIOstack Projekt. Anstatt die fehlenden Anschlüsse mit diversen USB-OTG-Adaptern nachzurüsten, könnte man doch den LAN9514 Chipsatz auf der Unterseite platzieren. Der ist nämlich bei den besser ausgestatteten Raspberries für die vermissten Anschlüsse zuständig. Über die Testkontakte sind alle notwendigen Signale zugänglich.
Momentan existieren nur einige Prototypen. Wenn mehr Interesse an der Erweiterung entsteht, werde ich die Doku hier erweitern oder eine Sammelbestellung anbieten!
Inhalt
Funktionen
- LAN9414 Controller
- 4x USB 2.0
- 1x 100M LAN
- 2k EEPROM (Konfiguration)
- Stereo Audio (via GPIO/PWM)
- Abgesicherter 5V Eingang
- Überstrom- und Rückspeise-Schutz für USB Buchsen
Montage
Die PIOstack Erweiterung wird ganz ohne Löten oder Kabel angeschlossen!
Sie wird einfach unter dem Zero montiert und greift sich alle nötigen Signale mit Federkontakten ab. Dadurch bleibt die Oberseite frei um weitere HATs anzuschließen.
Maße
Auf der Zeichnung kann man die Position der Anschlüsse gut erkennen. Die Platine selbst ist genau so groß wie der Raspberry Pi Zero, aus Platzgründen stehen jedoch die Buchsen über den Rand hinaus. Dadurch misst die Erweiterung insgesamt 79mm x 39mm. Zusammen mit dem Zero ist der Stapel 26mm hoch, mit anderen Federkontakten liessen sich hier noch 2-3mm einsparen.
Einträge im Blog 📑
Weitere Hintergrund-Informationen zur Entwicklung und den ersten Tests:
- Vorstellung Idee & Rendering der Platine (Januar 2016)
- Prototyp #1, Test am Windows 7 PC (Februar 2016)
- Inbetriebnahme, Fehler & Fazit (März 2016)
Downloads
Aktuelle Version: 1.1 vom 30. März 2016 (472,70 kB)
Download “PIOstack” (8844-mal heruntergeladen)
- PIOstack_1.1.zip – 1.1 (472,70 kB - MD5: 6815d271243250ebbdd70b58e1fb66c8 - 30. März 2016)
- PIOstack-1.0-schematic.pdf – 1.0 (81,88 kB - MD5: 7b0e86f6f80bb246680fbfc786d0204c - 28. Februar 2016)
Versionsinfo
- 1.0 (01/2016): Erster Prototyp, vorläufiger Schaltplan
- 1.1 (03/2016): Korrigierte Fertigungsdaten von V1.0
Inbetriebnahme
Während der Entwicklung ist es praktisch die Platine einfach per Micro-USB verbinden zu können. Für einen störungsfreien Betrieb dürfen später die Federpins zum Pi Zero und die USB Buchse nicht parallel geschaltet werden. Deswegen müssen die markierten Widerstände R407 & R408 dann entfernt (oder nicht bestückt) werden.
Audio Ausgang aktivieren 🔊
Für den Ausgang werden die PWM-Signale auf die GPIO Stiftleiste umgeleitet:
- Linker Kanal: GPIO #19, PWM1 (Pin 35)
- Rechter Kanal: GPIO #18, PWM0 (Pin 12)
Dafür muss ein „Device Tree Blob“ erstellt und auf der SD-Karte abgelegt werden. Auf Github ist eine aktuellere „Device Tree Source“ Datei (.dts) verfügbar, die auch einen Abschnitt für den Zero enthält.
Nachbau 🔨
Wer einen PIOstack nachbauen möchte kann mir gerne eine Nachricht schicken! Vom Prototyp sind noch einige (leere) Platinen und Bauteile übrig.
Update: Alle Platinen sind inzwischen vergeben!
Hi leo ! … your blog seems to me quite interesting but unfortunately i don’t speak German and I couldn’t find an English version of it… it would be nice if you could translate at least some of the most popular projects you have made … thanks in advance ! … Pablo from Argentina.
I would like to get the replica to be made for me but it will cost me how many dollars??
Hallo, erstmal sehr geiles Projekt. Hab zwei Fragen.
Funktioniert der LAN9514 auch ohne den EEPROM und einem PI Zero?
Ich habe eine Applikation gebaut die deiner sehr ähnelt. Steck ich diese an einen PC, funktioniert die auch wunderbar. Ich habe den 4 x HUB und ETH Verbindung läuft. So weit so gut.
Wenn ich ein RPI oder Banana PI Zero verwende , findet er auch den Chip, aber es gibt keine Ethernet Verbindung. Einige Linux und PI Gurus bei uns haben gesehen, dass der 9514 connected / disconnected. Leider hatte meine Hilfe bisher zu wenig Zeit die Sache seriös zu debuggen. Ich kann es mir einfach nicht erklären. Meine einzige Vermutung ist das der EEPROM noch wichtig wäre. Ich habe den auf der Applikation, nur bisher nicht beschrieben, bin ja doofer Hardware Mensch. 🙂
Vielleicht hast du ja schon ähnliche Probleme gesehen.
Gruss Martin
Moin,
ja grundsätzlich sollte der Chip auch ohne EEPROM laufen.
Bei Raspbian gibt es eine Besonderheit. Die verwenden einen speziellen Treiber, der den Chip per USB konfiguriert und z.B. auch mit einer MAC aus dem Kontingent der Raspberry Foundation versieht.
Soweit ich weiß überstimmt das auch die Daten aus dem EEPROM, wird allerdings nicht darin gespeichert falls eines vorhanden ist. Ich würde da mal ansetzen und beim Linux Treiber nach Optionen suchen. Evtl. auch mal deine Hardware mit der RPi vergleichen, vielleicht bekommt der Chip eine Konfiguration untergeschoben die deine Schaltung nicht hergibt.
Grüße
Leo
Hello I am interested in buying a hat rj45 usb hub for pi zero v1.3.
How much for complete and functional extention and shipping costs to France !?
Hallo, ich interessiere mich für den Kauf eines Hut RJ45 USB-Hub für Pi Null v1.3.
Wie viel kostet eine komplette und funktionale Verlängerung und Versandkosten nach Frankreich?
Merci
Hello,
unfortunately building a single (or even a small batch) PIOstack would be much more expensive than buying a Raspberry Pi 3 B which already has Ethernet and USB built in. Therefore I do not sell them anymore.