Skip to content
Tech News
← Back to articles

I learned PCB design, 3D printing and C just to listen to music

read original more articles
Why This Matters

This project highlights how DIY hardware and software skills can be used to create personalized tech devices that enhance user experience, such as a vinyl-inspired music streamer. It underscores the growing trend of custom-built solutions in the tech industry, emphasizing the importance of cross-disciplinary knowledge in electronics, CAD design, and software to meet specific consumer desires. For consumers, it demonstrates the potential for bespoke, aesthetically pleasing devices that blend nostalgia with modern technology.

Key Takeaways

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