It has been awhile since I built my Raspberry Pi "Touch" Streamer discussed back in 2017. We're here now in 2020 and I had the need to put another one together. Since 2017, I've been using Roon more than Logitech Media Server (LMS) in my sound room so I thought I'd focus on installing RoPieee for this article although piCorePlayer remains my preferred software for LMS use (I still have LMS running on a Linux VM on my Server machine for remote playback of music away from home).
Raspberry Pi 3 B+ - $42
AC Adapter 5V/3A with switch (microUSB for Pi 3) - $10
Official Raspberry 7" touchscreen - $64
SmartiPi Touch 2 case - $30
SanDisk 64GB microSD - $13
RoPieee software - donation-ware download, your choice "standard" or "XL"
Notice that I'm using the older Pi 3 B+ (2018) because the quad-core 1.4GHz CPU is more than enough for an "appliance" like this, it runs quite cool, sips little power, and most of all, is fine without the need for active cooling. Yeah, the Raspberry Pi 4 is new, but remember to always focus on "needs". Depending on your ambient temperature, the Pi 4 runs hotter and typically needs a fan which is verboten in my sound room - anything that increases ambient noise is a concern for hi-fi listening.
The older Raspberry Pi 3 B (2016) would also be fine for a build like this although it will run a little slower and the ethernet link will be limited to 100Mbps which might be a problem if you stream >192kHz material. Price difference is minimal so might as well get the B+. [Note: I tried the Pi 3 B and indeed it works very well so don't be afraid to use it instead if you already have one of these older boards.]
The 64GB SanDisk microSD I listed is obviously more than you will need; if you have a cheap, reliable 4+GB microSD somewhere, use that - no need for particularly high speed storage.
Assembly & Set-up...
1. Here are the components. As you can see, I did this in the kitchen with my son. I have the blue silicone mat out for convenience and antistatic precautions. Note the Raspberry Pi 3 B+ board with small heat sink attached, an old 8GB microSD card and of course the SmartiPi Touch 2 case and 7" touchscreen boxes.
The only tool you'll need is a small long Philips-head screw driver. You'll need to reach into one of the holes to tighten a screw, hence a longer one.
2. Let's open up the SmartiPi Touch 2 box and have a peek. Notice many pieces are included with the case, we will actually not be using some of the pieces like the fan and its plastic enclosure for a Pi 3 board.
Notice the base plate up front. The main enclosure where the screen is inserted and Pi motherboard attaches is the piece to the left of my Raspberry Pi.
3. Put aside the SmartiPi Touch 2 case for now. Open up the 7" Touchscreen box to get it ready.
Remove the long metal stand-offs and secure the controller board to the screen instead with short rounded-top screws found in the small SmartiPi plastic bag. As you can see in the picture below, I've already done this with the bottom right screw:
Attach the straight ribbon cable from the SmartiPi plastic bag. Note how the ribbon goes into that connector. Remember to pull the retention mechanism out to open the slot for cable insertion and then push in on the plastic mechanism to "lock" the ribbon cable in place.
4. Now it's time to put the screen into the SmartiPi Touch 2 enclosure. Note the ribbon cable will make a 180° loop under the screen so that it can come out through the slot that connects with the compartment where the Raspberry Pi board will sit as per the picture in Step 5.
6. Time to "etch" the RoPieee software onto your microSD card before inserting into the Raspberry Pi. Go to your computer now and download the RoPieee .bin software from the website. I used RoPieeeXL which is the superset of the software that includes functions for Apple AirPlay, DLNA, Spotify, Squeezelite and HQPlayer NAA. Obviously if all you need is Roon playback, just go with the standard RoPieee. (Not that I needed the extra features currently, but may be worth experimenting with in the future.)
Use the suggested Balena Etcher to write that .bin file to the 4+GB microSD.
|Click Flash! when file and proper drive selected...|
It'll take a few minutes as the microSD is written and verified.
7. Now put the "etched" microSD into the Pi memory slot.
And we insert the Raspberry Pi into the SmartiPi Touch 2 case like so:
Notice the Pi sits in the compartment quite snugly with the M2.5 studs through the mounting holes. No screws needed. Attach the ribbon cable as above into the connector - again be mindful of the locking retention mechanism.
8. Snap on the back plate to secure the board in place. Note that you can knock out that pre-cut area on the back panel for more air flow to the CPU/heatsink if desired. I have had no issues with heat using the Pi 3 B+ and a small heatsink. Remember that if the Pi gets too hot, it will thermal throttle and you'll likely notice some sluggishness.
The fact that the Pi board is secured down without screws is good because it allows us to open up the case (with the snap-on piece's push tabs) to access the Pi board and easily switch out the microSD card if needed.
9. Secure the stand / base plate with the large screw and nut supplied with the SmartiPi Touch 2. Don't tighten too much since we do want to allow some adjustment for view angle.
10. Put on your favourite faceplate. I used the plain one as shown. There's another one if you have the Pi Mini Camera Module. Feel free to use the Lego one if you want to stick some toys on :-).
11. Attach the appropriate Y-cable for power. For the Pi 3B(+), we use the micro-USB cable. There's also a USB-C Y-cable included with the SmartiPi Touch 2 case if you have the Pi 4. Remember you'll also need to use the case backing with fan for the Pi 4.
Though not shown, this is also a good time to stick on the 4 plastic footers included with the SmartiPi case (red arrows indicate hind 2 locations to stick on the footers).
12. Plug in the power supply - remember, I recommend 5V/3A minimum since we're running both the Pi and touchscreen. In this picture below, I was using an old 2.5A supply and there's the yellow power icon on the upper right side of the screen indicating that the Pi detected a voltage drop - it needed more juice! If you see this, make sure to get a better power supply otherwise you might run into unexpected errors or storage data corruption that could be difficult to troubleshoot.
|Found an outlet by the kitchen to plug in 1st time...|
There you go, network detected, it's now installing software like RoonBridge (power still too low with the yellow icon flashing).
After the install, RoPieee will run and since I don't have a USB DAC plugged in and have not registered the device with Roon Core, we see this message:
As you can see, the default RoPieee setting has my screen oriented upside down. I suppose I could have changed the way the screen was inserted into the case but notice that in fact, the boot-up screen was normal which means that RoPieee is defaulting to an inverted setting. Let's adjust this and a few other things in the RoPieee set-up.
13. Go into the RoPieee web-based set-up to change the device name and screen orientation. Follow http://ropieeexl.local (for XL, or http://ropieee.local for standard version) or the direct IP address is also good.
In Roon tab, I changed Hostname (name of the device on your LAN) and Timezone. Clicked Audio USB to "on" as this is what I'll be using.
"Commit Change" to save and possibly need to reboot.
Now go into the Display tab:
Remember my screen was upside down? Normalize it with "Default" orientation (by default, I see RoPieee has it as "Rotated"). Feel free to change whatever Roon Control Zone you want to name this streamer which is of course what the device appears as in Roon. Note that the Roon Control Zone name does have to be reflected in the Roon software which I'll discuss below. Screen Saver Timeout is how many minutes to wait after music playback is stopped for the screensaver/clock to activate. "Commit Change" and reboot again as needed.
14. Almost there! Time to now connect the USB DAC to the device and let's register the new RoPieee Raspberry Pi "Touch" Streamer for Roon to see and control.
The RoPieee "Touch" device should recognize the USB DAC automatically - I've used it with both my Topping D10 and RME ADI-2 Pro FS R BE without issue.
Go into your Roon set-up now and enter Settings --> Extensions and you should see the Spockfish "RoPieee Remote Control" option, click "Enable".
You should now see the device available in the Roon Audio menu as one of the "zones" you can enable (in this image, RoPieee sees the Topping D10 USB audio output):
Once the DAC output is enabled, you should now see RoPieee spring to life and start playing music on the streamer...
Touch the lower right corner of the screen and you can control screen and clock brightness. I like to turn this down and not have the screen be too attention-seeking when listening to music. Notice the Topping D10 on the right connected by USB:
Hope all went well and congrats! Now go play some music with your new Raspberry Pi "Touch" Audio Streamer.
I mentioned above about changing the name of Roon Control Zone in RoPieee's "Display" tab and needing to make sure the Roon software knows this. If the screen is showing an error, make sure to check that the name is correctly labelled. For example, if I change Roon Control Zone to "Soundroom RoPieee":
A few little details...I remain very happy with these Raspberry Pi "Touch" Streamers over the years. Remember, if you tend to be an anxious audiophile after hearing all kinds of claims online about noisy screens and jitter issues, there is no need to worry. Inexpensive switching power supplies and the touchscreen have yet to result in any audible issue for me when attached to a modern USB DAC (investigated a little while back).
Likewise, no worries about ethernet causing any troubles or WiFi adding to noise issues. Unless you have a good reason to do it in your home, don't waste money on things like galvanic isolation such as purposely running an optical network for audio. That's simply laughable. There's much angst and baseless anxiety perpetuated by non-technically-oriented audiophiles online and in magazines IMO. Unless shown to be true (what equipment? what context?), it's best to remain skeptical about audiophile tweaks and the need for expensive stuff since they're almost always wrong.
While you'll need to start with wired ethernet as above, once RoPieee is working, if you prefer a WiFi connection, just go to the Network tab, enable WiFi, and adjust which wireless network/password, commit change and reboot before disconnecting the ethernet.
Remember that maintaining the data rate and avoiding stuttering (especially if you stream hi-res audio) with a strong, stable WiFi signal is essential. An inexpensive WiFi dongle/antenna might help if the Pi's built-in WiFi is too weak. There is no sound quality difference between WiFi vs. ethernet (explored here) so long as signal strength is good.
Finally check out this image:
You'll notice two things from this picture:
1. My wife got interested in Korean dramas and wanted to listen to some soundtracks. ;-)
2. Check out the red arrow - this is pointing at the samplerate. I'm upsampling the music in Roon to 32-bit / 768kHz which is the maximum samplerate for the RME ADI-2 Pro FS R DAC/ADC - rather extreme for audio playback of course! The DSP "Signal Path" in Roon is shown to the right with room correction convolution DSP active.
Although the Raspberry Pi 3 B+'s ethernet is operating as a gigabit link (connected to my audiophile-approved Netgear Nighthawk S8000 of course!), remember that both the ethernet and USB2.0 are sharing the same internal bus which has a real-world transfer rate of 200-250Mbps. Despite this "limitation" (remember, theoretically gigabit ethernet should be 1,000Mbps and USB2.0 480Mbps), 32/768 audio is well within the real-world transfer limit. I did not hear any stuttering or errors during playback over a few hours. Obviously, the device has plenty of bandwidth for more typical 96kHz / 192kHz hi-res streaming.
Since I almost always apply room correction DSP in my playback, PCM encoding is much preferred for my music library. While I have not tried, there should not be an issue with DSD content streamed through RoPieee.
Conclusion...You could buy audiophile-recommended Raspberry Pi based streamers relatively inexpensively these days (Allo products seem prevalent). However, it's not hard putting these simple devices together and the 7" touchscreen on this build is relatively large compared to the screens of most streamers I've seen. It's great to be sitting at my listening sweet-spot 10-feet away and see the album cover at a glance. Furthermore, friends/family who come visit tend to be impressed by this.
So far, RoPieee (I started with version 2.535, currently 2.573) has worked like a champ. 24/7 stability for weeks. Remember that the enclosure and software are also compatible with various Pi HAT DAC boards like the HiFiBerry DAC+ Pro (measured here) and digital S/PDIF HATs like the Justboom Digi (measured here) - reasonable and inexpensive options although there are higher fidelity ones out there.
Simple streamer devices like this make great endpoints for a "Distributed Computer Audio" set-up. For me, it makes good sense to have a 2-piece (Streamer+DAC) solution because I can easily switch the streamer or upgrade the DAC as desired. Furthermore, at <$160 to build this, I'm putting the financial thrust into the DAC rather than a bit-perfect transport because that's where sound quality is to be gained on the hardware side. Money saved can go into the software side like Roon, streaming service subscription, or buying more music of course. It's always about considering the balance to achieve maximal value; no point spending money unnecessarily.
Remember that "Bits Are Bits" with well-engineered gear these days regardless of what the "High End" and their Golden-Eared subjective reviewers might be evangelizing. IMO, this device is as good as any other bit-perfect streamer for sound quality regardless of the price or how "extreme" one wants to get (whether it's this or this or this or this or even this stuff) - it's really all about features you need/want and how something looks, not how it sounds. As I've said before, there's absolutely nothing wrong with putting money into the materials, workmanship, or appearance of things but don't claim audible differences if there's literally no electrical difference to be found!
Of course, the "High End" audiophile media will not speak openly of an inexpensive $160 Pi streamer like this as sounding the same as any other bit-perfect device. Rather, in the ads, companies will vaguely suggest/hint/theorize rather than outright claim a difference in sound for risk of false advertising. Companies will then leave it to the magazine/online subjective reviewers to make outright claims that "differences were not subtle" in order to avoid truth-in-advertising issues. Sometimes it goes full circle and we see reviewers' comments then quoted by the companies in their advertising - "Best digital transport I've ever heard!".
Such is the mechanism whereby freedom of speech and opinions become recycled as received "wisdom". This is how audiophile myths are born and perpetuated over time with nobody in the media actually testing to verify if claims are indeed facts.
Such has been the game for decades...
Finally, for your own sanity/salvation, I would strongly suggest not letting the "$1000 ethernet cables make a difference!" meme/spirits possess your audiophile psychology/soul just like the the "need-for-expensive-USB-cable" nonsense. Stay rational, and as may be appropriate for one's intent, keep your eye on the philosophy of achieving high fidelity as the goal.
To end this post, I appreciate that Stereophile has been archiving their back-issue articles online over the years. Not just product reviews (with measurements), but also educational technical articles speaking about the process of the craft of how recordings are produced and implications for the home audiophile.
The recent article "Humidity, Concert Hall Sound & Spectral Tilt" is a nice one by Peter W. Mitchell from 1991! As per the title, we have discussions about humidity resulting in high frequency absorption (we discussed temperature and humidity for listeners here on the blog awhile back). He thoughtfully explores how microphones are placed in concert halls, and the effect on frequency response of recordings.
In summary, there is a nice discussion about the utility of "spectral tilt" controls, the idea of applying a "room curve" EQ as it were which tilts down the high frequencies by a few dBs for more accurate sound:
"What I'm suggesting for loudspeakers is not a sharp high-frequency rolloff but a response curve that could be drawn as a straight line with a slight downward tilt. In fact, many speakers already provide this. Of course the result depends not only on their on-axis response but also on how their off-axis response interacts with the acoustics of your listening room."This kind of idea is consistent with discussions on room correction and "house curves" we've had here for years and in Mitch Barnett's writings with significant influence from the empirical work of Toole et al. (a recent comment here with other rationale).
What I find interesting these days in the magazines is the lack of good general technical discussions like this. While I hope to provide information and discussions here on the blog as an audiophile hobbyist, and certainly other places like forums and sites like Audioholics routinely provide useful insights, where are such articles in Stereophile of late? What about The Absolute Sound or Hi-Fi+ being some other trade magazines we might still see at the (few) bookstores carrying a selection of magazines here in North America?
These days the magazines seem to have dissociated themselves from the role of educating the audiophile with well researched fact-based articles that form the foundation for what we do and how best to improve sound quality independent of the idiosyncratic lives and thoughts of "subjective only" reviewers. It seems that magazines are much more interested in identifying brand names and have us buying even more expensive stuff than understanding the process or intent! This is part of why I've long held that magazines (and the majority of online sites) have become no more than the advertising arm of the Audio Industry (particularly the "High End" companies and these glossy magazines).
I think some hobbyists are afraid to call themselves "audiophiles" because of the lingering perceptions equating audiophilia with audiophool products, ideas and shameless promoters/enablers. I still think "audiophile" is a fine description of the hobbyist who "specializes" in high-quality audio hardware and sound. I know of no better antidote against this stigma than fact-based education; perhaps in time, more of us will not just be proud audiophiles, but also see it as noble to be anti-audiophools.
Kudos again for Stereophile to at least post these gems from the past. It's good to keep in mind the "spectral tilt" and this is one of those things we might want to look out for with loudspeaker measurements not just on-axis but off-axis as well. For me, I'm still of the opinion that the amount of "tilt" one chooses remains a subjective matter of taste depending on one's hearing, the room, and the kinds of music we listen to most.
Check this out... Teens (probably raised on today's dynamically crushed recordings) appreciating high dynamic range:
I wish artists, production people, and record labels would remember those days when music utilized dynamics for emotional impact (instead of wimpy loud sound). Go on Phil Collins, show 'em how it's really done! :-)
Stay safe, stay healthy, and enjoy the music, friends...
PS: I see UK reviewer Simon Price at 13th Note HiFi Reviews is leaving audio writing with some tell-all / blunt articles like this one recently. As someone who aims to be "more objective", yeah, no surprise what he's saying about the Industry and products. Wishing him well in future ventures.
Addendum (August 11, 2020):
In my testing of the Raspberry Pi 3B(+) streamer over the last week with a few of my DACs (Topping, RME, TEAC) with Roon and RoPieee, I noticed what sounds like digital error sneaking through (sounds like a little 'tick' or noise) typically when I'm using DSP and upsampling every few minutes.
Increasing the buffer setting in Roon to 100ms fixes the issue:
Seems to be buffer underrun when set to "Default" (I'm guessing this is around 50ms?). Feel free to use higher values like 250ms or 500ms. Remember that increasing buffer size could increase latency but this will not change sound quality - if anything, potentially less CPU load and reducing "noise" from the processing if you believe this even makes a difference. ;-)
Also, if you have a managed ethernet switch (like my Netgear Nighthawk S8000), increasing the priority to the port might make a difference.