The Beginning

A project log for Silence

Raspberry Pi powered MP3 Player.

ben-brownBen Brown 03/07/2017 at 10:250 Comments

This project started in an attempt to build a MP3 player that would support multiple sd cards. Locally uSD cards in smaller capacities (64GB) are cheaper per GB than larger cards.

This project initially started using a stm32F4 to perform the MP3 decoding and driving the DAC, however, finding nice open source libraries for AAC and MP3 at higher bit rates proved to be annoying to work with and integrate. Thus the Raspberry Pi Zero, it's a nice cheap linux computer that can perform all the decoding for us easily (using FOSS).

The core idea is based around using the Raspberry Pi to decode the MP3 files from the SD cards, and play these using a nice TI DAC (PCM5141). I have used this DAC before in projects, and it's also used in the HiFiBerry products so a nice driver for the linux kernel exists.

The 3 uSD cards are connected to the raspberry pi zero by using the secondary mmc controller, and two cards via SPI. This means the cards are slow (400KB/sec), but that is fast enough for MP3 playback.