For the Microprocessor Interfacing class that I took this past semester, I decided to build an MP3 player as my final project.
I interfaced a small microcontroller to an IDE harddrive and a MP3 decoder. It actually does play sound!
I did not have a filesystem for it (FAT32 is too complex given that the controller only has 1.5Kbytes of RAM), but I designed my own. I'm yet to test the filesystem on the microcontroller, but I have simluated everything as a closely as possible on a PC and it works.
Try the links below to see the lab report and my report on the filesystem I designed.