Bringing Back the Nostalgia of Music Cartridges with a Custom MP3 Player

Add your favorite songs to these 3D-printed cartridges, place them in the reader, and listen without the distractions of modern devices.

Evan Rust
3 years ago3D Printing / Music / Retro Tech / Art

Older music formats

Whether it is the click of a cassette tape, the spinning of a CD, or loading a fresh vinyl record, there is nothing quite as satisfying as buying a new music album and loading it into a physical player to listen. But with the advent of the digital age, almost all music sold today is done digitally, which led Justinas Petkauskas to create his own cartridge-based music player.

An idea

Petkauskas' project, called CartridgeMP3, aims to bridge the gap between physical music media and its digital file representation by playing it back through a simple user interface. The idea he came up with involves loading an SD card with high-quality digital files and naming each one with an increasing number, akin to how tracks are stored on a CD. From here, listeners will be able to plug in a physical 3D-printed cartridge and experience their music through a set of headphones or speakers until the cartridge is removed.

Required hardware

To make all of this work, Petkauskas started by purchasing an Adafruit Feather 32u4 Basic Proto board and combined it with an Adafruit Music Maker FeatherWing. The FeatherWing shield mounts on top of the Feather and contains a Micro SD card that can be loaded with music in a wide variety of formats including MP3, AAC, MIDI, FLAC, and WAV. The Feather is also connected to a pin header with eight of the pins pulled high and leading to digital inputs that can be read later. A potentiometer was included for adjusting the volume, and the mechanical pushbutton switch resets the ATmega32U4 chip.

The code

The Music Maker FeatherWing has a convenient SPI interface that is uses to communicate with the central device, thus letting it send commands for which file to play from the SD card. Petkauskas' program begins by initializing the music player library and then sets up the array of digital inputs pins that read the cartridge by sensing which ones are connected to ground. The main loop continually checks various pin combinations, and if one is matched, the LED is turned on and the music player begins to play the associated file.

Final assembly

The CartridgeMP3 project is housed entirely within a small cube-like shape that has front cutouts to expose the pin header, headphone jack, mechanical pushbutton switch, and the status LED. The back also has a USB type-C port for power.

Playing some music

To watch this project in action and see more about how it works, you can read Petkauskas' write-up on Instructables or watch his video here on YouTube.

Evan Rust
IoT, web, and embedded systems enthusiast. Contact me for product reviews or custom project requests.
Latest articles
Sponsored articles
Related articles
Get our weekly newsletter when you join Hackster.
Latest articles
Read more
Related articles