Het wel en wee van Gotek jumpers op PC

De Gotek USB-diskette-emulator, vooral met de open firmware Flashfloppy is populair geworden voor veel retro-enthousiastelingen, voor het upgraden van oude computersystemen met een “moderne” oplossing voor het laden van software op oude systemen. Ik ben ook een van deze liefhebbers. Als een retro-systeembouwer, vooral van het IBM-PC-compatibele type, ben ik gewend deze systemen te configureren met behulp van jumpers. Geen “plug and play” -functie hier. De Gotek heeft ook enkele jumpers die u moet instellen voor gebruik op een IBM-PC. IBM-pc’s maken gebruik van een kabel die u kunt aansluiten op twee diskdrives op één controller. De keuze van welke drive drive A: of drive B: is, wordt bepaald door de kenmerkende twist in de kabel tussen de connector in het midden en de connector aan een van de uiteinden. Als de drives die u wilt aansluiten een jumper hebben voor het instellen van de drive ID, dan moeten beide drives drive ID 0 worden ingesteld. Dit is met name het geval voor de meeste 5 1/4 inch diskettedrives, de latere 3,5 inch diskdrives hebben vaak geen drive ID-jumpers en zijn standaard ingesteld op ID0.

De Gotek floppy emulator heeft ook zo’n jumper S0 en S1 en deze moet op S0 gezet worden. Er is echter nog een JC-jumper op de Gotek, die in combinatie met de instelling in het FF.cfg-bestand (zie gemarkeerde code onder de afbeelding) voor flash-floppy vaststelt dat de drive in de IBM-PC-compatibiliteitsmodus staat. Ik heb verschillende Goteks op deze manier geconfigureerd op mijn retro IBM-pc-systemen.


De standaard Gotek-jumperinstelling voor IBM-PC, die S0 en JC overbrugt
# Floppy-drive interface mode
# shugart: P2=DSKCHG, P34=RDY
# ibmpc: P2=unused, P34=DSKCHG
# ibmpc-hdout: P2=HD_OUT, P34=DSKCHG (not generally needed: prefer 'ibmpc')
# akai-s950: P2=HD_OUT, P34=RDY (Akai S950)
# amiga: P2=DSKCHG, P34=DRIVE_ID (not generally needed: prefer 'shugart')
# jc: JC closed: ibmpc, JC open: shugart
interface = jc

Dus met deze veronderstelde kennis heb ik op mijn nieuwe Gotek drive de S0 en JC jumpers geplaatst en aangesloten. Maar tot mijn verbazing werkte de schijf niet. Om het probleem analyseren heb ik het volgende geprobeerd: Controleren van de FF.cfg op de gebruikte USB-drive, verschillende posities op de kabel proberen, een bekende werkende kabel gebruiken, controleren met een bekende werkende Gotek en echte floppy drives, ook in combinatie met de nieuwe Gotek op verschillende posities op de kabel, zelfs door de firmware opnieuw te flashen en de schijfcontroller te controleren. Allemaal tevergeefs. Ik begon zelfs te denken dat ik met een nep Gotek de boot was in gegaan. Dus daarom ging ik de PCB van deze Gotek eens beter bekijken. Ik wist dat er verschillende incarnaties van het ding waren en sommige versies kun je beter vermijden. Toen merkte ik dat de nieuwe Gotek anders was dan de vorige werkende.

Twee verschillende versies van de Gotek, links mijn oudere SFRC9220 en rechts mijn nieuwere SFRKC30.AT2 versie. Merk op dat label JC ontbreekt op de derde jumper van rechts.

Gotek SFRKC30.AT heeft helemaal geen JC jumper!

De oudere Gotek die ik had liggen had als nummer op de PCB: SFRC9220, de nieuwere Gotek had het label “GOTEKsystem” met PCB nummer: SFRKC30.AT2. Ik was de Flashfloppy-wiki al aan het lezen om te zien wat het probleem zou kunnen veroorzaken en was nu op zoek naar informatie over deze specifieke versie van de Gotek. In de Gotek-compatibiliteitssectie worden er enkele vermeld en daar merkte ik deze kanttekening op: “SFRKC30.AT2 (QFN32): de originele roterende encoderkop ontbreekt, maar bevat de nieuwe KC30 roterende kop. Ook ontbreekt de JC-jumperlocatie.”. Een beetje verward keek ik weer naar het bord en zag nu dat het JC-label van één van de 7 jumpers ontbrak, maar er was wel een jumper header. Deze jumper header is niet functioneel, dus zelfs wanneer deze in een Gotek SFRKC30.AT2 wordt overbrugd, met een USB-stick met de interface=jc-instelling geactiveerd in het FF.cfg-bestand, zal hij denken dat de schijf in shurgart-modus staat en niet in ibmpc-modus. En voilà, het veranderen van deze instelling in het FF.cfg-bestand van settings=jc naar settings=ibmpc zorgde ervoor dat mijn nieuwe Gotek feilloos werkte op mijn 286 build.


Dus om samen te vatten: Bij gebruik van een Gotek met bord SFRKC30.AT2 in een IBM PC-compatibel, hoef je alleen jumper S0 in te stellen maar moet je ervoor te zorgen dat het flashfloppy FF.cfg-bestand de interface parameter heeft ingesteld op ibmpc en niet op jc.

