Make 4/2023
S. 48
Make
Projekt

Schicker Streamer

Raspberry Pi, guter Klang und schickes Design passen nicht zusammen? Doch, dieses Projekt beweist es. Mit edler Elektronik, einem Anlagen-kompatiblen Gehäuse und Breitwand-Infoscreen passt dieser Netzwerkplayer auch in Ihr Wohnzimmer-Orchester.

von Dieter Schaurich

Auf der Suche nach einem Netzwerkplayer, der optisch und technisch zu meinen Bedürfnissen passt, musste ich leider feststellen, dass es kaum Geräte gibt, die beide Kriterien erfüllen. Meist findet man sie nämlich nur noch gebraucht oder mit eingeschränkten Funktionen. Also habe ich mir einen alten Pioneer-Verstärker besorgt, der zu meiner Anlage passt, und ihn zu einem eigenen Streamer umgebaut.

Erster Prototyp

Als Basis für das Projekt dient ein Raspberry Pi, in diesem Fall das Modell 4B mit 2 GB RAM. Zur Audioausgabe entschied ich mich für das Khadas Tone 1 Board, das mit einem ES9038Q2M-DAC (Digital-Analog-Wandler) ausgestattet ist und höchste Audioqualität bietet. Nach meiner Recherche für die passende Distribution, entschied ich mich für Volumio, da es das Plug-in Peppymeter unterstützt, mit dem man auf einem Bildschirm ein individualisierbares VU-Meter (Lautstärke-Messeinheit) darstellen kann (Bild 1). Der Streamer würde zwar auch headless, also ohne Display funktionieren, doch sollte ja auch was fürs Auge dabei sein. Um das virtuelle VU-Meter zu testen, habe ich einen HDMI-Monitor mit 7" und 1024 × 600 Pixel Auflösung an den Raspberry Pi angeschlossen. Für den ersten Versuchsaufbau nutzte ich Steckernetzteile mit einer entsprechenden Leistungsreserve von jeweils 3A bei 5V. Wie man Volumio und Peppymeter installiert und für die richtige Bildschirmauflösung konfiguriert, könnt ihr in einem zusätzlichen Online-Artikel nachlesen, der in der Kurzinfo verlinkt ist.

Bild 1: Peppymeter (rechts) orientiert sich stark an seinen analogen Vorbildern (links).
Bild 1: Peppymeter (rechts) orientiert sich stark an seinen analogen Vorbildern (links).

Jetzt wird es ernst

Nach meinen ersten erfolgreichen Tests stöberte ich im Netz nach einem passenden Gehäuse. Mir wurde dabei sehr schnell klar, dass es zwar einige Anbieter mit schönen Gehäusen gibt, keines davon aber optisch zu meinen vorhandenen Pioneer-Geräten passt. Dann kam mir die Idee, ein gebrauchtes Gerät dieser Marke zu kaufen und zu modifizieren. Die anstehenden Arbeiten sind im Wesentlichen nicht anders als bei einem zugekauften Leergehäuse. Ausschlaggebend für die Auswahl des Modells war das Layout der Frontplatte, da hier ein Display eingesetzt werden sollte und die vorhandenen Knöpfe und Drehregler entweder wegfallen würden oder eine neue Funktion erhalten sollten.

Mit den Abmessungen und Bildern, die ich auf der Hersteller-Website von Pioneer fand, versuchte ich festzustellen, welches Gerät für mein Vorhaben geeignet war. Dazu importierte ich die Bilder in das Vektor-Grafikprogramm CorelDRAW und suchte nach einer passenden Lösung. Schließlich entschied ich mich für den Pioneer HiFi-Verstärker A-10 (erste Serie) und ein Display mit 12,6" Bildschirmdiagonale, 1920 × 515 Pixeln Auflösung und ca. 310 mm Breite für die Frontseite.

Da dieses Display keine Touch-Funktion hat und noch ein paar Millimeter links und rechts überbrückt werden mussten, plante ich noch eine 4 mm dicke Acrylscheibe als Blende ein. Außerdem sollten drei Taster des A-10 eine neue Position erhalten, um die Displayfunktionen Menu, Up und Down steuern zu können, ohne dafür das Gehäuse öffnen zu müssen.

