As a Propeller microcontroller user, it's not a big deal to play WAV files with my MCU, but MP3 playback is something too complex for the Propeller, the Ardunio or PICAXE microcontrollers. Shopping for an add-on card is almost downright depressing, with simple breakout boards starting at $20.00 -- $199.00.
Fortunately, Hong Kong has mastered ultra cheap MP3, and with a little hacking you can add it to your project for around $3.00.
I'll demonstrate the hack using a Propeller, but the best part is that ANY micro-controller can use the device once you've got the project finished.
A generic MiniClip MP3 player (Source Ebay prices range from $0.26 -- $3.00)
Your favorite microcontroller. (I'll be using Propeller Platform, but any will do fine.)
A hot glue gun
A steady hand, and basic soldering tools.
Step 1: Teardown
Grab a tiny philips screwdriver and pull the two screws from the top of the Miniclip player.
The whole thing should slid out with a little prying.
Notice the little battery, as well as red/black wires. The Miniclip runs great a both 3.3v and 5v.
Step 1 > Carefully, desolder and set the battery aside, we'll use part of it later.
Step 2: Replace the Power Wires
Step 2 > Replace the battery connections with two stronger power wires.
Recommended > Add some hot glue to strengthen the connections once you've soldered them in place.
I used a couple breadboard wires.
Step 3: Adding the Control Wires
You'll need a steady hand for the next step...
Step 3 > Solder wires to the center of the forward & pause/playback controls. I recycled the wire from the battery.
Be very careful to only make connections with the "center" of the connection pads!
Also, don't heat the pads too much! I lost the center button on mine. (Note the image)
Recommended: Once you have the connections soldered in place, use some hot glue to strengthen the connections.
Special note: A keen observer will notice that the connections I've listed do not correspond to the actual buttons. I've discovered that the method I'm using works fine. See the second image for a map of the controls as we'll use them.
Step 4: Controlling the MP3 Player
Controlling the MiniClip player is a snap!
Hook the Power/Ground wires to either 3.3v or 5v DC. I grabbed power from my microcontroller board.
I hooked the play line to P1, and the forward line to P2 of the Propeller.
Why it works:
When the program launches, I set both of these lines "high".
When I need to toggle the button I pull the output "low" for a moment, then return it to a "high" state when I'm finished.