This instructable is to build a simple MP3 player using a Sparkfun MP3 shield that connects to the Arduino.
The Annikken Andee shield will be connected to an Android or iOS device can be used as a controller for the MP3 player.
The MP3 player will be able to play/pause, skip and stop playback of songs. You can also change the volume of the playback.
Step 1: What You Will Need
1 x Arduino Uno
1 x MicroSD card
1 x Speaker/Headphones
1 x Smart Device (Android/ iOS)
Using the Annikken Andee and the MP3 Player Arduino Shield will require the libraries below to be installed in the Arduino library directory.
Step 2: Changing the Jumper Pin
The MP3 shield uses Pin 8 to as the Reset signal line to its VS1053.
Coincidentally, the Annikken Andee uses Pin 8 (default pin) for chip selecting as well. This means that if we stick to Pin 8, there will be pin conflict and entire setup will be unstable/unusable.
Fortunately, Annikken Andee is able to use another pin for Chip Selection. Do this by changing the jumper on the Annikken Andee (Android 2015) (as shown in the box above) to S5 (pin 5) and some minor coding changes, both shields can now communicate with the Arduino.
What is Annikken Andee?
Annikken Andee is a bluetooth shield that allows easy communication between your smart device and Arduino. With the Annikken Andee you can easily create your own UI (User Interface) on your smartphone by coding in the Arduino IDE. The Annikken Andee library is well documented and has lots of examples for easy use.
for more info on Annikken Andee
Step 3: Attaching Shields
What is an Arduino Shield?
Arduino Shields are boards that are specifically designed to be plugged on top Arduino board to extend the Arduino capabilities. In this instructables, we are using 2 shields.
1) Sparkfun Mp3 Shield - For playing music
2) Annikken Andee - For Smartphone control
Plug the Annikken Andee onto the Arduino directly. Sparkfun Mp3 Shield will be mounted on top of Annikken Andee.
Step 4: Putting Songs in the SD Card
The songs can be placed in the root folder of the MicroSD card. The songs have to be labeled as Track001.mp3 , Track002.mp3 and so on.
Since this is a simple MP3 player, this will be the method for now. Remember to place the MicroSD card into the slot at the MP3 shield.
Step 5: Programming the Arduino
Once the hardware side is done, the Arduino will need to be programmed. Ensure that you have the libraries as mentioned in step 1.
The libraries have to be installed in
"...\Users\*your account name*\Documents\Arduino\libraries".
Once the libraries are installed, launch Arduino and Download The Andee MP3 Player Sketch Here
Compile and upload it to your Arduino.
Remember that in Step 2 I mentioned about "some minor coding changes" for using pin 5 as Annikken Andee Chip Select? Simply call
Andee.begin(); // Default to use Pin 8
at the Setup() function
Step 6: Getting Annikken Andee App
Step 7: Connect Annikken Andee to Arduino
Step 1) Go to Settings-> Bluetooth -> Scan for new devices -> Pair with "Andee MP3 Player"
Step 2) Launch Annikken Andee App, go to the bluetooth list, select Andee MP3 Player and Connect
Make sure your Arduino/Andee/MP3 shield are powered up!
Step 8: Enjoy Your Tunes
Once the Andee is connected to the Arduino, your device screen should have a display similar to the one above. Just press the appropriate buttons to play/pause, skip and stop the playback.
You can even change the volume of the MP3 playback. The volume level is displayed on the center orange box in decibels.
If you dont like the colours and size of the boxes in the UI, feel free to change it in the code. All you have to do is change a few parameters and you are done.
Learn more about Annikken Andee at
Where can I download the latest library and firmware?
Where can i download the Arduino sourcecode for this project?