Creative Commons images are CC BY 2.0

Description: The SparkFun MP3 Player Shield is an awesome MP3 decoder with the capabilities of storing music files onto a run-of-the-mill microSD card, thus giving you the ability toadd music or sound effects to any project. With this board you can pull MP3 files from an microSD card and play them using only one shield, effectively turning any Arduino into a fully functional stand-alone MP3 player! The MP3 Shield utilizes the VS1053B MP3 audio decoder IC 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.

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 Arduino R3 Stackable Header Kit.


  • 3.5mm audio out jack
  • 0.1" spaced header for speaker out
  • microSD card slot


Recommended Products

Customer Comments

  • Hello Sparkfun friends!

    I bought this shield, I need to amplify the sound so I followed the steps outlined in the hookup guide and tried to reconfigure the jumpers SJ3, SJ4 and SJ5 as is described on that document.

    When I tried to reconfigure the jumpers, SJ4 jumper contact went off the PCB. In addition when I suck the default blobs of SJ3 his track got up.

    You could give me a solution? Or I invested almost $ 40 to throw them away? I hope you can give me a solution. I use a soldering iron of 40W and I am always very careful when I work with my circuits, I swear to you it was not a misuse of the tools. Thanks.

    • Sorry to hear you’re having trouble!

      This may be repairable. Shoot an email over to tech support along with some photos of your board and we will see what we can do for you.

  • Sorry, new to embedded systems. Where do the General MIDI sounds come from? Are they onboard? If not, how does it find the waveforms? Can they just be on flash or do they have to be in RAM? And can I add my own waveforms? Thanks.

    • No worries. This IC fabricates the sounds directly. It’s not loading waveforms, it’s generating them mathematically. No RAM or flash needed. You just ask it to give you a C note from a Violin and it does its best to generate a Violin C. You can’t add your own instruments as far as I know.

  • Will the MP3 player be able to play multiple files at the same time? or perhaps a few seconds apart from one another depending on the input signal triggering the files to be played?

    Hope somebody could advice me on this!

    //Update: The music board that Sparkfun carries that can play multiple files at one time is the WAV Trigger:

  • Aaaarrrggghhh! I put this MP3 player on top of the DUE, and could not get it to work (2 weeks trying). I then bought an UNO, and it worked fine. The difference? The DUE defaults pin 4 as an input with a pull up. Pin 4 is wired to the GPIO1 on the VS-1053B, which (I think) was putting it in MIDI mode. From the datasheet: “If GPIO0 is low and GPIO1 is high, Real-Time MIDI mode is entered.”

    Setting pin 4 as an output, and driving low made it work!

    Hope this helps someone.

    • How did you get it to work? I had to go and comment out some lines in the SFEMP3 library (calls to cli() and sei(), disable and enable interrupts) before it would compile for a DUE, and now I get an error message running the test sketch saying that it can’t access the SD card.

      • I believe the SPI pins on a Due and Mega are different vs an Uno. You will need to connect the ISP connector on the Mega/Due to the 2x3 pin header on the shield.

Customer Reviews

4.4 out of 5

Based on 8 ratings:

Currently viewing all customer reviews.

1 of 1 found this helpful:

Awesome shield... when you figure out it's quirks!

Spent 10 minutes setting up the shield on a redboard. Ran through the “FilePlayer” sketch. Worked like a charm. Ran through the “MP3 Trigger” sketch. Worked like a charm. Made a few mods to the MP3 trigger sketch to fit my needs. Worked like a charm. Only when I unplugged from the USB of my computer and tried to using the 9V/650mA wall wart did I start having problems. After a couple of days of pulling my hair out trying to figure out why everything worked seamlessly when plugged into the computer USB, but would only work maybe 1 out of 10 times when plugged straight into the wall, it dawned on me. After staring at the sketch, I thought that maybe the Mp3 file player and the MicroSD card reader did not have enough time to initialize, and therefore, caused an error. After playing around with a few delays throughout the setup procedure, I finally got it. By putting a 4 second delay at the beginning of setup, another 4 second delay after the sd card reader initialization, and a final 4 second delay after the mp3 initialization before the loop begins, it worked perfectly! After playing with the delay timing for a while, I found that a 2 second delay would work 1 out of 5 times. A 3 second delay worked about 3 or 4 out of 5 times. While a 4 second delay did the trick. Now, it does exactly what I needed it to do. I was unable to find much reference anywhere to anyone having an issue such as this? I was also unable to find many references of people powering this shield with a wall wort as opposed to USB from a computer? Hope this helps someone!

1 of 1 found this helpful:

easy, cheap, a little inconsistent, and a little noisy

Having purchased and built with 9 of these shields (7 from SparkFun, 2 from Mouser), I can confirm that they’re very easy to use and inexpensive for what they do. I had similar initialization problems as Member 873628 with my first shield (worked with USB, failed 50% of the time under external power) but I suspect that it was just a problem with that particular shield because none of the other 8 required any special delays in order for them to initialize properly. That first shield has since stopped working altogether, so maybe it was defective, I dunno. I’d also like to add that the audio is fairly noisy–sounds like digital noise bleeding into the analog output–so you will want to keep the fidelity of your playback system fairly low. I got one shield that sounded like it had excessive data req noise in the output, which was the first time I became aware that there was any unusual noise at all. It sounded like a 16mm film projector from the ‘70s. Switching to my good amp & speakers, I finally heard that all of the circuits had some degree of digital noise, although it was not noticeable on computer speakers for the most part. Some of the noise can be addressed by adding extra Vcc bypass caps. Bottom line: if it’s gotta work, budget one or two extras to be safe.

One other note: the latest Arduino sdfat lib is not compatible with the mp3 player library example code, so you might want to hold on to the version of the sdfat library that comes with the mp3 player library.

1 of 2 found this helpful:

Please return the holes!

I got 2 piecess of this card. It works fine, but I was surprised at the lack of Ardiino staddard fixing holes. They were in the previous version that I received about a year ago.

Nice product!

This is a very nice shield for Arduino, it worked smoothly and I was able to connect play audio files with some push buttons.

Pros: Can play a specific audio track by calling its name, cheap price.

Cons: Separate pin headers, have to solder them, have to install 4 libraries, limited to only 9 audio tracks to be played. Audio tracks have to be of DOS 8.3 format, requires an SD card, and audio files must be stored on the root folder.

I created a full step by step tutorial on how to use and compared it to 1Sheeld’s music player shield.

Here is the link:

works well

I had some initial trouble that turned out to be operator induced. Once I corrected my error, it worked fine.

0 of 1 found this helpful:

Super simple

All examples worked exactly the way they should, and I was able to attach it to an amp circuit very easily.

Works as expected

Very happy with the shield - it does exactly what I needed. Would be nice to have a few more available pins for the Uno, but works well with the Mega for projects with greater pin requirements.

Support Tips

If you get a humming sound while connecting to an external amplifier

A good, cheap ground loop isolator for protecting the older MP3 Shield from ground loops when connecting to an external amplifier can be found at this link This should solve your humming and buzzing problems.