MP3/WAV file assistance with Arduino Uno

Hello,

What is the simplest most inexpensive way to get an Arduino uno to play a 10-15 second wav/mp3 file?

Is this any good? or can someone recommend something better?

Thanks.

Yes. An add-on board/shield is the best way to do it. With one of these boards your Arduino just operates as a controller and the add-on board takes care of the details - It's got on-board memory for the file, it takes care of reading & decoding the file at the right sample rate, and converting digital to analog.

MP3 is particularly "tricky" because it has to be decompressed/decoded, and the patented technology "requires" a royalty. And, I doubt the Arduino is powerful enough to do the decoding by itself.

I was already leaning towards the RS232-TTL.

Thanks.

Any recommendation on what speaker I should use?

I only need 1, need not be expensive or of excellent quality.

Any recommendation on what speaker I should use?

I only need 1, need not be expensive or of excellent quality.

You're going to need "powered" computer speakers, or you'll need to buy or build an amplifier.

They don't give you the specs or the part number for the chip used on that board, but those boards have line-level outputs and sometimes they can drive a 32-Ohm or higher headphone. But, they cannot directly drive an 8-Ohm speaker.

So basically, get the speakers, strip the wires and solder them to the RS323?

Cmjb13:
So basically, get the speakers, strip the wires and solder them to the RS323?

No don’t be silly. No one suggested this.

Then how would I connect computer speakers to it?

Read the specification for the card
http://mdfly.net/Download/Module/AU5121Sspec.pdf
You’re going to connect Arduino Tx & Gnd to MP3 Rx & Gnd.
You’re going to connect 17 (or 18) thru a 10uF cap to powered computer speaker Left (or Right) and Gnd.
(the cap is needed to isolate DC levels between amp in the speaker & the card, + goes to the card, - to the amp input)
You’re going to connect Arduino 5V to MP3 VDD. (Spec says 6-12V, I think 5V will work. May need a separate 7.5 or 9V supply tho. Been a while since I played with one.)
Then send it commands:
Serial.begin (4800); // goes in setup
Serial.write (0x01); // play 1st track stored to the SD card, thru 0xc7 if you have 199 songs
Files on the card will be named 001.mp3, 002.mp3, … 198.mp3, 199.mp3.
Start with a freshly formatted card, and put the files on the card in order.
Example: If you store 001, 003, 004, 002, 005 then Serial.write (0x02) will play back the 2nd file, which is 003 in the list.

First off, thank you for the information everyone has provided in this thread.

Do you know if there's a size limit for the SD card? Would 4GB SD card work? I've heard some sizes cause issues.

You're going to connect Arduino 5V to MP3 VDD. (Spec says 6-12V, I think 5V will work. May need a separate 7.5 or 9V supply tho. Been a while since I played with one.)

I already have an external power supply for the arduino. I suppose that was what you were referring to.

You're going to connect 17 (or 18) thru a 10uF cap to powered computer speaker Left (or Right) and Gnd. + goes to the card, - to the amp input

Pardon my ignorance here, but this is where I'm confused...How does 17 on the MP3 card "connect thru" a 10uF cap and to the speaker? I take it through a Breadboard?

This came up in another topic also, perhaps more caps are needed. I have a wiring harness made up, the caps will go in series between the arduino pins and the MP3 module pins:
"You need to add 3 capacitors in series in-between the sound board and the amplifier (left, right, and audio ground). The capacitors will block DC voltage & current while allowing the AC audio signal through.

Depending on the input impedance of the amplifier and the frequency range you need, you may be able to use 0.1uF capacitors. If you are not getting enough bass, use 1uF (or greater) electrolytic capacitors with the +end toward the audio board (where the voltage is coming from). It’s only a couple of volts, so don’t worry about the voltage rating on the capacitors.

It’s OK to connect the power grounds of all of the boards together. It’s that audio-output virtual ground that’s causing the trouble.

(I used the wrong terminology… It’s a “virtual ground”, not a “floating ground”.)"

I blew the last card I had connected as it did not have the caps. Not immediately, but the audio part failed after a few hours (overnight maybe?). The serial interface still worked, but the output was just a whine. I have a replacement (5 actually, had some project ideas) but haven’t gotten back to playing with them yet.

SD card size: 200 files at 8 MB/file (typical song sampled at 256K dual stereo) = 1.6GB. I have used 4 GB cards elsewhere (smallest you can get these days it seems) with SDfat commands. I think my setup either had on older 2GB card, or a 4GB or 8GB as that’s what I had on had to test with. I bought a box of 50 Sandisk 4 GB cards, that’s my goto card now.

The mp3 card arrived today.

I have it hooked to the arduino as follows

MP3 PIN 15 (RXD) to Arduino TX MP3 PIN 19 (GND) to Arduino Analog GND MP3 PIN 20 (VDD) to Arduino 5v

I have a pair of "old school" computer speakers with external power supply. I have not stripped any wires. It's stated I need 3 caps to between the arduino pins and mp3 module pins. Do I use a breadboard to get this part working or can I use the jumper wires I currently have?

I'm so close, any help is appreciated.

Thanks.

There are 2 caps on C17 & C18 on the mp3 board. Is there any reason why I would need extra caps instead of using the ones that are already installed?