At the Maker Faire this weekend, I picked up a Waveshield kit for the Arduino. It’s a cute little board with an SD card interface, an I2C DAC, and a little op amp circuit to provide an audio interface. It took me about an hour and a half to solder together (I’m slow, but careful) but it doesn’t appear to work. I’m suspecting a software, rather than a hardware issue. I downloaded the “playall” example, which simply plays all the audio files on your SD card, but it appears that it runs the setup() code properly, but resets the CPU somehow before ever running loop(). Lady Ada’s documentation suggests that I could be running out of RAM (my Arduino is one of the older NG ones, and has only 1K of ram, but still….) Probing with an oscilloscope reveals relatively few active signals on the top of the board when the program is running, which suggests that it’s not even trying to clock the audio data out. I was thinking of writing a simple program that just exercises the DAC first, to make sure that the board works (generating a square or triangle wav is pretty easier) since I think it’s the SD card that gobbles memory.
Anybody whose gotten one of these to work, I’d appreciate the help.
My idea is to use this to store prerecorded voice messages, and then use it to key a small FM transmitter and send voice telemetry for my balloon project.
While I’ve not used the Wave Shield, the strange behavior you describe is almost exactly what a friend of mine saw when he ran out of memory on his Arduino project. If your Arduino board has a socketed DIP-20 chip, you could replace it with an ATmega328-20PU.