Max2play en Spotify connect: De handschoen is op gepakt.

In een voorgaand bericht, heb ik gesproken of een plugin voor Volumio, om Spotify connect functionaliteit aan dit audio-speler OS toe te voegen. Toen heb ik ook aangestipt that concurrende OS Max2play, niet geintereseerd leek in deze functionaliteit, terwijl er wel degelijk animo voor was onder hun gebruikers, afgaande op de verzoeken op hun gebruikersforum.

Maar ze hebben ondertussen de handschoen duidelijk opgepakt. Na het perfectioneren van hun plug-in infrastructuur en het suggereren dat gebruikers zelf hun Spotify connect plugin zouden kunnen ontwikkelen, zijn ze toch zelf met een dergelijk plugin op de proppen gekomen. Het is nog steeds beta plugin, met wat problemen rond stabiliteit, maar als het draait dan doet het wat het moet doen. Deze plugin heeft wel wat dingen vooraf nodig: Je moet Max2play premium gebruiker zijn (€9,99/jaar) en Spotify connect premium gebruiker. Wat dat betreft blijf Volumio met de gratis plugin van Balbuze nog steeds de goedkopere oplossing.

Installatie is redelijk recht toe recht aan, maar iets meer gedoe dan met Volumio, vooral als ook ander audioplayer functionaliteit, zoals Squeezlite binnen Max2play gebruikt. Een Video met uitleg en demonstratie van de functionaliteit vind je hieronder. Zoals al gezegd er is nog werk aan de stabliteit. Zo kan na enige tijd  je Max2play apparaat met de plugin toch van de lijst met Spotify connect devices op je Spotify app verdwijnen. Het stoppen en herstarten van de plug-in is dan de aangewezen oplossing, maar dit is natuurlijk niet handig.

Je kan de plugin via deze link downloaden.

https://youtu.be/MaKku8skkHc

 

Volumio en Spotify Connect, Max2Play delft het onderspit?

In vorige artikelen op deze blog heb ik al gesproken over al die verschillende audiospeler besturingsystemen (bijvoorbeeld Volumio en Max2Play) voor kleine computers zoals de verschillende Raspberry Pi’s. Ik heb het ook al gehad over het feit dat ik een Spotify gebruiker ben en erg weg ben van de Spotify Connect en de mogelijkheden die het bied om speakers in verschillende ruimte aan te sturen, zoals we dat van bijvoorbeeld Sonos kennen. De twee verschillende besturingssystemen die ik tot nu aan het testen ben, ondersteunde Spotify Connect nog niet. Daarom gebruik ik nu de combinatie van het Max2play besturingssysteem, Logitech Media Server (LMS) software en de Spotify plug-in hiervoor ontwikkeld door “triode”. Hiermee kan ik op verschillende apparaten (Raspberry Pi’s met Squeezeplayer software en een Squeezebox Duet reciever) Spotify streamen en bedienen. Het werkt, maar LMS is duidelijk een gedateerd pakket met ditto interface, dus ben ik steeds op zoek naar mogelijke verbetering en ik ben niet de enige. In het “requested features” deel van de fora van zowel Volumio als Max2Play is duidelijk te lezen dat veel mensen graag Spotify Connect willen gebruiken. Maar vooral bij Max2Play heb ik het idee, dat de ontwikkelaar(s) niet warm lopen voor deze suggestie. Dat terwijl Max2Play juist pretendeert de multiroom audio OS te zijn. Een gemiste kans in mijn optiek. Ondertussen heeft Volumio, Max2play op dit punt mooi ingehaald d.m.v. van zijn mogelijkheid voor plug-ins en het programmeer werk dat op Github te vinden is van een gebruiker met de handle “Balbuze”. Hierbij borduurde hij voort op eerdere werk van “Fortnoth” en “Plietar”.  Ik ben van plan om op korte termijn de Spotify Connect plug-in voor Volumio (volspotconnect) op mijn Pi zero te zetten, waar nu Max2play nog op draait. Deze plug-in is specifiek voor ARM6 en ARM7 chips, dus als Volumio op een intel machine draait, heb je nog pech. Het is een redelijke basic plugin die enkel je Volumio installatie zichbaar maakt als Spotify connect device. The plug-in heeft (nog) geen connectie met de Volumio interface, dus geen bediening en geen albumcovers. Dit op zich geen probleem omdat je de Spotify software op PC of app op je telefoon zou gebruiken voor de bediening van je Volumio apparaat. Het is natuurlijk duidelijk nog een werk in uitvoering. Aanvankelijk dacht ik dat je ook nog een Spotify app developer key nodig had om het werkend te krijgen. Die je hier kan aanvragen. Maar ik werd er door de reactie van Wim opgewezen, dat in de zip file van volspotconnect deze al door Balbuze toegevoegd is. Dus nog eenvoudiger! Ik hoop dat ik het snel eens kan uitproberen. Het lijkt me dan ook een goed onderwerp voor een Youtube uitleg. Tot binnenkort!

Balbuze’s avatar op Github

Ja, het werkt! En mijn you-tube uitleg (in het Engels) vind je hier:

