There are quite many MP3 player projects done by enthusiasts. So here is another one which works with compact flash cards, handles FAT16 and fits in Altoids mint box.
Player runs on PIC18LF452 microcontroller which handles flash card interface and sends data to STA013 MP3 decoder chip. Decoded digital audio is converted to analog by CS4340 DAC. The project is running from 3.3V LiIon battery. MP3 player also has a MAX756 DC boost regulator that allows using different batteries like couple AA Alkaline. In order to get rid of cables there is an optional FM transmitter MAX2606 to play music via car radio receiver. And last shot is USB connectivity, so it is possible to upload/download files and even charge LiIon battery via MAX1811. Latest project files can be downloaded form here.