This is a follow up to an earlier Instructable for attaching the guts of a cheap clip MP3 player to an Arduino.
The previous Instuctable showed how to use the Arduino to control all of the functions of the MP3 player: volume increase and decrease, next and previous MP3 file, play or pause. The previous Instructable also showed how to disassemble these little clip players and salvage the cool parts within.
This Instructable makes the attaching the MP3 player to the Arduino more straight forward and a lot cleaner. In this installment, we will make a single sided Arduino shield. (You can use this same process for your other Arduino projects.) If you are into electronics and like prototyping, being able to fab your own PCB can be a great addition to the personal tool belt.
So why do this? Why attach an MP3 player to an Arduino? Think about responsive talking toys (how about a screaming/moaning version of Operation?), interactive dioramas, museum touch-and-explain displays...
PLEASE SEE THE LAST STEP FOR SOME FOLLOW-ON INFORMATION CONCERNING THE LC2093-B.
Step 1: Design the Board
1. 3.3V from the Arduino to power the MP3
2. Ground. So there is a common ground between the two devices.
3. Vol- on the MP3 attaches to pin 8 on the Arduino.
4. Vol+ on the MP3 attaches to pin 9 on the Arduino.
5. PLAY/PAUSE on the MP3 attaches to pin 10 on the Arduino.
6. Pins 6 and 7 of the Arduino are use to control a 74HC244 tristate driver to allow NEXT and PREV selection of MP3 files.
(Note, the comments on the previous Instructable suggested that the analog switches in that design be replaced with some more universally available part. I think the 74HC244 takes care of that: it is cheap, universally availble thru electronics distributors, handles both selections in one device and handles the 5V Arduino to 3.3V MP3 conversion.
See the previous Instructable for the explanation of how the design works...)
I use EagleCad. Because of the screwball spacing of the Arduino connector, I just start with the Arduino standard shield design and modify to suit my application. You can find a standard Eagle shield design at:
Attached are my files.
Step 2: Make the Board (part 1)
1. Print out the image on shiny magazine/catalog paper at 1:1 using a laser printer. You may want to do a multi-up, so you can make a few copies at the same time.
2. Clean the PCB copper using a 3M scrubby and a small amount of low abrasive cleaner, like Bon-Ami or copper pot cleaner.
3. Transfer the image from the shiny paper to the copper on the PCB using a regular clothes iron.
4. Slough the paper off the board using water and my two big thumbs.
5. Correct any errors using a Sharpie marker and XACTO blade.
(The etching process is done in the next step.)
Step 3: Making the Board (part 2)
1. Add a hanger to the PCB to hold it in place. A piece of masking tape works fine.
2. Fill the chamber with Ferric Chloride solution. I reuse my solution multiple times and then store the dead solution in plastic bottles until our community chemical disposal days. The thin chamber of the bubbler does not require much etchant to get the job done. (Yes that is a kitty litter bucket as an overflow catch.)
3. Plug in the aquarium air pump, set a ten minute timer and make yourself a cup of coffee.
4. Pull the boards, make sure the PCB is fully etched. Rinse in running water.
5. Cut to size. I use a cheap tile saw from Harbor Frieght. Sand the edges. I use a sanding wheel.
6. Drill the 5 holes. All holes are 0.062 (1/16th). Four go in the centers of the round vias. The last one is on the ground area near the 3.3V via. See the last photo.
7. Remove the photo resist (toner) using acetone or finger nail polish remover.
7. I usually put on a coating of tin, using a ten minute soak in Tin-It solution.
Step 4: Build the Board.
Allign the connectors using the Arduino itself. Solder the 4 end pins. Remove the Arduino and then solder the rest of the connector pins. This should not be too hard to keep in line.
Step 5: Add the MP3 Player.
2. Thread those wires thru the appropriate holes in the shield. Bend the wires flush and solder them down quickly on the shield (to avoid loosening the wires on the MP3).
3. Make the 3.3V and Ground wire attachments the same way.
4. If you wish, put a couple of spots of 5 minute epoxy between the MP3 and the shield.
Step 6: Use the MP3 Player.
2. Have some fun. Make some sound.
Step 7: Follow on Information
The only data on the LC2093-B that any one has been able to find is the PDF schematic from the www.sztgmic.com website. See attached.
More searching of the internet lead me to the VLSI website:
This and the other of the VLSI audio chip sets look very familiar, in fact the VS1000 (an Ogg Vorbis converter to get around the MP3 licensing fees) is very similar in functionality to the LC2093-B.
This is a quote from VLSI's VS1011 datasheet:
"MPEG Layer-3 audio decoding technology licensed from Fraunhofer IIS and Thomson.
Note: if you enable Layer I and Layer II decoding, you are liable for any patent issues that may
arise from using these formats. Joint licensing of MPEG 1.0 / 2.0 Layer III does not cover all patents
pertaining to layers I and II."
My guess is this chip is a Chinese clone/enhancement of the VS1000 / VS1011 (note that no 12MHz crystal is required on the LC2093-B) and that there is probably no datasheet because there is no licensing of the MP3 algorithm...
I have attached another Eagle board version. This one is double sided and uses thru holes. You could submit this file directly to Dorkbot PCB to have a shield made. This version supports either using the 74HC244 (bottom side) OR the analog switches TS5A3159 (top side). There is room for adding an amp (like an LM386) or other circuits using the matrix of vias at the front of the board.
For another approach, take a look at the TDB380 module by Tenda Electronics. There is an Instructable for this module also.
For another shield that plays MP3s, see Sparkfun's: