This pocket sized mp3 player is based on Microchip PIC16F877 and comes with both C and Assembly source code but the C code version has more features and stability. The mp3 player was designed to work with compact flash cards up to 100 gigabytes. For decoding it uses the VS1001K chip and for conversion it uses the built in DAC. The principle of operation is not very complicated, the PIC reads the CF card and once it finds a file it clocks the card 512 times per sector sending all the information one byte at a time to the decoder chip. The decoder gets a valid stream of data and sound comes out of the built in DAC. The project doesn’t have a display or a fancy menu, it’s just a plain simple mp3 player.
DIY Mp3 Player Based On PIC16F877: [link]