Each year I take on a fresh Raspberry Pi-based audio streaming assignment. In the past, I’ve looked at how we can use a Pi to stream Roon, Spotify Connect, Squeezebox and Tidal Connect. This year, I’ll be looking at some different touchscreen configurations. This first feature hones in on the RoPieee operating system, a turn-key solution for putting bit-perfect Roon playback on a Raspberry Pi. And as we will see, RoPieee also allows us to add a 7″ touchscreen to the mix – with full Roon playback control – for very little effort. Total price: €200. Are you sitting comfortably? Then we’ll begin…
To start, we need a Raspberry Pi 3 or 4. I went with a Pi 4 (4GB variant) because the Pi 4 is a more reliable USB audio source than the Pi 3 whose USB and Ethernet data share the same bus. I also went with a Pi 4 because I had a spare knocking about. Price? €65. At the time of writing, however, the Raspberry Pi is in extremely short supply and might be difficult – or more costly – to source through the usual channels:
We also need the official 7″ Raspberry Pi touchscreen (€99). Software compatibility issues mean third-party options need not apply. Anything else is beyond the remit of this article and beyond my ken. RoPieee developer Harry ten Berge has stated on the Roon forum that he has no plans to broaden touchscreen support beyond that of the Raspberry Pi Foundation’s own 7″ model:
Lastly, we’ll need a display case to wrap everything in and to help the Touchscreen Pi stand upright on a table, sideboard or hifi rack. This cost me €15 but your mileage may vary. The port layout on the Pi 4B differs from the 3B so remember to buy the right one for your device. As the Pi 4B runs hotter than the 3B, it’s important we consider cooling but without introducing a fan. Who wants a cooling fan whirring away in their hi-fi rack? Not me. I went on the hunt for Pi 4 cases without fans but where a back panel could be left off to leave the Pi’s backside exposed to the elements:
We’ll start by unboxing the screen and laying it face down on the bubble wrap, making sure that the thin gold ribbon connectors that connect the green control board to the screen are furthest away from us. Do not touch those connectors. They are fragile! Let’s attach the (supplied) white ribbon cable to the screen’s control board: the blue side faces downwards. To do this, we’ll loosen the little black pins on either side of the connector, slide the ribbon cable into the socket and then snap the black pins back down again to lock the ribbon cable in place.
Next, we screw the Raspberry Pi onto the gold risers protruding from the screen’s green control board. The four screws are supplied with the touchscreen. Now we attach the other end of the white ribbon cable to the Raspberry Pi’s ribbon connector. It’s on the right side of the board, closest to the ribbon cable below: carefully loosen the black locking strip at each end with a fingernail, insert the cable (no need to twist it) and then press down on the black strip’s ends to lock the cable down. You should feel a click at each end.
The ribbon cable allows the Raspberry Pi to talk to the screen’s control board but we also need to carry power from one to the other. For this, we need only the black and red wires that ship with the screen. The yellow and green wires can be permanently parked to one side. On the screen’s control board, connect the red cable to the far right pin and the black to the far left. Now connect the red cable to the Raspberry Pi: the row closest to you, second pin in from the right — let’s call it Pin 2. The black wire connects to Pin 3. Zoom here for a closer look:
It’s now time to sort the operating system and configure it. We start by downloading the RoPieee operating system to our computer’s hard drive. We then write that OS to a microSD card using Balena Etcher (or similar) and then we insert it into the Raspberry Pi’s microSD card slot. Don’t add the case just yet. It’s a pain to remove should we need to troubleshoot. Find a way to keep the Pi + screen upright and attach an Ethernet cable. RoPieee needs internet access to set itself up and wifi can only be configured after this is done. Time to power her up…almost!
We first need to talk about power supplies: connecting a 5V ‘phone charger’ brick to either the micro-USB socket on the screen’s control board or the USB-C socket on the Pi 4B (or micro-USB again if you’re using a Pi 3B) will technically be enough to power both Pi and touchscreen. However, doing so will cause a lightning bolt to show up on RoPieee’s boot screen to indicate that the system is underpowered. You might get lucky and find that this surfaces no issues. However, an underpowered Raspberry Pi system can sometimes cause it to behave erratically. I’m not a fan of winging it when I don’t have to so I connected BOTH sockets to their own 5V USB sockets (on a single UGreen charger brick). RoPieee’s lightning bolt disappears and I get peace of mind. Don’t say I didn’t warn you. Two power feeds mean we can also add a HAT to our Pi’s back (more on that later).
Once we’ve got the Pi and its screen powered up, we won’t need to do anything else for at least 20 minutes. RoPieee needs this time to install and configure various components. It will reboot several times during the setup/installation process, auto-detecting and configuring the touchscreen as it goes. This is a great time to make a cup of tea or phone a friend.
Once RoPieee has finished setting itself up, its web interface will be accessible via the IP address displayed on the touchscreen. Ignore any errors for now. Type that IP address into a web browser on a PC or Mac. Now we can configure the wifi connection should we wish to use it instead of Ethernet. (I did and do). Look for the ‘Wireless’ tab under ‘Network’, plug in your wifi settings and hit ‘Commit Changes’. Before agreeing to a reboot, connect the Touchscreen Pi to a USB DAC with your choice of USB cable so that when the system restarts, both RoPieee and Roon can ‘see’ said USB DAC.
When we click ‘track next’ or ‘pause’ on the touchscreen, we want the Touchscreen Pi to send that instruction to RoPieee which will then forward it onto Roon. That means we still have a couple of extra steps to make. Handling the second half of that equation is RoPieee’s Roon Extension. Active it now in Roon’s Settings >>> Extensions. Click ‘enable’. Next, we need to tell RoPieee which Roon endpoint it is controlling. In Roon, set up the Touchscreen Pi as an endpoint (Settings >>> Audio) and give it a name. Now plug that exact same name, observing any case changes, into the RoPieee web interface’s ‘Display’ tab. ‘Commit Changes’ again and reboot when asked.
Hot tip: always use the software to reboot or shut down the Touchscreen Pi. Suddenly removing the power cables and reinserting them can corrupt the microSD card.
Once our Touchscreen Pi has rebooted, it should be ready to play some music. Once we’ve confirmed that it’s working without issue, we can drop the Touchscreen Pi into its case. I use one from Digitalrise. Experienced Pi-eaters will see that there’s no room for a HAT. Wassat then? HATs are add-on boards used to improve the Raspberry Pi’s audio functionality (and sound quality). Some HATs are DACs, others are DDCs. They screw directly onto the Pi, swapping data and power via a 40-pin connector (the one we used earlier). If you simply must add a HAT, you’ll need a case that can accommodate it. The Pimoroni Pibow should do the trick. And yes, RoPieee supports a very wide range of HATs. Select your model from a dropdown on the ‘Roon’ tab.
Back to the Touchscreen Pi in the Digitalrise case. On the ‘now playing’ screen, we get cover art display and artist/album/track info. As it’s a touchscreen, we get Roon transport and volume control (keep it at 100% and use your amplifier’s pot) as well as toggles for shuffle, repeat and Roon Radio. My old-man-grumble about touchscreens on hifi gear still stands: why get out of your chair when you have a better touchscreen on the smartphone/tablet on the arm of the couch?
You can see from the photos that I pulled up Radioslave’s Acid Dip EP. And I did so because of the colourful cover art that exposes this setup’s biggest shortcoming: the screen’s narrow viewing window. Stand above it and the colours get weird. Viewed straight on, the Touchscreen Pi looks fine. I’d recommend placing it as close to eye level as possible. I dig the Touchscreen Pi for its cover art display because, limited viewing angles notwithstanding, it’s quite a bit bigger than the screens seen on many consumer-grade streaming DACs or streaming amplifiers. Advanced Roon users will know that a Touchscreen Pi can also be configured to play catch on the cover art and artist/track info even when the audio is routed to a different endpoint.
If we want to add support for Spotify, AirPlay, UPnP/DLNA or NAA (for HQ Player), we’ll need to toggle on the RoPieee XL upgrade on the web interface’s ‘Advanced’ tab. A reboot will then irreversibly upgrade the OS to the XL version. RoPieee XL is available as a download for anyone knowing their streaming needs from the outset.
Know, however, that RoPieee will hit anyone hoping for cover art display from Spotify with a “gotcha!”. It isn’t there. Note too that we must push pause on a Roon stream before we can activate a Spotify Connect stream (and vice versa). These aren’t complaints, merely statements of fact. I’ve not tested AirPlay for cover art display — if you have, feel free to email me with your findings. However, this is an opportune moment to thank readers for understanding that I supply this guide to setting up a Touchscreen Pi without technical support.
Doesn’t the date/time screensaver remind you of the Squeezebox Touch? At €200, this solution comes in a lot cheaper than a discontinued Logitech player purchased on the used market. Our next stop with this Touchscreen Pi project will be Volumio 3. All aboard!
Darko.Audio may earn a small commission from items purchased via affiliate links.