Zur Planung gehörten noch ein paar Wunsch-Features, damit der Streamer möglichst so aussah, als hätte ihn Pioneer selbst produziert. Der originale Power-Button sollte das System ein- und ausschalten. Ebenso sollten die LEDs wie folgt leuchten: rot im Standby und grün im On-Modus, die drei Tasten im On-Modus rot und der Power-Button im On-Modus blau. Zusätzlich wollte ich das Gerät noch über die Mediola-Neo-App ein- und ausschalten können, mit der man die vorhandene Hausautomation von Homematic inklusive aller fernbedienbaren Geräte bedient. Für spätere Updates von Volumio sollte außerdem die MicroSD-Karte von außen zugänglich sein. Schließlich wollte ich den Raspberry Pi, das Khadas Tone Board sowie das Display nicht mit Schaltnetzteilen, sondern mit audiophilen Netzteilen betreiben, um eine möglichst störungsfreie und klare Audiowiedergabe zu gewährleisten.

Bei eBay-Kleinanzeigen fand sich sehr schnell ein passendes und optisch brauchbares Pioneer-Gerät. Der Preis war mit 65 Euro außerdem wesentlich günstiger als alternative Rohgehäuse, die bei etwa 150 bis 250 Euro lagen.

Die Ein-Aus-Schaltung

Ein Raspberry Pi kann zwar durch einen Befehl softwareseitig heruntergefahren werden, bleibt danach aber in einem Betriebsmodus stehen, der einen Neustart unmöglich macht. Diesen kann man nur initiieren, wenn man die Spannungsversorgung trennt und erneut anlegt. Da ich meinen Streamer über den Power-Button ein- und ausschalten wollte, habe ich hierfür eine Ein-Aus-Schaltung entworfen, die die Stromzufuhr des Raspberry Pi, der Netzteile sowie der frontseitigen LEDs mithilfe von 5V-Relais steuert. Dafür habe ich zwei GPIO-Pins in die Schaltlogik eingebunden.

Für solche Zwecke gibt es in Volumio das Plug-in GPIO Buttons, das man direkt über die Benutzeroberfläche installieren und einstellen kann. Mit ihm lassen sich bestimmte GPIOs abfragen und Funktionen auslösen (Bild 2). So ist es z.B. möglich, Play, Pause oder Next Track über ein High-Signal an einem dieser GPIO-Pins zu steuern. Für die Ein-Aus-Schaltung nutze ich den Shutdown-Befehl, den ich über den GPIO-Pin 5 ausführe.

Jetzt fährt der Raspberry nach einem Tastendruck herunter. Um ihn zusätzlich von der Spannungsversorgung zu trennen, fehlt der Schaltung aber noch ein weiterer Trigger. Dafür nutze ich den GPIO-Pin 14 (UART TX), denn wie eine Recherche im Netz ergab, kann dieser Pin ein High-Signal liefern, solange der Raspberry Pi nicht heruntergefahren wurde. Diese Pin-Funktion muss man aber zuvor aktivieren. Dafür habe ich mit einem FTP-Client die Datei userconfig.txt bearbeitet, die sich auf dem Raspberry Pi in dem Ordner /boot befindet. Dort muss man die Zeile enable_uart=1 ergänzen. Dadurch lässt sich der GPIO-Pin 14 zwar nicht mehr zur Fehleranalyse nutzen, doch bisher lief mein Aufbau problemlos.

Die Ein-Aus-Schaltung besteht aus zwei Transistoren, drei Dioden, vier Widerständen, einem Elko, einem HK19F-Relais mit zwei Umschaltern sowie zwei 5V-Relais (Bild 3). Das 8-Pin-Relais schaltet den Power-Button im Power-Off-Zustand als Ein-Taster und im Power-On-Zustand den GPIO 5 als Aus-Taster. Der Elko sorgt für die notwendige Haltefunktion, bis der Raspberry Pi auf GPIO 14 ein High-Signal liefert. Gleichzeitig erzeugt er beim Abschalten die benötigte Verzögerung beim Herunterfahren.

