Pentaton LP: a music streamer with an LP sleeve sized display.
I always liked to see and touch the cover artwork of the CDs and LPs I bought in the past, but in the end the convenience of digital streaming won me over and I accepted no (or stamp-sized) artwork. Lately I’ve been missing this more and more and ultimately decided to try to do something about it. So I built a streamer.
The hardware
I wanted a device that looks and feels like a vinyl sleeve put on display. Around 12”x 12”, and as thin as possible. I sourced the only display matching my needs: a 17” industrial IPS LCD with a 1920x1920 resolution. This came with an embedded DisplayPort connector and I needed to find a single-board computer in a compute module form that has this connector. Not a lot to choose from, but I managed to find the Radxa CM3.


Since I wanted the device to be thin, I needed to design a carrier board for the CM3 with as little height-above-the-board as possible. I never did this before so there was plenty to learn, from basic electronics and magnetics to high-speed signal routing. Took me four revisions to get to state where everything works as expected.
The board is powered via USB-C PD, has another USB-C for an external DAC, a Gigabit Ethernet port and a 12V trigger in the shape of a 3.5mm jack. The compute module also has Wifi and Bluetooth.


I designed an enclosure in FreeCAD which was also new to me. Turns out parametric CAD and smooth, curved surfaces don’t work well together. I had to write a custom macro to generate the shape I was after. Once I had the design, I tried to 3D print it on my brand new 3D printer, which turned out to be a disaster. Took me some time to learn more about designing for manufacturing, especially for 3D printing.
In the end, I had a small computer looking like an LP sleeve.
The software
I use AirPlay in my home exclusively, so I needed this streamer to support that. I went for the most popular open-source implementation called shairport-sync and made it work on a very scaled down Alpine linux image. I had to learn quite some things about booting single-board computers, device-trees, compiling kernels, controlling display backlight, power management and more.
This gave me a good base but no artwork just yet. So I made a small application that powers the display based on the metadata that is coming from the AirPlay client. It only shows the artwork and nothing more. This was surprisingly challenging, even though this is the area I am most familiar with. Turns out, cross-fading two 4MP images at 60 frames per second on a moderately powerful single board computer is not so easy. I needed to use GPU acceleration to make it happen and look smooth.
Funnily enough, AirPlay itself only transmits low-resolution artwork (around 500x500 pixels), no wonder why large-display streamers don’t exist. Thankfully, I was able build an out-of-band protocol extension into my audio player app, so that full resolution artwork can be sent and displayed in all its glory.
Usage
The device is always on. When the screen is off, it consumes less than 2 watts. It wakes up automatically when streaming starts and turns on the screen and my amplifier via the 12V trigger. At full brightness it needs about 24 watts. I power it using a generic USB-C charger and have my Pro-Ject Amp Box SE connected via a FiiO KA17 DAC. AirPlay does CD quality lossless which is plenty of quality for me.
What’s Next
I am considering creating a Kickstarter for Pentaton LP if there is enough interest. If you don’t want to miss it, sign up for updates here: https://pentaton.app/lp/