I present this new Arduino project: A full MP3 player based on Arduino.
As you can see in the photo, the idea was to build a standalone player, in the style of antique radios or 'tapes', in the age of Iphones ....
The player uses a small module based on the VS1002d chip (now discontinued, but who had a drawer). The module in question I bought at  Futurlec . Currently you can get similar modules on ebay for a bit more than 10$, although the chip is the VS1003 o VS1053. You can also use a SparkFun MP3 shield, but significantly more expensive (this shield already includes an SD slot).
The three chips are quite compatible in terms of programming, and indeed almost all initialization the I have taken from the library to the SparkFun MP3 Shield ;-)


Elements of Arduino mp3 player :
  1. Arduino
  2. Mp3 module based on chip VS 1XXX
  3. SD Module (It is also available on ebay)
  4. 4x20 characters  LCD
  5. Small amplifier
  6. 2 speakers.
Both the SD as the MP3 module are connected to the Arduino using the SPI bus. The LCD is connected in 4 bits mode to save Arduino pins.
This is a table with the connections between  Arduino and the other components. In parentheses, the name of the individual connections on modules (and the pin in the SD card). 

PIN Arduino MP3 ModuleSD CardLCDButtons
0------Forward
1------Back
2DREQ------
3----RS--
4---- ENABLE  --
5(RESET)------
6CS (XCS)------
7DCS (BSYNC)   ------
8------Encoder A
9--CS (CD/DAT3-1)   ----
10------Encoder B
11MOSI (SI)MOSI (CMD-2)----
12MISO (SO)MISO (DATO-7)----
13CLK (SCLK)CLK (5)----
A0----D4--
A1----D5--
A2----D6--
A3----D7--
A4--------
A5--------

Both the MP3 module and SD card work with 3.3 V, making it necessary adjust the levels to make them compatible with the Arduino 5V. The simplest option is to use voltage dividers with a pair of resistors. For the signals to the micro is not necessary, the 3.3 V are interpreted as high level without problem.

The schema is as follows (clik to enlarge):
Arduino MP3 Player Schema
According to the modules that you use for MP3 and SD, you will have to set the pins of the connectors (the order shown in the diagram does not correspond to any particular module).
If you use the SparkFun MP3 shield, Read  the documentation to set the pins for both CS and for SD MP3 and modify it as necessary in the source code.


Arduino MP3 Player VS1002 VS1003 VS1053


In the next post the code ...


If you liked it, remember to share it on your favorite social network. Thanks

13 comments

August 17, 2013 at 11:49 AM

Dear Sir

We are extremely interested in your project. Could you please email me at m.louise.dreyer@gmail.com.

We would like to get in contact with you.

Thank you kindly
Marie-Louise

October 22, 2013 at 10:01 PM

Dear Sir,
Good night

I are extremely interested in your project. Could you please email me
it's urgent. renatoalves1900@hotmail.com
please contact

January 28, 2014 at 5:49 PM

I have a question...
If playing an MP3 song...then I turn it OFF...when tunr it ON again.it will start playing from beginning or it will continue from last played song ?

Thank you

February 12, 2014 at 12:45 PM

Hi!,

It looks awesome!
What kind of encoder did you use?

Kind Regards
Jory

February 16, 2014 at 11:00 AM

@Jory Zoetendaal
An cheap 'rotary encoder switch' found at ebay ...

February 21, 2014 at 8:49 PM

@JAJTNo, the state is not saved. But you can save in the EEPROM of Arduino.
http://arduino.cc/en/Tutorial/EEPROMWrite

March 11, 2014 at 8:53 PM

if I use the shield mp3 still need Mp3 Mini board?

Anonymous
July 8, 2014 at 6:08 PM

Interesting project. I built the circuit very carefully. 328P chip used in stand alone mode (with the appropriate matching pin) but the circuit does not work. The display lights up and shows strange characters react buttons and encoders. Sometimes the error message appears reading SD card is not present. (only this message displayed with exact characters) sometimes volume bar appears but does not respond. There are no updates to this project? I used an MP3 module LC technology (chip 1053B) and SD reader LC study. I have read that some adjustments are based on wings modules but it is not explained how and what to change. It 'a shame it does not work. BY Eu.

July 10, 2014 at 8:19 AM

@Anonymous
I also had problems at first, mostly due to the wiring.
Must be taken that the wires are not too long, apparently high data rates create interference.
In a first attempt, I used ribbon cable and had similar problems. Use twisted wires and it worked.
https://www.facebook.com/ArduinoGuay/photos_stream
Check the connections, especially pin CS (MP3 and SD share the SPI bus).
Try to run the single SD card, without the rest to check that everything works fine.

Anonymous
July 10, 2014 at 8:12 PM

Thank you for your kind reply I sent message on FB is the best player who is on the network apart toys with a few buttons and without a display, I hope to solve. By

November 27, 2014 at 2:41 PM

how to create raiz
+-artistas.txt
+-[ARTIST01]
| +-album.txt
| +-[ALBUM01]
| | +-track.txt
| | +-track001.mp3
| | +-track002.mp3
| | .....
| | +-track0nn.mp3
| +-[ALBUM02]
| .......
| +-[ALBUMnn]
+-[ARTIST02]
.....
+-[ARTISTnn]
Can you help me

November 27, 2014 at 2:51 PM

@Dtvt Dh
'raiz' is root ...
No need to create, is the root directory

Post a Comment

Topics

Search in this blog

Loading...

Popular Posts

Versión española

Versión española
Arduino es Guay!!

Follow in Facebook

Powered by Blogger.