3 Simple Ways to
Share What You Make

With Instructables you can share what you make with the world — and tap into an ever-growing community of creative experts.

PhotosPhotos

Share one or more photos of a project, recipe, or whatever you've made, quickly and easily.

Step by StepStep-By-Step

Share your step-by-step photos with text instructions of what you made so others can do it too!

VideoVideo

Share your how-to video. You'll need your embed code from a video site such as YouTube.

MP3 Interface for Arduino: Cheap and Easy

MP3 Interface for Arduino: Cheap and Easy
I have added a follow-on to this Instructable:
http://www.instructables.com/id/Cheap-and-Easy-MP3-Shield-for-Arduino/
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.

For instance:
http://www.ebay.com/itm/ws/eBayISAPI.dll?ViewItem&item=330654403698&ssPageName=ADME:L:OU:US:1123
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:
http://www.instructables.com/id/Adding-MP3-to-your-project-for-300/
Hopefully whatever I have left out, you can find in the above.
 
Remove these adsRemove these ads by Signing Up
 

Step 1Disassembly of the MP3 Player

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.
« Previous StepDownload PDFView All StepsNext Step »
22 comments
Jan 31, 2012. 2:35 PMwaterlubber says:
Cool. But wouldn't it be easier just to use the blain old MP3 player?
A: Yes, but it wouldn't be as nearly as fun! (Those look like iPod Nanos...)
Apr 22, 2012. 6:36 PMemdarcher says:
they actually look like copies of the old ipod shuffle. but not nano's
Apr 4, 2012. 11:58 AMEttoreL says:
Still no datasheet? Could be a read dvance in using this so cheap IC. Bye. Ettore
Jan 26, 2012. 5:38 PMRobot Lover says:
This is really interesting! I would suggest though to use transistors instead of the chips to make it more simple. Transistors are much more common components then the TS5A3159.
Jan 26, 2012. 8:19 PMRobot Lover says:
That is very unusual to here about the pulses. Well, I will keep my eye out for the datasheet you need!
Jan 27, 2012. 6:10 AMUgifer says:
This is just an idea, but I think some of the features of this system may be linked:

You say that you can't press the buttons at "microprocessor speeds" and from the code it looks like you use 100ms presses. My guess is that you could reduce this to 20-30ms, or maybe nearly down to 10 but no lower. I think it's waiting to see if it gets one of your short high pulses.

What I think happens is that when you ground red or purple, the chip waits for at least 10ms to see if it gets one of the short pulses that would indicate connection to the common orange line. If it gets no high pulse in that time then it assumes connection to ground. If it gets a 2.5 us high pulse in the first 10ms then it assumes next or prev is pressed. Not too sure how that squares with 3.5 us pulse on red, but of course there is a connection that can't be made with that keypad - red to purple - so it could be for detecting that (I wonder what that would do).

Have you tried applying a 2.5 us pulse to vol up or vol down during the first 10 ms of holding it low? I would try a repeat of LOW for 5ms, HIGH for 2.5um, LOW for 5Ms etc for a few reps and see what happens. If you are lucky, you will be able to dispense with the switch chip and with those two control lines and just use vol + & - to control track step also. The issue might be whether you could easily generate a 3.3V "high" without messing up the signals. A level converter might be easier to source than the analogue switch chip thou'.

Anyway, just an idea - I will watch this project with interest as I wait for my shipment from HK!
Jan 27, 2012. 6:32 AMUgifer says:
PS I may not have a datasheet, but this looks like the pinout:

http://www.sztgmic.com/res/sztgmic/pdres/201107/20110721172252817.pdf
Jan 27, 2012. 3:04 PMUgifer says:
Yeah. Looking at that diagram, it's using I2C to control the FM radio chip. So it must be acting at I2C master in that case. However, it has a RTC embedded and what's the point of that if you can't read it? So somehow it must be possible to read that RTC. Only sensible way would be through I2C - that's what many RTCs seem to use. And if you can do that you can almost certainly control all the funcitons through that little two-wire bus.

Even if we just knew it's 7-bit address we could mess about with the interface & might work out some functions, but without that I don't see any way in. I e-mailed them and asked for an English datasheet. Probably won't hear anything, but you never know - they might. I'll let you know if I get anything.
Jan 27, 2012. 6:59 AMUgifer says:
Not sure that it's right, although it is numbered LC2093 in the fig and it has the right sort of functions. If it is then all switches are accessible through one pin - pin 22 on the the 2093. Pulling this to ground through an appropriate resistor seems to give any function you might require - and then some.

I guess you would connect this pin to several Ardu' pins through appropriate resistors and set all but one to INPUT. Then set the pin you need to OUTPUT and pull down though the appropriate resistor. It seems to be working as a voltage divider against the 24K to 3V3 so whether you could fool it with one PWM pin and a capacitor I don't know!
Jan 27, 2012. 5:52 PMkentso says:
I googled lc2093 +mp3 +iic and came to a russian repair site that claims to have a datasheet for it. unfortunately you have to sign up at the site and pass a small electronics test. remont-aud.net
Jan 28, 2012. 1:17 AMUgifer says:
I registered but what you get is the same schematic we already have. Ho Hum. Keep looking.
Jan 27, 2012. 4:47 AMUgifer says:
Great idea!

These MP3 players are incredible value! £2.40 delivered from e-bay if you are prepared to wait for it to come from HK (I have plenty of projects on so no hurry here). I'd pay that just for the battery, and you get a free mp3 player & ear-buds thrown in!

In about 6-weeks when it arrives, I will be trying this!
Jan 26, 2012. 7:00 PMmidknight5000 says:
Do you think I can use this in my current project (a music glove)? I'm using pressure sensitive resistors in each finger that will trigger a programmed sound within my arduino code. I don't know if this will work well with my glove or do I even need this to do what I'm planning. Great instructable btw.
Jan 26, 2012. 11:06 AMlukeD says:
I have an Ipod Shuffle, one like on this link: http://img2.topproduct.nl/img/443467/483660-600-600-max-max/fellowes-powershred-ps-77cs-ipod-shuffle-1gb.jpg

how do you take one like that apart?
Jan 26, 2012. 12:25 AMdiy_bloke says:
Cool!

Pro

Get More Out of Instructables

Already have an Account?

close

All Steps Viewing
View all steps of an Instructable on the same page when you're a Pro Member.

Upgrade to Pro today!
9
Followers
3
Author:dresch