Adding quality audio to an electronic project is surprisingly difficult. Here is a shield for Arduinos that solves this problem. It can play up to 22KHz, 12bit uncompressed audio files of any length. It's low cost, available as an easy-to-make kit. It has an onboard DAC, filter and op-amp for high quality output. Audio files are read off of an SD/MMC card, which are available at nearly any store. Volume can be controlled with the onboard thumbwheel potentiometer.
The Wave Shield is tested and fully compatible with the following boards:
- Arduino Uno (all revisions)
- Arduino Duemilanove and Diecimila (ATmega328 chip recommended)
- Adafruit Menta (removed from tin for component clearances)
Arduino Mega 1280, 2560, ADK
The shield uses the following pins:
- Digital pins 10-13 (Card Select, MOSI, MISO, SCK, respectively)
- Digital pins 2-5 (Chip select, clock, data, latch) — these pins may be changed by soldering wire jumpers to different pin locations than those shown in the build tutorial. Edit the file WavePinDefs.h to match.
Arduino NG or older: this might work, but would be a tight squeeze; the SD library is especially RAM-hungry.