Het instellen van een USB Touchscreen, om je Raspberry Pi audioplayer mee te bedienen

In een vorig artikel heb ik verteld dat ik een Logitech Squeezebox Duet en de Logitech media server (LMS) software gebruik, om mijn mp3 collectie af te spelen en Spotify te streamen naar mijn Hifi set. Maar de op een iPod lijkende Duet controller, van meer dan zeven jaar oud, begon problemen te krijgen met opladen. Ik hoop dat ik dit kan herstellen, maar in de tussentijd, had ik wel vervanging nodig, om het zaakje te bedienen en niet enkel dmv de “Squeezer” app op mijn android smartphone.

De Logitech Squeezbox Duet controller.

Voordat ik mijn Squeezebox Duet gekocht had, ergens in 2009, was ik aan het experimenteren geweest met een touchscreen in combinatie met een Asus eeeBox minipc, maar was hier niet echt tevreden over. Toen kwam ik de Squeezebox Duet tegen en heb ik de touchscreen PC combinatie daarmee vervangen. Ik heb mijn LG Flatron L1510SF 15-inch touchscreen toen echter niet weggedaan. Nu in 2016 is een van de best door een gemeenschap van techneuten ondersteunde mini PCs, natuurlijk de Raspberry Pi. Ik was zelf ook bezig met Pi’s om er zowel video als audio spelers mee te maken. Er is ook al een heel scala aan kleinere touchscreens, die via de GPIO header of Display header, op de Rpi aangesloten kunnen worden. Maar een touchscreen die je gwoon via HDMI, DVI of VGA aansluit, met USB voor de touch-control, kom je een stuk minder tegen. Maar toen mijn Squeezebox Duet controller er de brui aan gaf, dacht ik gelijk: Waarom zou ik mijn oude USB touchscreen niet koppelen aan een Raspberry Pi waarop LMS draait?

Logitech Media Server (LMS) installeren

Het installeren van LMS op een Raspberry Pi is doodeenvoudig zeker als het audiospeler OS, Max2Play gebruikt. Je download the SD card image van Max2Play van hun website, schrijft deze naar een SD kaart met behulp van een tool zoals win32diskimager. Stopt de SD in de Rpi, verbind de Rpi met je netwerk d.m.v. een kabel en sluit de stroomadapter aan. Nu kan je de installatie interface van Max2play bereiken via een andere PC door in de webbrowser de URL:max2play/ in te voeren. In deze installatie interface, kan je instellen dat je LMS en Squeezeplayer software wil gebruik en deze wordt automatisch geinstalleerd. Op deze manier heb je een zogenaamde “hoofdloze” audiospeler, die lokaal muziek kan afspelen of via ander Squeezebox apparaten binnen je netwerk. Je kan dit bedienen via een telefoon app zoals Squeezer op android of via een web-interface op je laptop of PC.

Jivelite, de touchscreen interface voor LMS

De LG Flatron L1510SF USB aangestuurde touchscreen.

In mijn geval wou ik echter het touchscreen gebruiken om de Raspberry Pi met LMS rechtreeks te kunnen bedienen. Dit vergt wat extra werk. Allereerst moet je het scherm aan de Rpi koppelen, maar ook een muis en toetsenbord om wat zaken te kunnen instellen. Ten tweede moet je de grafische touchinterface for LMS met de naam JiveLite installeren. Dit gaat eenvoudig via installatie interface van Max2play, maar dit is wel een premium item. Een Max2play premium licentie kost je €9,99 per jaar. Het is ook mogelijk om LMS en Jivelite zelf te installeren zonder licentie-kosten, maar niet met het gemak van Max2play. De Jivelite setup van Max2play geeft ook de mogelijkheid om verschillend touchinterface skins te gebruiken. Deze zijn echter toegespits op de kleinere touchscreens en vergde enige aanpassing om het op de 1024×768 resolutie van mijn touchscreen tot hun recht te laten komen. Maar later meer hierover.

Het touchscreen calibreren

Allereerst wou ik het touchscreen werkend krijgen op de Raspberry Pi. Toen ik aan het researchen was hoe dit voor elkaar te krijgen kwam ik dit artikel tegen. Dit beschrijft een methode voor exact hetzelfde scherm als dat ik heb. Allereerst moet je xinput-calibrator installeren. Je kan dit het best locaal op de Rpi doen dmv van het aangesloten muis en toetsenbord. Je opent een terminal scherm en typt: sudo apt-get install -y xinput-calibrator. Daar start je xinput-calibrator, door xinput-calibrator te typen in je terminal scherm, gevolgd door <enter>. Nu wordt het calibratie scherm geopend en kan je de instructies volgen. Voor een goede precisie wordt gebruik van een stylus aanbevolen. Na het aanstippen van de hoeken, sluit het scherm zich en verschijnt de calibratie parameters in je terminal scherm. Deze parameters moeten ingevoegd worden in het bestand /etc/X11/xorg.conf.d/99-calibration.conf. Toen ik dit deed met de parameters zoals ze op mijn scherm verschenen zorgde dit toch voor problemen. De grafische gebruikers-interface LXDE kwam niet meer te voorschijnen toen ik Rpi met de nieuwe instellingen opnieuw opstartte. Uiteindelijk heb ik de instelling uit het artikel gekopieerd, omdat het hier om exact hetzelfde LG touchscreen ging. Dat was het truckje, waardoor het touchscreen nu naar behoren werkt.

