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.
... continue reading