MP3 Player Project

By | June 8, 2006

An early prototype which shows the PIC successfully interfaced with the LCD Module; The SD card is also there, but so far I’ve had limited success with it

As many of you know, earlier this year I decided to begin work on my very own MP3 Player. I decided that as a computer engineering student, we don’t get enough practical experience dealing with the design of actual hardware that we later implement.

After racking my brain for a project idea, I decided to attempt to design my very own mp3 player. I realize that there are already many projects available online, such as minty mp3, the famous Altoids tin mp3 player project, but that would be taking the easy way out; to truly get the value from the project, I decided that I would need to design the system my self from start to finish.

Stay Tuned for more info on this project. In the next few days I’ll post some datasheets, schematics and some more details on exactly what success and failure I’ve had with the project thus far.

I began by looking around the net and reading about various projects, chips and other packages that will be neccessary for my player. I decided on using the following components for (although the project is still early in development and things are likely to change):


  1. PIC16F877A – At the heart and soul of my player is this microcontroller by Microchip. This chip is easy to program, and contains lots of memory and many nice features that should make things a bit more interesting.

  2. STA013 – This chip is really where the action happens. The STA013 by ST Microelectronics is an mp3 decoder. The chip has three main interfaces, one i2c interface that’s used by the microcontroller to control the chip, another for serial data input and another for serial output.

  3. PCM1748 – By Texas Instruments the PCM1748 is a 24-bit stereo DAC (that’s Digital to Analog Converter for those of you who may not know the acronym). This DAC is specially designed for converting a PCM audio signal into an analog form that’s suitable to be amplified and finally listened to on a pair of headphones.

  4. SSC2F16DLNW-E – This is a Hitatchi compatable 16×2 LCD module. It operates on a 16-bit parallel bus and allows me to display 2 lines of 16 characters. The module supports a subset of ASCII (all of the important characters like letters, numbers, common symbols, etc..) as well as selection of Japanese/Arabic characters. The display has a beutiful back light.

  5. SD Flash Memory – When deciding on what kind of memory to use with my player, I decided on SD memory for a couple reasons; first and foremost, I already have an SD card that I use with my digital camera (I used it to take the photo above). Second, SD Memory is relatively small compared to other types of memory like compact flash or even a small IDE hard drive. My final rationale was that SD memory is starting to get pretty cheap, for less than $100 CAD I can get a 2Gb SD Card.


3 thoughts on “MP3 Player Project

  1. Bui Chi Kien

    I’m studying about mp3 player. Was Your Project successfull? Can You give me your Source Code? I have any problems with my code.
    Wright to me soon.
    Thank you very much!!!

  2. cypher Post author

    Actually, I am currently still working on my project. I am still trying to interface with the SD card. If you like, I can post the code that I have already written in a day or so when I get the time.

    Currently, my code basically just controls the LCD, as I haven\’t interfaced the MP3 decoder or the DAC, one step at a time.

    I encourage you to play along and you can try and build my player, but I can\’t guarantee your success. There are also several other projects, like minty mp3 which is linked earlier in this post.

    Mark Roy

  3. Joseph McGrath

    Thank you for posting your project online. I’m very interested – looking forward to reading about your progress! I’ll keep checking back for updates. Also thanks for the minty mp3 link, I hadn’t heard of that one.



Leave a Reply to cypher Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.