I found about the wave shield designed for Arduino by lady ada on her electronics tutorial website (http://www.ladyada.net/). I got interested to give it a try myself. I had almost every parts available at hand except for the 12bit DAC chip used (MCP4921) and the operational amplifier chip (TS922IN or TS922AIN) used in the waveshied circuit. So I ordered those parts from Mouser Electronics. After I received the parts I made the wave shield DAC module and SD card reader module separately on breakout boards. Here are how they look:
I had an Arduino assembled on a breakout board already. I bought the USB -> TTL Serial converter kit from Fundamental Logic earlier which I use to program the Arduino from Arduino IDE. So I put all of them together and this is how it looks:
I used the first example code provided on ladyada’s tutorial page and modified it a little bit just for fun. The original code used to read wave files (16bit Mono @ 22000hz only) one after another in a loop. I modified the code to add hardware switch to skip to next track (debounce enabled). Also you can go to next or previous tracks by sending serial commands “next” or “prev”. Serial command “stop” will stop playback and you will need to reset the Arduino to start playing again. I am a beginner in Arduino programming. So my code might not be well written or optimized, but it works as expected. You can take the code and modify it to turn it into a simple music juke box with stop, next, previous control. I had to put the whole thing on a tiny breadboard for easy portability, so had no space to put any more buttons to control it.
Here is the Arduino sketch file:
Please make sure to follow the instructions on ladyada’s tutorial pages and download the required libraries prior to running this sketch.
Here is a lousy video of the device working. Please excuse me for that. I used my cell phone to record it.
If you have any questions or comments, please feel free to post. Have fun programming with Arduino.