De Joggler skin aanpassen aan je resolutie

Nu wou ik nog een JiveLite skin die goed bij de resolutie en schermverhoudingen van mijn touchscreen paste. De aanwezige Joggler skin, kwam het al het dichste bij het beoogde eindresultaat maar had wel aanpassingen nodig om het mooi schermvullend te maken. Om dit voor elkaar te krijgen moet de code van het skin bestand /opt/jivelite/jivelite/share/jive/applets/JogglerSkin/JogglerSkinApplet.lua op regel 259 aangepast worden als volgt:

Framework:setVideoMode(1024, 768, 0, false)

Waar de waarde 1024 en 768 de resolutie en beeldverhouding van mijn LG vertegenwoordigen. Als je ook de visuele VU meter of Spectrum analyse mooi op het scherm wil krijgen (Enkel voor lokaal afgespeelde muziek). Moet ook nog het volgende deel van de code van het eerder genoemde bestand aanpassen. De aanpassing zijn in vette letters aangegeven.

-- Visualizer: Spectrum Visualizer
s.nowplaying_spectrum_text = _uses(s.nowplaying_visualizer_common, {
npvisu = {
hidden = 0,
position = LAYOUT_NONE,
x = 0,
y = 2 * TITLE_HEIGHT + 4,
w = 1024,
h = 566 - (2 * TITLE_HEIGHT + 4 + 45),
border = { 0, 0, 0, 0 },
padding = { 0, 0, 0, 0 },

spectrum = {
position = LAYOUT_NONE,
x = 0,
y = 2 * TITLE_HEIGHT + 4,
w = 1024,
h = 566 - (2 * TITLE_HEIGHT + 4 + 45),
border = { 0, 0, 0, 0 },
padding = { 0, 0, 0, 0 },

Na opnieuw opstarten van de JiveLite gebruikersinterface, of een reboot van heel het system, heb je een layout die mooi past op het scherm. Sommige knoppen hebben nog niet de perfecte schaal, maar alles functioneerd. Ik hou natuurlijk wel een oogje open voor verbeterde versies van een 1024×768 skin voor JiveLite. Als je dit leest en je hebt er één of je bent er één tegengekomen, dan hoor ik dat natuurlijk graag.

Een klein ding is nog niet helemaal zoals ik wil en dat is dat de muis aanwijzer op het scherm zichtbaar is. Max2play heeft een speciale add-on voor de kleinere touchscreen waar in dit door middel van een handige check-box aan of uit te zetten is. Maar deze add-on ondersteund niet mijn scherm en ik kan het dus jammer genoeg niet gebruiken. Alle suggestie om dit op een andere manier toch voor elkaar te krijgen zijn welkom. Voor een indruk hoe dit apparaat eruit ziet en werkt kan ik je aanraden om even mijn youtube filmpje hier beneden te bekijken.

Hoe ik toch Spotify op mijn WiFi speaker kreeg

In mijn vorige artikel, beschreef ik het probleem van de Medion P69055 WiFi multiroom speaker en Spotify connect. Deze speaker zou Spotify connect moet kunnen ondersteunen, maar door een ontbrekende firmware upgrade, is deze feature niet te gebruiken. Naar mijn mening een gemiste kans van Medion. Maar hoe dit op te lossen? Uiteindelijk heb ik ervoor gekozen om gewoon de audio line-in van de speaker te gebruiken en hier een goedkoop apparaat op aan te sluiten dat Spotify wel ondersteund. In dit artikel geef ik drie voorbeelden van zulke oplossingen.

1. Een netbook of laptop met Volumio en de Spotify plugin.

In mijn eerste artikel op deze blog en eerste video op mijn YouTube kanaal, heb ik laten zien hoe je van een oude intel gebaseerde laptop of netbook een audioplayer kan maken, die je kan bedienen via een webinterface op je smartphone of PC, terwijl de laptop zelf gesloten is en uit het zicht is. In dit geval gebruik je een dergelijke setup en sluit je die aan op de speaker en voila. Voordeel: Goedkoop als je nog een laptop/netbook en SD kaartje hebt liggen. Nadeel: Zelfs een kleine netbook heeft nog steeds een flinke afmeting en is misschien niet gemakkelijk uit het zicht te plaatsen.

2. Chromecast Audio

Met een prijs van minder dan €40, is de Chromcast audio een goedkope en simpele oplossing om Spotify op welke speaker dan ook te krijgen. Het is ook een klein appaat. Het krijgt zijn voeding via een micro usb port en met een extra accesoire kan je hem ook aansluiten op je audio systeem met een SPIF glasvezel kabel. De installatie is simpel en een connectie met je WiFi is zo gemaakt. Je kan hem ook zo instellen dat je vrienden toegang hebben tot de Chromcast met hun eigen android smartphone. Leuk voor een avondje muziek uitwisselen.

De Chromecast audio is wel puur android smartphone gericht. Zo is de Chromecast niet zichtbaar voor ander apparaten met de Spotify software, tot dat je hem activeert via de Spotify app on een android telefoon, door het afspelen van een track. Op de PC of laptop kan je dat omzeilen door in de Chrome browser de Chromecast extensie te installeren en de web player van Spotify te gebruiken om muziek af te spelen. Voordeel: Relatief goedkoop, klein en gemakkelijk te installeren. Nadeel: Erg gericht op enkel android telefoons.

De Chromecast audio

3. Doe het zelf project: Een Raspberry Pi zero met een digitale naar analoge audio converter

Mijn laatste oplossing is een heel ander beestje. Het is zeker niet de goedkoopste oplossing van het stel en je moet er ook voor SOLDEREN. Laat ons eens kijken wat hiervoor allemaal nodig hebben:

  1. Een Raspberry Pi zero. Dit is meest minimalistische, kleinste en goedkoopste van de Raspberry Pies. Vanwege zijn populariteit, is het niet zo eenvoudig om er de hand op te leggen. De drie webshops waar je ze kan krijgen, verkopen er ook meer één per klant. Er is een handige website om te zien welke webshop ze in voorraad heeft: whereismypizero.com. Een enkele Pi zero cost ongeveer €5, maar meeste winkels bieden hem aan in kleine project kits van tussen de €15 en €35.
  2. De Pimoroni pHAT DAC. Dit is een digitaal naar analoge audio converter met dezelfde PCB afmeting als de Pi zero. Het maakt gebruik van dezelfde audio chipset als de veel duurdere HiFi Berry boards, die de afmeting van een “gewone” Raspberry Pi hebben. Een enkel pHAT DAC bordje is beschikbaar voor een prijs tussen de €14 en €20.
  3. GPIO headers. De Pi zero en de pHAT DAC hebben geen voorgemonteerde GPIO headers enkel rijen soldeer gaatjes. Dus er moet gesoldeerd worden om deze te kunnen gebruiken. Dit geeft je wel de vrijheid wat betreft in wat voor configuratie je de Pi zero en pHAT DAC met elkaar gaat verbinden. Dit kan afhangen van de toepassing en wat voor behuizing je wil gebruiken. Ik heb strips van mannelijke GPIO pins op de Pi zero gesoldeerd en een vrouwlijke connector op de pHAT DAC. In principe gebruikje maar 5 pins voor de verbinding met de pHAT DAC, maar ik heb toch gewoon een 20 pins verbinding gemaakt voor de stevigheid.
  4. Een Raspberry Pi compatible WiFi dongle, met een micro USB connector of een normale met een verloopje van USB naar micro USB. Dit kost je tussen de  €5  en €10 afhankelijk van de webshop. De Pi zero heeft jammer genoeg geen WiFi aan boord zoals de Raspberry Pi 3.
  5. Een classe 10 micro-SD card van 8 Gb of meer, om de OS met software op te zetten.
  6. Een handige behuizing om alles in te stoppen. I ben uiteindelijk voor deze kleine behuizing van polycarbonaat gegaan, die ik op Amazon tegen kwam. Hij moet een beetje aangepast worden om toegang tot de 3.5 mm jack van pHAT DAC te hebben en het is precies gepast met de pHAT DAC bovenop de Pi zero. Maar het is een goed uitziende behuizing met vrije toegang tot alle poorten en niet onbelangrijk het SD kaart slot. Iets wat veel andere behuizingen ontbreekt.
  7. Een stroomapdapter met micro USB van 5V en 2 A, om de Pi zero van stroom te voorzien.
  8.  Optioneel: een USB hub die ook een Ethernet connector heeft, voor de initiele installatie van de audio software op de Pi zero voor dat er overgeschakeld kan worden naar WiFi. De software die ik gebruik en verderop beschrijft geeft te mogelijkheid om WPS te gebruiken om bij de eerst opstart automatisch met je Wifi netwerk te verbinden, maar ik vond dit nog al een onbetrouwbaar gegeven. Met een bekabelde netwerk verbinding, ben je zeker dat het werkt bij de eerste keer opstarten.

    De Pi zero wireless audio kit zoals die word aangeboden door Pimoroni

Uiteindelijke heb ik gekozen om maar gewoon de Pimoroni pHAT DAC Wireless audio kit te bestellen. Deze bestaat uit de Pi zero, de pHAT DAC, de benodigde GPIO headers, een WiFi dongle met verloop van USB naar micro USB en een audio kabel met twee mannelijke 3.5 mm stereo jack plugs. Er zitten ook een aantal onderdelen in die ik niet perse nodig had, zoals een micro HDMI naar HDMI adapter, RCA connector om op de pHAT DAC te kunnen solderen als je kabel met tulp-stekkers zou willen gebruiken en USB naar micro USB kabel. Toch is het gezien de prijs van rond de €30 een goeie koop voor alle onderdelen die ik wel nodig had. Daarnaast heb ik nog wel een 5V 2A voeding gekocht voor ongeveer €6 en de USB hub voor net geen €10. De kleine behuizing koste me zo’n €6. Dan zitten we aan €52 euro zonder SD kaart, laten we zeggen €60 met.

Zo hoe zetten we dit in elkaar? Dit start met het solderen van de GPIO headers op de Pi-zero en het pHAT DAC bord. Voor instructies hoe zoiets doet kan ik YouTube aanbevelen, zoal deze video, deze of deze. Ik heb zelf gebruik gemaakt van kneedgum om het bord en the GPIO header stabiel op tafel te kunnen leggen voor het soldeerwerk. Als de GPIO pinnen en vrouwelijke connector bevestigd zijn kan je de pHAT DAC verbinden met de Pi zero. De volgende stap is dan de modificatie die nodig is aan het deksel van de behuizing. Met een stanley mes een schuurpapier staaf heb ik een spleet gemaakt voor de audio line-out connector van de pHAT DAC. Het resultaat was eerder functioneel dan esthetisch te noemen, maar ik heb jammer genoeg geen Dremel to mijn beschikking. Het moet trouwens een spleet zijn omdat het dekel over de pHAT DAC heen moet en precies de afmeting van het bord heeft. De audio jack connector steekt er juist een beetje aan de zijkant uit. Met deze aanpassing kan de Pi zero met pHAT DAC in onderkant van de behuizing gedaan worden en de bovenkant er op. De behuizing kan nu netjes dicht geklikt worden. Hiermee is in elkaar zetten zover gebeurd. Er zijn ook nog elders op intenet uitleg te vinden hoe je een Pi zero met pHAT DAC in elkaar zet zoals bijvoorbeeld deze.

De Pi zero / pHAT DAC combinatie in de behuizing. De sleuf om de bovenkant van de behuizing is over de pHAT DAC heen te schuiven is niet mooi maar functioneel.

De volgende stap is om de SD kaart voor te bereiden met de benodigde OS en software. Zoals ik al eerder heb geschreven, is er heel wat keus in software zoals Volumio, Mood-audio en Rune audio. Voor dit project kwam ik echter uit op Max2play, die echt gericht is op multiroom speaker functionaliteit. Ook ondersteund het Logitech Media Center (LMS) dmv Squeezeplayer. Ik was al bekend met LMS omdat ik een Logitech Squeezbox duet in gebruik had en LMS met de Spotify plugin al draaide op één van mijn linux PCs. LMS geeft ook de mogelijkheid tot het gesynchroniseerd afspelen over meerdere via WiFi verbonden systemen. Dit is bijvoorbeeld ideaal als je een feestje houd en meerdere ruimtes in huis dezelfde muziekale achtergrond wil geven.

De installatie van Max2play is simpel. Download de benodigde image van de Max2play website ( In dit geval de image met Hifi-berry support) en schrijf deze naar een SD kaart. Steek de SD in de Pi zero, sluit de USB hub aan op de micro USB poort voor perifere apparaten van de Pi zero. Steek op de HUB de Wifi dongle en sluit ook een ethernet kabel aan, verbonden met je netwerk. Nu kan de Pi zero opgestart worden door de 5V 2A voeding in het stopcontact te steken en aan te sluiten op de micro USB poort voor voeding op Pi zero. Ga naar een ander computer, open de browser en type dan volgende url: max2play/ en voila de Max2play setup interface wordt geladen. In deze interface kan je je WiFi SSID en wachtwoord invullen, Squeezeplayer activeren en aangeven dat je een Hifi-Berry (PI A/B) als output wil gebruiken om de pHAT DAC audio out te activeren. Deze eerste stappen worden ook duidelijk in deze video van Max2play uitgelegd. Hierna kies je in dezelfde interface de optie om de Pi zero uit te schakelen. Nu kan de USB hub ontkoppeld worden en de WiFi dongle rechtstreeks op de Pi zero worden aangesloten. Dan nog een audio kabel van de pHAT DAC naar de in mijn geval de Medion P69055 speaker, de line-in selecteren en de pi-zero terug opstarten door voeding uit en terug in het stopcontact te steken. Voila nu hebben een WiFi speaker met Spotify die ik kan bedienden met mijn smartphone en nog belangrijker met de Logitech Squeezbox duet controller, die ik al in gebruik had voor het bedienen van mijn HiFi in de woonkamer. Jammer genoeg kreeg mijn oude trouwe controller na enkele maanden problemen met de oplaadbare batterijen, maar dat is voor een andere keer.

Voordelen: Een meer flexibele oplossing en het goede geluid van een kwalitatieve DAC. Nadelen: Duurder dan de Chromcast en je moet hem zelf in elkaar zetten, maar voor mij is dat juist de charme!

Conclusie

Dit zijn dus een drietal mogelijke oplossingen om toch Spotify op een Medion P69055 te kunnen gebruiken, maar dit is natuurlijk toepasbaar op elk audiosysteem met een line-in. Het goedkope van deze oplossingen is natuurlijk relatief. Alleen als je nog een oude laptop/netbook heb liggen is de oplossing met Volumio echt goedkoop. De Chromecast en Pi-zero zijn met respectivelijk €40 en €60 natuurlijk niet echt goedkoop, zeker als je kijkt dat het is om een speaker te fixen die me ook al indertijd bijna €100 euro heeft gekost. Maar goed, nu werkt het uiteindelijk zoals ik wou! Je zal misschien zeggen dat geen van de oplossingen technisch gezien een Spotify-connect oplossing is.  Ja dat is waar, alle drie maken ze het mogelijk om Spotify te gebruiken, maar ze gebruiken geen van drie het Spotify-connect protocol. Dit protocol wordt op dit moment uitgeplozen door allerlei enthousiatelingen, dus ik ga er vanuit dat in ieder geval op de Raspberry pi deze oplossing op termijn beschikbaar komt. Ik ga hier zeker een oogje op houden.

Ik zelf vind de Raspberry Pi zero pHAT DAC combinatie de beste omdat deze het meest flexibele qua software is en helemaal naar eigen smaak in te stellen is. Wil je bijvoorbeeld ondersteuning voor Apple Airplay of Google Music gebruiken ipv Spotify? De Pi met Max2play bied de mogelijkheid. Wel een ding dat je met dit apparaatje in de gaten moet houden is dat je een stabiele voeding gebruikt om de Pi zero en pHAT DAC van stroom te voorzien. DACs zijn erg gevoelig voor fluctuaties in de voeding, dus gebruik van een twijfelachtige voeding kan verstoringen van de geluidskwaliteit veroorzaken. Zo heeft de Medion P65099 op de achter kant ook een USB poort voor het opladen van toestellen, maar als je die gebruikt als voeding voor de Pi zero met pHAT DAC, maar ook bij de Chromcast, dan zal je achterground ruis horen in stillere passages van je muziek. De echte audiofielen gebruiken dan ook speciale voedingen die een linieare spanning en amperage leveren, om verzekerd te zijn van de beste geluids kwaliteit. Dat is in dit geval wel een beetje erover. Er zijn ook nog andere apparaten verkrijgbaar vergelijkbaar met de Chromcast die wel het Spotify connect protocol ondersteunen. Zoals daar zijn de Fon Gramofon en de Rocki. Beide hebben wel een vraag prijs die start bij €65 euro. De Rocki een voormalig Kickstarter project, kreeg echter slechte reviews, met moeilijke installatie, slechte support en smeltende batterijen. De Gramofon vind ik erg intrigerend omdat deze van dezelfde Quallcomm Allplay technologie gebruik maakt, die zou moeten zorgen dat de Medion P65099 speaker Spotify connect zou moeten ondersteunen. Maar de slechte beoordelingen van de geluidskwaliteit en prijs maakt dat ik het hem maar laat voor wat het is.

The Fon Gramofon

Audio streamen naar je HiFi? Gebruik een oude laptop!

logitech_duet

Logitech Squeezebox Duet.

Waarschijnlijk ben ik niet de enige, die een kast vol CDs heeft staan, mapjes met tussen de 10 en 100 Gb aan MP3s en nu vooral zijn muziek via een streaming dienst zoals Spotify consumeert. Vooral voor die laatste twee geld dat ze vooral geënt waren op persoonlijk gebruik via een mp3-speler, ipod dan wel je smartphone met dopjes in je oren. Als je iets via je Hifi wil spelen wordt misschien nog steeds teruggegrepen naar de gewone FM radio of een CD. Ondertussen zijn er natuurlijk allerlei oplossingen gekomen om vooral je MP3s ook via je Hifi te kunnen afspelen. Versterkers met usb ingangen of zelfs netwerk en wifi aansluitingen die DLNA ondersteunen zodat MP3s in een folder op je computer of netwerkopslag afgespeeld kunnen worden.

Zo heb ik zelf in 2009 de Logitech Squeezebox Duet aangeschaft. Deze oplossing bestaat uit twee kastjes, één (reciever) voor bij je Hifi set de andere controller is een afstandsbediening met een I-pod-achtige jog button om door de verschillende menu’s te gaan. De twee kastjes gebruiken wifi (of bekabelde netwerk aansluiting in het geval van de reciever) om met elkaar te praten en een PC met je mp3 collectie die een speciale server software draait. Zeker in de begin tijd geen stabiele en eenvoudige te configureren oplossing.

Als je nu ook streaming diensten wil kunnen afspelen, moet je weer een volgende stap maken ( In het geval van de Squeezebox viel dit mee, maar hierover in een ander artikel misschien meer). Je kan je smartphone natuurlijk rechtstreeks op je Hifi aansluiten, maar echt handig is dat niet, of je moet weer een volgende investering doen in apparatuur die klaar zijn voor streaming diensten. Tegenwoordig zijn er natuurlijk legio wifi speakers te koop, waarbij SONOS de bekendste is, maar zeker niet de goedkoopste. Heel wat techneuten hebben dan ook doe-het-zelf  alternatieven bedacht.

raspberry_pi_3

Raspberry Pi revision 3.

Hierbij lijkt vooral de komst van de Raspberry Pi een katalysator te zijn geweest voor allerlei oplossingen om op een simpele manier je audio te kunnen streamen naar Hifi. Voor wie het niet weet: De Raspberry Pi is een relatief goedkoop minicomputer-bordje (~€35 zonder behuizing) van creditcard formaat. We zijn ondertussen aan versie 3 van deze computer aan beland. Deze heeft een micro-SD card slot om je software op te zetten en verder een HDMI uitgang, audio/video jack, één mirco usb voor de stroomvoorziening en verder een Lan poort, 4 full size USB poorten, Wifi en Bluetooth. Verder heeft de Raspberry Pi de zogenaamde “general purpose input/output pins” of kortweg GPIO pins. Deze kunnen gebruikt worden om allerlei zaken aan te sturen. In het geval van Hifi zijn er mooie oplossingen om hierop kwalitatief goede digitaal naar analoge audio converteerders op te plaatsen, die een superieure geluidskwaliteit geven, t.o.v. de on-board audio. Voorbeelden daar van zijn de Hifiberry reeks en de Pomorino Phat DAC.

Leuk stukjes hardware zal je misschien denken, maar hoe zit het met de software? De Raspberry pi heeft een fantastische gemeenschap van tweakers die zowel hardware als software ontwikkelen en delen, veelal open-source, freeware. Als het gaat om zogenaamde “standalone” of “headless” audio players is er wat keuze. Zo is er Max2play, die ook ondersteuning voor multi-room speaker setups bied en drie andere pakketten die een gedeelde ontstaansgeschiedenis hebben: Moode audio, Rune audio en Volumio. Terwijl Max2play, Mood en Rune audio allemaal echt gericht zijn op enkel de Raspberry Pi en soort gelijke minicomputers, heeft Volumio twee extraatje: Ondersteuning voor intel computers, of te wel: Ieder oude PC of Laptop die misschien nog hebt staan/liggen en een Spotify plug-in.

eeepc4g

ASUS eee PC 4G, een van de eerste netbooks.

In mijn geval had ik nog een kleine netbook van het eerste uur liggen en ik was benieuwd of Volumio op zo’n machientje zou draaien of niet. Het gaat om de Asus eeePC 4G, zie hier voor de specificaties. De aanwezige ram van 500 mb had ik wel vervangen voor 1 Gb. De interne opslag van 4Gb houd ook niet over, maar die hebben in dit geval niet nodig, omdat Volumio draait vanaf een SD-kaartje. Het zou mogelijk moeten zijn om Volumio op de interne opslag te zetten, maar dit is (nog) omslachtig.

Op zich is de installatie redelijk recht toe recht aan en staat duidelijk op de Volumio website vermeld, maar ik heb er ook een YouTube video gemaakt die je hieronder kan bekijken. Op de Volumio website moet je de juiste SD-disk image downloaden, de intel (x86/x64) versie in dit geval. Daarna, met een software tool zoals Win32imager of Rufus, op een SD kaart zetten van minimaal 4Gb en Class 6. Over het algemeen wordt een class 10 kaartje geadviseerd, maar ik had enkel een class 6 liggen en die werkte uitstekend. Nu is het enkel een kwestie de laptop om van de SD kaart op te starten. Hiervoor zijn meestal wat aanpassingen in de bios instellingen nodig. Daarna is het vooral wachten terwijl Volumio klaar is voor eerste gebruik. Dit duurt op dit apparaat een heel tijdje, opstarten daarna gaat een stuk vlotter.

Volumio is vooral bedoeld als “headless” audioplayer, wat betekend dat je hem met een web-interface bedient via je PC, laptop, tablet of smartphone. Hiervoor gebruik je in je webbrowser de URL: /volumio.local of het IP adres van je volumio machine. Natuurlijk heeft deze laptop een scherm en is hij dus ook te bedienen via het eigen scherm. Dit is vooral handig als je wifi wil gebruiken en de eerste keer de wifi moet configureren. Ik merkte verder wel dat interface op de laptop zelf een stuk slomer was via de web-interface op een ander PC of smartphone. Op zich wel frappant. Via de (web)interface kan je verder andere zaken configuren zoals de connectie naar mappen met audiobestanden en natuurlijk installeren en instellen van de Spotify plugin. Voor die laatste heb je wel een Spotify premium account nodig. Zoals je zal zien in de video werkt Volumio met Spotify naar behoren op dit minimale laptopje, dus als je iets minder ouds heb liggen, zou het ook moet en werken, zou ik zeggen.

Enig dingetje waar ik tegen aan liep is dat je je laptop natuurlijk met het scherm dichtgeklapt, als echte “headless” audioplayer zou willen gebruiken. Dan kan je hem op je Hifi set aansluiten en verbergen. Jammer genoeg gaan veel laptops in een slaapmodus als je het scherm dicht doet en dan stopt je muziek. Niet handig, maar hiervoor heb ik een “hack” gevonden. Volumio is linux gebaseerd en je kan met de softwaretool PuTTy (windows) een zogenaamde SSH connectie maken en dan commandos geven aan de achterliggende linux besturingssysteem. Op die manier kan je alle slaap en suspend modi uitschakelen en blijft de muziek spelen. Ik laat dit ook in mijn Youtube video zien. Na ingelogd te zijn via SSH (Putty) op het IP adress van je Volumio machine, met user: Volumio en wachtwoord:Volumio moet je volgend commando geven:

systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target

Gevolgd door een druk op <enter>. Dit zal alle slaap modi in je instellingen uitschakelen. Het is dan dus wel zaak om je laptop altijd met stekker in het stopcontact te houden, de batterij zou anders gewoon leeglopen en  stroomuitval kan je SD kaart beschadigen. Succes!