When looking to play MP3 music files for a good while from the late-’90s onwards, Microsoft Windows users would tend to migrate towards the Winamp media player. Originally released in 1997 and developed by Justin Frankel and Dmitry Boldyrev, Winamp’s skeuomorphic user interface soon resembled a compact stereo system. It was instantly accessible and it certainly caught the attention of a young Rodrigo Méndez – so much so, he’s based a cool Raspberry Pi project on it.

“I remember when I first got my own PC – an 800Mhz Athlon with Windows 98,” he recalls. “My cousin installed Winamp in it and gave me some MP3s to play. At that time, seeing music coming from a PC, and having the visualisations move in real time to the music was unbelievable to me because my previous experience with computers had been an old MS-DOS PC that my dad had at work.”

For his project, Rodrigo wanted to bring Winamp’s early days back to life in a more physical form so he decided to produce a music player that could easily be part of a hi-fi mini system. Specifically, he took inspiration from a Aiwa mini setup from around 1983, figuring he could create a case and have all of the functions available on a front touchscreen display.

One thing he noticed was the simplicity of design of the old devices. “Old electronics, especially audio devices, managed to look high-tech and yet elegant,” he explains. “They managed to fit in well with people’s home décor while using relatively simple construction techniques such as sheet metal or wood. I thought that, with all the new manufacturing services we have now, It wouldn’t be too hard to replicate some of the construction techniques of my old Aiwa system, so I set out to learn how to design sheet metal parts, which was in itself a fun exercise to do.”

This is the Aiwa stereo tuner and amplifier which inspired Rodrigo to create his own retro hi-fi device

Physical

Rodrigo based his build around a Raspberry Pi 4B with a 32GB microSD card. “I decided to use the Raspberry Pi because of the software support and extensive documentation and online resources,” he said. “In the past, I’ve completed projects with other single board computers and I’ve always found small details that made their usage much more complex, for example, limited documentation on how to do lower level things like interfacing with special displays, controlling the boot process, or even just supporting recent Linux kernels.

“Since this was a hobby project, I didn’t want to spend too much time figuring out those details on other SBCs. Also I chose Raspberry Pi 4 because it was the latest model at the time I started the project. Raspberry Pi 5 was announced after I’d begun and I figured I didn’t really need that device’s performance anyway.”

A Raspberry Pi 4 forms the heart of this build. It is connected to a generic 7.9-inch touchscreen display. Extension cables allow for rear ports

At first, Rodrigo toyed with the idea of making the front face physical. “I wanted to add real-life buttons using a 3D printer and I was going to design a custom PCB for the interface,” he says. But he couldn’t find screens with the correct size and dimensions for the spectrum analyser and song information displays that needed to be included to remain faithful to Winamp without making the build too complex.

“Making it physical would have made it less flexible as well,” he adds. For example, I would not be able to have the playlist view in the same display, which would make the device bigger and clunkier so I decided to go with a touchscreen.” This, he figured, would stretch across the entire front of the device and include all of the buttons as part of the UI. He reckoned his background as a software engineer meant this would prove to be relatively straightforward.

A little more love

Rodrigo opted for a 7.9-inch extra-wide screen and he created the case using sheet metal, sending his Onshape designs to PCBWay so they could be produced using 1mm anodised aluminium. He’d closely analysed his Aiwa system so he could figure the correct dimensions and overall look and, for convenience, he placed a power button, Ethernet port, USB-A and USB-ports and 3.5mm stereo jack at the back.

Rodrigo is looking to create Linamp devices for sale and wants the community to help him figure the logistics by filling in survey at magpi.cc/linampsurvey

The majority of his time was spent on the software, however. He created a custom Qt 6 app which he wrote in C++. “Replicating the layout itself wasn’t that hard, it was just a matter of getting rough dimensions at first and drafting the UI in Qt Creator using the graphical Qt Widget designer interface, and then fine tuning dimensions by comparing screenshots in GIMP,” he explains. “The complex part was replicating the spectrum analyser and getting the raw audio data to feed it. I did a lot of research and looked into other open-source projects’ code to get ideas and code to base my solution on.”

It’s proven to be a very vivid, eye-catching solution and it doesn’t feel as if any compromises have been made. Above all, it has the intended nostalgic flavour thanks in the main to the spectrum analyser and the way the name of the song and artist scroll across the top. It also retains the intuitive UI in full, so songs can be selected and played in no time. “Linamp supports playing music CDs from a CD/DVD drive connected via USB as well, but you need to use a powered USB hub in order for the drive to work, otherwise Raspberry Pi may not have enough power for the external drive,” Rodrigo adds.

Linamp can play MP3, M4A, FLAC files and more. You can control the output volume and balance too

Yet despite being feature packed, Rodrigo wants more. He’s also been overwhelmed by the positive reaction from people who have seen the project and he is working on adding Spotify playback and Bluetooth. “It had an amazing response,” Rodrigo says. “I never imagined it would have been that popular, especially on YouTube, where I uploaded a quick video of how the UI works as an afterthought.” With more than 100,000 views, we don’t think we’ve heard the last of this project.

From The MagPi store

Subscribe

Subscribe to the newsletter

Get every issue delivered directly to your inbox and keep up to date with the latest news, offers, events, and more.