Bild 2: Mit dem Plug-in GPIO Buttons kann man über bestimmte Pins Funktionen ausführen.
Bild 2: Mit dem Plug-in GPIO Buttons kann man über bestimmte Pins Funktionen ausführen.
Bild 3: Die Ein-Aus-Schaltung lässt den Raspberry per Knopfdruck sicher hoch- und herunterfahren.
Bild 3: Die Ein-Aus-Schaltung lässt den Raspberry per Knopfdruck sicher hoch- und herunterfahren.
Ein-Aus-Schaltung
R1 4,7KΩ
R2 100KΩ
R3 100KΩ
R4 470KΩ
T1 BC547
T2 BC517
C1 100µF
D1, D2, D3 1N4001

Als permanente Spannungsversorgung verwende ich für die Einschalt-Logik und die LEDs ein 5V-Schaltnetzteil mit 2A. Die Platine für die Ein-Aus-Schaltlogik habe ich in CorelDRAW gezeichnet und mit einer Portalfräse aus einem Leiterplatten-Rohmaterial selbst angefertigt (Bild 4).

Bild 4: Am Computer geplant, anschließend gefräst und bestückt.
Bild 4: Am Computer geplant, anschließend gefräst und bestückt.

Große Netzteile für besten Klang

Die Spannungsversorgung des Raspberry Pi inklusive Khadas Tone Board sowie die des Displays übernehmen zwei audiophile Netzteile. Ihr Aufbau ist bewusst überdimensioniert, damit sie kühl bleiben – eine absolut wichtige Voraussetzung für einen sorgenfreien Dauerbetrieb. Sie bestehen aus einem primärseitigen Filter-Kondensator, einer Überspannungsschutz-Diode, einer Feinsicherung, einem vergossenen Ringkern-Trafo, Schottky-Dioden zur Gleichrichtung, einer Filterdrossel, diversen Kondensatoren, einem Festspannungsregler, einer Kontroll-LED mit Vorwiderstand und einer USB-Buchse auf einer selbst entworfenen und gefertigten Platine (Bild 5). Diese beiden Netzteile werden mit einem 5V-Relais, als Teil der Ein-Aus-Schaltlogik, mit der Netzspannung verbunden oder von ihr getrennt. Vor diesen Netzteilen sitzt in der Rückwand eine Kaltgeräte-Buchse mit integriertem Schalter, um das Gerät komplett vom Strom trennen zu können. Auf einer kleinen Platine zwischen Buchse und Netzteilen befindet sich eine weitere Feinsicherung. Das Gehäuse ist natürlich mit dem Schutzleiter verbunden, also geerdet.

Bild 5: Dieses audiophile Netzteil stellt die störungsfreie Stromversorgung sicher.
Bild 5: Dieses audiophile Netzteil stellt die störungsfreie Stromversorgung sicher.
Audiophiles 230V-Netzteil
TR1 Talema Ringkerntrafo 70061K, 2x9V, 25VA
DR1 Drossel Talema CAF 3,5 – 2,7, 2,7mH
F1 Feinsicherung 5 × 20 mm, 160mA träge
R1, R2 100Ω
D1 1,5 KE440CA, 376V, 1500W bipolare Suppressordiode
D2, D3, D4, D5 SB560, Schottky-Diode
D6 LED grün, 5 mm
C1 150nF, 275V X2 Funkentstör-Kondensator
C2, C3 100nF, 400V MKS Folienkondensator
C4, C6 100nF, 100V MKS Folienkondensator
C5, C7, C8, C9, C10 4700µF, 50V Elko
C11 2200µF, 25V Elko
IC1 LM1084 IT-5.0 (5V/5A)
Kühlkörper
USB-Einbaubuchse TypA print

Schalten per Smarthome-App

