Embedded Systems | Archive

Audiophilis MP3 player

This is an archive post about a 2007 project.

Shown is Audiophilis, an MP3 player project of mine that consisted of a base station and remote control with touchscreen meant primarily for my own use and as proof of concept. At the time that I built it in 2007, the home HiFi market was still largely CD players and basic remote controls without a way to browse a large audio library. The first iPhone(also released in 2007) had such audio library browsing capability, but maxed out storage at 16GB at the time.

Audiophilis was the result of a lot of curiosity and self study during my teen years that first led to individual system components (storage, filesystem, network drivers) that only later came together as this larger system.

description
Fig 1. Audiophilis Base device, 2007

System components

The system consisted of two main parts: The main device that acted as the player (Fig. 1 and Fig. 2) and the touch screen remote control with WiFi (Fig. 3). New tracks could be transferred to the device through Ethernet from a computer. The hardware abstraction layer for external devices such as the ENC28j60 SPI-Ethernet bridge, ATA hard disk, touchscreen as well as the network stack and filesystem drivers were implemented by me in the years before.

Some of these components were shared with the broader open source community on mikrocontroller.net as well as on this website (nikbamert.com) in the years 2005-2010 (see links below).

description
Fig 2. Audiophilis Base device internals. The Microcontroller tying everything together is an ATMega644. Networking is done by an ENC28J60, MP3 decoding by a VS1001k and the MP3 files are stored on a 2.5 inch 30GB hard disk connected through parallel ATA.
description
Fig 3. Audiophilis remote control components before assembly. Monochrome resistive touchscreen with SED1335 controller, ATMega32. ENC28J60 to bridge to a wifi access point (wifi modules with open drivers were unavailable back then)