I have added a follow-on to this Instructable:
The follow-on shows you how to design, etch and build a PCB shield to connect the MP3 to the Arduino. Replaces the analog switches with a 74HC244. SIngle layer board with large surface mount component design. Only 5 thru holes. Take a look.
Ebay abounds with sales for REALLY inexpensive MP3 “Clip” players. These players support MicroSD cards up to 8G, have a built in headphone amp, have built in volume control and Next and Previous control for stepping thru MP3 files. The Clip Players have their own battery and a mini USB port for battery charging and file exchange with the MicroSD card. (You have to supply your own MicroSD card.) And considering the low price, the sound quality is quite good.
I had originally bought mine for $5, now up to $6.75! Better buy a few now…
If you need to add a little music or voice to your next Arduino project, this simple hack will get you there. So here is how this works. We remove the guts to one of these inexpensive little MP3 players, solder on a couple of wires to the MP3 circuit board and attach then two an Arduino protoshield (if you are using a full size Arduino, I will show wiring to an Arduino Mini also.) The circuit also requires two analog switches to completely control all the front panel buttons. The Arduino code to control the MP3 player is really simple and an example is provided. You load your sound files on to a MicroSd card and name them in a way so that they can be sequenced in the way you want. When you are done, your Arduino will be able to step to and play specific sound files, adjust volume up or down, pause, etc.
I plan on following up with an EagleCad shield design. But for right now, its wires and solder and a little programming, so Arduinites can get going.
And of course, after I wrote this, I found this one also:
Hopefully whatever I have left out, you can find in the above.
Step 1: Disassembly of the MP3 Player
These little guys are so cute and functional, it was hard to bring myself to open it up, but honestly, if I didn’t do it…
So, first get a really small jeweler’s Philips head screwdriver and remove the two screw on the white plastic side panel. The panel will pop off when the screws are off. (A small flat blade in the microsd slot. Be gentle!)
With the side off, you will be able to push out the other side. It is U-shaped.
With the other side out, you will be able to push out the PCB and battery. Again, be slow and gentle.
Now everything is out. Cool! Lets take a look at the circuit.
Step 2: Looking at the MP3 player internals
The PCB holds a power switch, stereo headphone jack, a 32kHz crystal, a MicroSD card socket and a mystery IC (at least for me). There is also a 3.5V (?) Li-Poly (?) battery. I don’t use the battery in this design… but don’t let me stop you.
The IC is an LC2093-B. Here is what I found on the web:
MP3 Decoder IC
MP3 decoder board supports FM program features ….
1 Personal Emergency Link ( USB-AUDIO sound card) function,
just use mini- USB cable to connect between the computer,
cool dog can identify ‘MP3 simply repeating listen to ‘
direct control of key PC down selections / volume;
2 download (reader) function : Connect PC can act as a reader,
free copy of the SD card / TF card contents;
3.SD/TF / card playing / U disk playback MP3, 24bit DAC ,
the sound lifelike detail , S / N: 92dB , almost hear the noise
4 support FM , Bluetooth, Iphone
5. directly promote the headphone
output by nearly 3V
6. two line in input, Switch no popo sound
7.ADKEY hardware random selection button function
8. low BOM cost, built-in real RTC function , can save 24C02 memory IC ,
integrated IR decoding, instead of using infrared diode infrared receiver,
built- MUTE circuits, no external transistor , the master part only
10 external components than
9 built-in crystal compensation,
the use of very wide use of cheap 32.768KHZ crystal
10.SSOP 24 package processing cost is low
If anyone can locate a datasheet and post it, I would be very appreciative…
For more detail: MP3 Interface for Arduino