Damit das Gerät auch mit der Mediola-NEO-App ferngesteuert werden kann, befindet sich noch ein Homematic-IP-Smart-Home-Schaltaktor (HmIP-PCBS) an Bord. Auch dieser wird durch das kleine 5V-Schaltnetzteil dauerhaft mit Spannung versorgt und sein Schaltausgang ist als Taste mit einer Sekunde Schließzeit programmiert und parallel zum Power-Button in der Frontplatte beschaltet. Zur Fernsteuerung kann alternativ auch jede andere App mit passendem Schaltaktor genommen werden. Der Aktor muss nur einen Tastendruck simulieren können, genau wie der Power-Button.

Komponenten anordnen

Nachdem ich den gebrauchten Pioneer-Verstärker entkernt hatte, ging es an die Planung für die Anordnung der einzelnen Komponenten. Ich übertrug die vorhandenen Befestigungslöcher der Grundplatte auf ein Blatt Papier und scannte es anschließend ein. Nach ein paar Ausdrucken und kleinen Korrekturen passte schließlich alles. In CorelDRAW probierte ich anschließend mögliche Anordnungen aus (Bild 6). Dazu vermaß ich alle einzelnen Komponenten und fügte zwischen den Einzelteilen Aussparungen zur Kabeldurchführung ein. Die daraus entstandene Trägerplatte für den Raspberry Pi und die übrigen Komponenten fräste ich aus einer schwarzen Acrylplatte mit 6 mm Stärke. Das hätte man alternativ auch mit einem Laser erledigen können. Um die einzelnen Komponenten und Platinen zu montieren, habe ich an den Schraubpunkten Vertiefungen mit 7 mm Durchmesser und 1 mm Tiefe eingefräst und schwarze Kunststoff-Abstandshülsen eingeklebt (Bild 7). So haben alle Teile den nötigen Abstand zur Trägerplatte.

Bild 6: Messen, drucken, verschieben: So entstand das Layout des Innenlebens.
Bild 6: Messen, drucken, verschieben: So entstand das Layout des Innenlebens.
Bild 7: Die Bodenplatte aus Acryl mit Abstandshaltern für die Platinen
Bild 7: Die Bodenplatte aus Acryl mit Abstandshaltern für die Platinen

Speicherkarte gut zugänglich

Um nachträglich das System austauschen oder aktualisieren zu können, sollte die MicroSD-Karte von außen zugänglich sein. Hierfür gibt es sogenannte MicroSD-Extender. Mit einer Flachband-Kabellänge von etwa 40 cm wollte der Raspberry jedoch nicht mehr fehlerfrei booten. Also habe ich das Gehäuse des MicroSD-Extenders geöffnet, das Flachbandkabel abgelötet und durch ein entsprechend kurzes Kabel erneuert. Hierfür verwendete ich ein altes Floppy-Laufwerkkabel aus einem PC.

An dieser Stelle sei darauf hingewiesen, dass ein Volumio-Update alle vorherigen Einstellungen überschreibt – auch die Datei userconfig.txt, was den GPIO 14 und somit die Funktion der Ein-Aus-Schaltung deaktiviert.

Frontplatte fräsen

Die Frontplatte zu bearbeiten war sicherlich die spannendste Arbeit, denn ich hatte nur einen Versuch. In CorelDRAW zeichnete ich zuerst die vermessene Frontplatte nach und arbeitete den Ausschnitt für das Displayglas ein. Die drei Buttons für die Display-Steuerung ordnete ich untereinander an und zeichnete auch diese ein (Bild 8). Mithilfe der alten Platine, an der sich die Knöpfe ursprünglich befunden hatten, maß ich die dafür notwendigen Abstände.

Um die Frontplatte fräsen zu können, fertigte ich noch eine Aufnahmevorrichtung an. Hierzu diente eine 20 mm dicke Kunststoffplatte. Zunächst fräste ich in diese eine Nut ein, die der Außenabmessung der Frontplatte entspricht. Für die Haltelaschen an der Frontplatte, an denen der Gehäusedeckel fixiert wird, kamen noch sogenannte Taschen hinzu (Bild 9). Durch die alten Löcher der Regler konnte ich die Frontplatte auf der Aufnahmevorrichtung anschrauben und brachte an der Frontplatte Malerklebeband an, um sie beim Fräsen vor Kratzern durch Späne zu schützen. Jetzt kam endlich der spannendste Moment: Der Ausschnitt und die drei Löcher für die Buttons wurden gefräst (Bild 10).

