The Little DAC that could - A new HP Roon Endpoint

Hi all,

Here is my latest DAC/streamer creation. It is intended to be used as a roon endpoint on my network. Since I was planning to use it exclusively(for now) with headphones, I wanted something that was small enough to sit on my nightstand, and not take up too much space. Enter my Khadas Tone 2 Pro DAC, RPi 4, and a 4.3" DSI touch-screen LCD. I also created some custom designed 3D printed parts to fit everything together. I chose the Tone 2 Pro because it was an unused one in my DAC/parts bin. While it is a few years old, it still has very reasonable specs, and it has both balanced and single-ended output. Plus, it is a very slim design, with some Khadas designed RCA jacks that double for both SE, and Balanced output. Khadas is actually still selling them - and they’re quite inexpensive. The LCD screen is from Waveshare and it uses the DSI interface on the RPi. The DSI interface supports both video and the touch capabilities of the RPi.

Tone Board 2 Pro link
here

Hardware:

One major objective with this project was an all-in-one packaging. It also had to use it wirelessly rather then replying on a hardwire internet connection. All I wanted to do was plug in a USB-C 5V adapter and have it work! So having my primary hardware in hand, I first went looking for a screen Bezel. Many RPi LCD bezels have wide edges - that I don’t particularly care for. Most, if not all RPi 3D printed cases - available on the many websites - have a back side and a front bezel side. And there are literally 100s out there to wade through. I finally found a very slim front bezel case with a simple curved stand. I ended up using the bezel and stand of this one on Thingiverse.

Bezel: here

The next part (and most time consuming) was designing the two 3D pieces that I used for the base. If I was going to have a single unit that I could easily move around, I would need a base to house everything. So, I ended up designing a 110mm x 120mm ‘tray’ to act as the base. This would hold the TB2 DAC in front for easy access to the headphone jacks(right side), and the volume control.

I also designed a second, riser piece(small platform) to sit on top of the base behind the TB2. This was primarily used to provide a cover for the RCA jacks, and bring the LCD bezel piece to the same height as the TB2. It would also provide an anchor point for fixing of the LCD bezel and little arched stand. As I was only going for a HPA with this iteration of the project, I did not bring out the line level RCA jacks to the back. A future design may include that feature though.

So, after several 3D design iteration, tweaking and printing I arrived at a combination of all the pieces that would fit together well and function as I had planned.

Here is the image of both the tray base and riser.

Next would be printing the screen bezel and stand. What’s not unique to this particular version of the 4.3" screen are mounting holes for the RPi. When the screen is affixed to the RPi, it makes for a much slimmer unit and it works well together with my customized stand. There’s not a lot of bulk hanging off the back of the screen. At least for me that’s a good thing. With other RPi streamers I’ve built that end up being enclosed, I always try to bring out the necessary ports to the back of an enclosure. I like to use those little u-shaped USB dongles, as well as right-angle USB-C connectors and short hookup wires. I simply don’t like a RPi with flying leads coming from various sides of it! Too untidy for my OCB. :slight_smile: So with this build, I used whatever dongle/adapter I needed and kept the cables as short as possible and out of the way.

Originally, I was just going to have the back of display and RPi exposed. But I decided against that and thought I’d try to find an RPi case that would have a cover(or base), that would work on this custom project. There are literally zillions to choose from on the web! Or, at least have one that I could print and the mod it if required. I wanted the RPi cover to be shallow, and not stick to far from the back of the LCD/RPi arrangement. I did find one on Thingiverse that I had to mod a bit, but it’s near as bulky.

here

Finished back.

For the software I used roon. Since I have adopted roon as my digital storage and playback software many yrs ago this made sense. After installing a fresh copy of the latest Raspian I loaded ‘Roon Bridge’ (turns a RPi into streamer basically). I then made the changes to allow Chromium to be used as a Kiosk. In Kiosk mode you set Chromium to autostart a webpage(or IP address) you want executed and that webpage will be invoked during the bootup of the remote endpoint(this device). I also run the Roon Web Controller extension on a separate RPi in my server rack. Using an LCD that has a DSI interface will support both graphics and touch capability the screen - without needing to use a separate USB cable from the display to the RPi. This is a must have so the user has full playback transport functions and library/track selection control.

I thought about using a plexiglas pane, briefly.

Finished product.

10 Likes