Raspberry Pi music player. Hardware

In a previous article I described why I wanted to build a Raspberry Pi based music player.

Pi Music box hardware

Here I describe the hardware part of the project.

At the core of this project is the Raspberry Pi mini computer. I had a Pi 2 model B left over from a previous project. It was even in a nice pretty case.

Pi Musicbox player
Pi Music Box player

This was great for initial experiments  and proved itself to be very capable of running the media player software I proposed to use. It ran fast, handled the size of the library index information with no problems and drove the sound card easily.

USB sound card
USB sound card

I have several USB sound cards, and I will try them all. I started with this “American Audio Genie II”. It’s not particularly Hi-Fi and purists may baulk. It’s a basic piece of kit which I bought for £1 from a boot sale. However it sounds good for what it is, it’s compact, doesn’t need an external power supply, and it works with no extra configuration.

Presonus AudioBox
Presonus AudioBox

Next up was a “Presonus Audiobox”. This is actually intended as an audio interface for music recording it’s main features are a 24 bit ADC and a pair of very nice microphone amplifiers. Neither of these are of interest in this application. It also includes a DAC for monitoring purposes. This has an impressive specification of 24 bit at 44.1 or 48KHz sampling. This worked well for audio playback. Unfortunately it had a habit of emitting a loud click when stopping and starting music playback. This was particularly irksome when playing multiple tracks in succession. Gap-less it wasn’t.

DragonFly Black DAC
DragonFly Black DAC

The current solution is a DragonFly Black 1.5. This is a HiFi DAC and headphone amplifier for use with Android, iOs, Windows and OSX. It also works with Linux, though Audioquest do not formally support this. In practice it just worked with my software setup on the Pi. It recognised 96K FLAC files and changed colour to indicate this, which looks great. It sounds superb!

Pi Musicbox back of screen
Pi Music Box back of screen

The physical interface is important to this project. I did some experiments with a small touch screen plugged directly into the Pi. However, It was difficult to configure up the software and results were disappointing. Just too small to cut it ergonomically.

Pi Musicbox case
Pi Musicbox case

As it happens, I live close to an RS Components trade counter. I popped in to check out their wares and left clutching the official Raspberry Pi 7 inch touch screen (~£50) and a pretty case (~£20) to put it in.

Pi Musicbox screen an Pi
Pi Musicbox screen an Pi

The Pi bolts onto the back of the display driver electronics. A ribbon cable and four jumper wires were fiddly to fit and I found that leaving the mounting screws lose while inserting into the case helped matters. Otherwise an easy job.

Pi Musicbox touch screen
Pi Music Box inverted touch screen

With the stand upright, the display is upside down! A quick software configuration change fixes this, then it works great.

Pi Music box bluetouth keyboard
Pi Music box bluetouth keyboard

A keyboard is important to me, I proposed to initially use this mini bluetouth keyboard, so I have added a USB bluetouth dongle. In practice this was somewhat fiddly to use because I constantly needed to faff about to get the bluetouth to connect.

Wireless Keyboard
Wireless Keyboard

A solution was found with a compact wireless keyboard with it’s on dedicated wireless UAB dongle. As far as the Pi is concerned this is a hard wired USB keyboard. Instantaneous response, as required.

A Wi-Fi dongle and 2 amp power supply completes the hardware.

Well, Almost. For software reasons, and because raspberry Pis are cheap. I have actually gone with a 2 Pi solution. Most of what I describe above is used for the “controller” part. Another Pi, a Pi 3 B+, is used for the player. This is cable connected to the network and has the sound card.

So far I have got a couple of Pi’s working and have done some rudimentary software checks. The next step is to install and configure the software

Update: In 2021 I updated the hardware and software of my streamer. Read about it here.