Bild 8: Millimeterarbeit: Das Fräs-Layout für die Frontplatte.
Bild 8: Millimeterarbeit: Das Fräs-Layout für die Frontplatte.
Bild 9: Die Frontplatte wird auf die weiße Halterung gelegt (links) und danach mit Klebeband (rechts) vor Kratzern geschützt.
Bild 9: Die Frontplatte wird auf die weiße Halterung gelegt (links) und danach mit Klebeband (rechts) vor Kratzern geschützt.
Bild 10: Das ausgefräste Teil macht Platz für das Display. Ein paar der übrig gebliebenen Tasten verwende ich weiter.
Bild 10: Das ausgefräste Teil macht Platz für das Display. Ein paar der übrig gebliebenen Tasten verwende ich weiter.

Um die drei Tasten an der Gehäusefront befestigen zu können, war noch ein 6 mm dicker Adapter nötig, den ich aus transparentem Acryl fräste. Die Platine zur Aufnahme der LEDs und der Taster war der nächste Bauabschnitt. Dafür scannte ich die alte Platine, auf der sich die passenden Befestigungslöcher und der Power-Button befanden und konnte sie so genau nachzeichnen. Die Positionen der neuen Taster musste ich dazu noch exakt vermessen und einzeichnen. Danach fräste ich die Platine mit Leiterbahnen und Bohrungen. Die Taster verdrahtete ich anschließend auf die zugehörige Steuerplatine des Displays – zur besseren Übersicht mit verschiedenfarbigen Litzen in 0,5 mm².

Die LEDs haben je nach Farbe eigene Vorwiderstände, um ein gleichmäßiges Leuchten zu ermöglichen, und werden wiederum über das zweite 5V-Relais gesteuert. Dieses hat als Teil der Ein-Aus-Schaltung eine Wechsler-Funktion, d.h. im Standby leuchtet über den NC-Kontakt (Normally Closed: in Ruhezustand geschlossen) und die Betriebs-LED rot. Die blaue LED im Powerbutton, die grüne Betriebs-LED für Power-On und die drei LEDs der Displaytasten bekommen die Versorgung über den NO-Kontakt (Normally Open: im Ruhezustand offen) und leuchten, sobald das Gerät eingeschaltet ist (Bild 11).

Bild 11: Eine einfache Platine verbindet die Tasten an der Frontseite mit der innenliegenden Elektronik.
Bild 11: Eine einfache Platine verbindet die Tasten an der Frontseite mit der innenliegenden Elektronik.

Gute Kühlung

Ebenfalls über den NO-Kontakt eines der 5V-Relais, also im Betriebsmodus, wird eine Lüfterdrehzahl-Steuerung mit 5V-Spannung versorgt, die zwei kleine Lüfter mit 50 mm Durchmesser regelt. Diese hängen parallel an der Lüfter-Steuerung und sind über das Poti so eingestellt, dass man sie von außen nicht hört. Sie kühlen die LM1084-Spannungsregler, die sich auf den Netzteilen befinden. Messungen am Kühlkörper ergaben eine Temperatur von ca. 20–25 °C. Dies wird sicher für eine lange Lebensdauer sorgen, da die meisten Defekte in der Elektronik durch zu viel Hitze entstehen.

Rückwand und Anschlüsse

