Der RPi400 und die GPIOs -- ein Trauerspiel
Beim "normalen" RPi werden Erweiterungsplatinen (PiHATs) auf die stehende GPIO-Leiste des RPi aufgesteckt. Die Erweiterungsplatine ist also im angesteckten Zustand liegend über dem RPi. Deshalb sind vom Design her Bedienteile und/oder Steckverbinder meist auf der Oberseite der Erweiterungsplatine angebracht. Von der RPi-Foundation gibt es eine Spezifikation, an welche Regeln sich eine Aufsatzleiterplatte zu halten hat, um offiziell als PiHAT (HAT=Hardware Attached on Top) bezeichnet werden zu dürfen: Designing a HAT.
Am RPi400 ist die Stiftleiste waagerecht an der Rückseite herausgeführt, ein Anschluss ist damit zwar grundsätzlich möglich. Aber die meisten PiHATs lassen sich nicht vernünftig bzw. ergonomisch anschließen:
Bilderstrecke RPi400 mit SenseHAT
Anschluss des Sense-HAT-Moduls am RPi400:
Bilder 1 und 2:
bei richtigem Anschluss zeigen die LEDs und Taster nach hinten. Eine Bedienung ist damit extrem lästig und beinahe unmöglich.
Bild 3:
Mit einem Flachbandkabel wird's nicht wirklich besser: Die erforderliche Drehung der Zusatzleiterplatte bringt nicht viel.
...und das (für mich) Schlimmere: Wo bleibt der Sound? ![]()
Bezüglich der vier(?) Möglichkeiten der Audioausgabe am RPi sieht's beim 400er wie folgt aus:
* Klinkenbuchse: fehlt (ok, nicht schade darum) ![]()
* HDMI ist das einzige, was direkt funktioniert, aber viele PC-Bildschirme haben nach wie vor keine Lautsprecher ![]()
* USB-Soundkarte: geht, nimmt aber eine der ohnehin nur drei USB-Buchsen weg.
* I2S-Soundkarte an der GPIO-Leiste: kann man machen, sieht aber shice aus! ![]()
Deshalb habe ich eine Platine mit KiCad erstellt, die diese Probleme (hoffentlich) einigermaßen beseitigt:
Folgende Features hat die Leiterplatte:
* Die GPIOs vom RPi400 (im Bild unten) werden 1:1 auf die Stiftleiste auf der Oberseite durchgeführt (im Bild oben).
* Die Leiterplatte orientiert sich an der HAT-Konformität der RPi-Foundation bezüglich der Abmessungen und Montagebohrungen.
* In den hinteren beiden Montagelöchern können Abstandsbolzen montiert werden, damit die Leiterplatte sicher auf dem Tisch steht und der RPi400 nicht hochkippen kann.
* Multilayer-Platine mit vier Lagen (war notwendig, mir wären zwei Lagen auch lieber gewesen)
* Die Bauteile sind nur auf der Oberseite bestückt. Unten befindet sich optional nur ein Supercap oder ein Halter für eine CR2032-Knopfzelle zur Pufferung der RTC.
* Ausführung in 0603-SMD-Technik, eine Größe, die mit vernünftigem(!) Werkzeug gerade noch manuell bearbeitet werden kann. War aus Platzgründen erforderlich.
* Die UART-Pins an der GPIO-Leiste des RPi werden auf den FTDI-Chip FT32RL geführt, um eine serielle Schnittstelle (RS232) über USB zum PC umzusetzen (virtual COM port).
* Sockel für ein ID-EEPROM (z.B. 24LC32A) an den GPIO-Pins 27 und 28. Alternativ kann eine SMD-Variante bestückt werden.
* I2S-Soundkarte mit PCM5122 (BurrBrown bzw. mittlerweile Texas Instruments) auf Cinch, dem gleichen I2S-DAC, der auf dem Hifiberry DAC+ verwendet wird.
* Class-AB-Verstärker basierend auf dem LM4838, einem 2x2W (EDIT 16.07.2024: 2x1W) Stereoverstärker bei 4Ω-Lautsprechern. Damit hat man etwas Vergleichbares zum Hifiberry MiniAmp.
* Vernünftige(?) Power Rail mit klarer Trennung zwischen GNDD und GNDA (digitaler und analoger Masse), um Störungen zu minimieren.
Stromlaufplan:
RPi400extBrd_2022_01_schematic.pdf
Komponenten / Konfiguration:
Das Ganze habe ich so konzipiert, dass die einzelnen Teilkomponenten autark sind und ggf. auch weggelassen werden können. Dies reicht bis in die Soundkarte rein: Nur PCM5122 für Hifiberry-DAC+-Funktionalität oder mit Verstärkerteil LM4838, um die Soundkarte zu einer Art MiniAmp+ auszubauen. MiniAmp+ deswegen, weil hier der "bessere" I2C-Wandler PCM5122 und nicht der PCM5101A verwendet wird und anstelle des Class-D-Verstärkerbausteins PAM8403 ein echter Class-AB-Verstärker, der LM4838 zum Einsatz kommt.
* Der einfachste Fall wäre ein nacktes Board nur mit den beiden GPIO-Leisten für RPi400 und die klassische stehende Stiftleiste als mechanisches Aufsatzboard am RPi400
* ID-EEPROM
* UART
* RTC
* Hifiberry-kompatible Soundkarte, aufteilbar
Ich habe gestern ein ein paar Platinen bestellt. Sie sollten in 14 Tagen (07.-08.02.2022?) da sein. Dann muss ich sie noch bestücken (oder bestücken lassen).
Zwei Platinen sind schon für Interessenten hier im Forum reserviert, ich brauche selber natürlich auch mindestens eine ![]()
Bei Interesse einfach bei mir melden, zum Preis kann ich noch nichts Genaues sagen, ich werde heute noch die BOM (Stückliste) zusammenstellen und das Ganze mal ausrechnen. Nur so viel: das nackte Board kostet mich knapp 16€.
Wenn das Material da ist, werde ich die Boards aufbauen, testen und hier berichten. Stand heute ist alles noch graue Theorie.