MP3 Shield

Replacement:DEV-10628. The new version of this board incorporates an SD card reader. This page is for reference only.

The MP3 Shield wires your Arduino up to a VS1053B MP3 audio decoder IC, providing it with the ability to decode audio files. The VS1053 is also capable of decoding Ogg Vorbis/MP3/AAC/WMA/MIDI audio and encoding IMA ADPCM and user-loadable Ogg Vorbis.

The VS1053 receives its input bitstream through a serial input bus (SPI). After the stream has been decoded by the IC, the audio is sent out to both a 3.5mm stereo headphone jack, as well as a 2-pin 0.1" pitch header.

The shield's power is taken from the '5V' pin of your Arduino and regulated to both 3.3V and 1.8V to power the VS1053B.

This shield comes populated with all components as shown in the images and schematic; but it does not come with headers installed. We recommend the 6 and 8-pin stackable headers.

MP3 Shield Product Help and Resources

Little Soundie Audio Player Hookup Guide

April 26, 2018

Add sound effects to your project, prop or costume with Little Soundie Audio Player.

Papa Soundie Audio Player Hookup Guide

April 26, 2018

Add sound effects to your project, prop or costume with Papa Soundie Audio Player.


Looking for answers to technical questions?

We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.

  • GHH / about 14 years ago / 3

    Check out that first sentence, you're missing something.

  • frank26080115 / about 14 years ago / 2

    the VS1053's datasheet is posted instead of the VS1033D, thought you'd like to know and change that
    manton's comments are correct
    Rogue Robotics has the rMP3 shield which is pretty neat

    • We use the 1053 on the shield, so the posted datasheet is correct.

    • GHH / about 14 years ago / 1

      Ahhh, yeah manton's comment is correct... but the first line in the product info isn't! duh

      • GHH / about 14 years ago / 1

        ps if your "manton's comments are correct" wasn't directed at me then I apologize

  • manton / about 14 years ago / 2

    It might be worth noting that there is no logic level translation on this board, so connecting output pins on the Arduino directly to this shield is not a good idea, unless the Arduino itself is powered from 3.3V.
    The inputs are only rated for voltages up to a max of 3.6V based on the I/O supply used. At the very least a series resistor should be used to limit the current into the protection diodes.

    • manton / about 14 years ago / 1

      It would also appear that the minimum spec. for CVDD is 2.4V, and it looks like the regulator used for this supply is 1.8V.

  • Member #529049 / about 10 years ago / 1

    Good Morning.... I'm working in a project with a GSM shield and a MP3 shield, and I'm having some problems because the GSM has a reserved pin that is Modem Reset (pin 7) and the MP3 Shield use this pin for MP3 DCS, and that cause an error of conection with the GSM shield. My quetions is if I can define the pin MP3 DCS (pin 7) in an other pin in the pin's configurations? Thanks.

  • rizakara / about 12 years ago / 1

    if you use ( must change "attachInterrupt(3, refill, RISING);" in code

  • Thomas - The Protocol Room / about 13 years ago / 1

    The SPI interface on the MEGA is connected to other I/O pins than those on the MP3 shield. So, if you want to use it with that board, cut pins 11,12 and 13 on the header and wire them to the mega board directly:
    11 -> 51
    12 -> 50
    13 -> 52
    Took me half a day to figure that one out... but now it's working.

    • Member #41392 / about 13 years ago / 1

      Thanks for pointing that out. I'm trying to use this with the Mega2560 and have done what you've suggested (bending the header pins on the mp3 shield and wiring them to the corresponding ports on the mega directly). I still get card init errors, where the same shield (with unbent pins) on an Uno board works fine.
      I wondered if I was supposed to change any port definitions in the library or something, but it looks like that is taken care of already based on a define statement for the board type. The Arduino software is set to Arduino Mega 2560, but I'm not convinced it's defining the pins correctly.
      Did you have to do anything else to make this work?

  • FrenchFab / about 13 years ago / 1

    Does this board can play WAV file ?
    Are MIDI notes can be play with SPI or are they only send by Serial TX ? (The VS1053 datasheet is not very good !)

  • Member #209539 / about 13 years ago / 1

    I need help to connect MP3 Shield with SD Shield, any example?

  • Magopo / about 13 years ago * / 1

    maybe this can help to connect it with a SD card

  • mcuaust / about 14 years ago / 1

    The chip's makers, VLSI, have produced a book titled "First Steps with VS1053 - designing custom MP3 players and other digital audio applications".

  • Rui / about 14 years ago / 1

    more test code available for this shield on the VLSI forum:
    or the pde file from my website:

  • Rui / about 14 years ago / 1

    sine test code for this board here to get you started (note the comment at the bottom of this page about D0 and D1 pins):

  • NeilH / about 14 years ago / 1

    Where can i find information on how to interact with this shield (library information, example pde, etc)?
    Also, does anyone know is this shield plays nicely with the microSD shield? I would like to use both together to play data from the SD Card.

  • skystorm / about 14 years ago / 1

    VS1053D can work as ADPCM encoder, why this functionality not supported? Pins MicP and MicN connected to GND.

  • pstemari / about 14 years ago / 1

    What pins does this use? The schematic doesn't say. Looking at the pictures I see 0, 1, 3, 4, 11, & 12 on the front, and 2, 5, 9, & 13 on the back, leaving 6, 7, 8, and 10 open. Is that right?

    • MikeGrusin / about 14 years ago / 1

      Check out the schematic, especially the second page. ;)

Customer Reviews

No reviews yet.