Die alte Rückwand des A-10 hatte im Vergleich zur umgebauten Version natürlich viel zu viele Aussparungen und eine mittlerweile falsche Beschriftung. Daher habe ich die alte Rückwand ebenfalls gescannt und mit ihren Befestigungspunkten nachgezeichnet. Anschließend vermaß ich die neuen Buchsen (2 × USB, 1 × LAN, 1 × Cinch, 1 × MicroSD, 1 × Kaltgeräte mit Schalter) und ordnete sie passend an. Danach fräste ich die neue Rückwand aus Aluminium mit 1,5 mm Stärke. Alle Buchsen konnten geschraubt oder geklemmt werden. Das Gehäuse des MicroSD-Kartenlesers musste ich einkleben. Hierfür eignet sich hervorragend 2K-Speed-PU-Kleber, der in 10 Minuten aushärtet und ganz leicht elastisch bleibt. Vom Pioneer als Teilespender fiel noch eine Stereo-Cinch-Einbaubuchse für die Rückwand ab. Diese habe ich mit einer kleinen Platine und Kontaktstiften versehen, wie man sie aus PCs kennt und mit kurzen, angefertigten Kabeln mit den Cinch-Buchsen der Audio-Karte verbunden. Darüber kann ich den Streamer mit meinem Verstärker verbinden.

Aus dem gescannten und nachbearbeiteten Rückwand-Layout erstellte ich schließlich eine Druckdatei, die ich im Digitaldruck auf eine selbstklebende Folie gedruckt und mit mattem Schutzlaminat versehen habe. Die Ausschnitte für die Anschlüsse wurden gleich mit vorgesehen und direkt ausgeschnitten (Bild 12). Zum Aufkleben der Folie brachte ich zusätzlich noch ein Übertragungspapier auf. So eine Folie kann man beim Werbetechniker um die Ecke anfertigen lassen.

Bild 12: Die alte und die neue Rückwand im Vergleich
Bild 12: Die alte und die neue Rückwand im Vergleich

Schrauben, stecken, montieren

Das Gehäuse war jetzt fast fertig. Es fehlte nur noch, die Einzelkomponenten an der Bodenplatte festzuschrauben, die Netzteile mit passend kurzen USB-Kabeln zu verbinden (Bild 13). Um das Display an der Frontseite zu befestigen, fräste ich eine Acrylscheibe aus 4 mm dickem Material passgenau und ließ einen 1 mm dicken und einige Millimeter breiten Rand stehen, damit sie nicht aus dem ausgefrästen Ausschnitt fällt (Bild 14). Die Sichtkante erhielt umlaufend eine Fase mit 0,3 mm. Um den Spalt zwischen Display und Ausschnitt abzudecken, hat die Acrylscheibe vor dem Display rückseitig noch eine Blende aus schwarzer Klebefolie bekommen (Bild 15). Diese Folie wurde mit einem Schneideplotter angefertigt.

Bild 13: So sieht das fertige Innenleben des Streamers aus.
Bild 13: So sieht das fertige Innenleben des Streamers aus.
Bild 14: Der Rand der Frontscheibe hält sie im Gehäuse.
Bild 14: Der Rand der Frontscheibe hält sie im Gehäuse.
Bild 15: Die umlaufende Blende an der Frontscheibe kaschiert das schmalere Display.
Bild 15: Die umlaufende Blende an der Frontscheibe kaschiert das schmalere Display.

Das Display habe ich dann rückseitig hinter die Acrylscheibe eingesetzt und über kleine, von Hand gesägte und gefeilte Acrylteilchen in Position gebracht und festgeklemmt. Sollte der Streamer transportsicher gemacht werden müssen, empfiehlt es sich, die Halter festzukleben.

Ergebnis

Nachdem alle Tests erfolgreich verlaufen waren, musste nur noch der Gerätedeckel aufgesetzt werden und ich konnte die umfangreichen Funktionen von Volumio ausprobieren und den tollen Klang genießen (Bild 16). Das Klangerlebnis bei Webradio-Stationen ist direkt hörbar, variiert aber je nach Stream-Qualität. Einige Stationen übertragen sogar in dem verlustfreien Codec FLAC (Free Lossless Audio Codec). Das Stöbern der schier endlosen Liste macht richtig Spaß. Hier wird sicher jeder fündig. Und wer kein Radio mit dem Streamer hören will, kann natürlich auch seine eigene Musiksammlung in Volumio einbinden und gemütlich vom Smartphone aus darauf zugreifen. —akf

Bild 16: Der fertige Streamer fügt sich nahtlos in die Anlage ein.
Bild 16: Der fertige Streamer fügt sich nahtlos in die Anlage ein.