After a couple of false starts I finally finished the sound board for the phonics reader... The circuit is pretty much the same as the one I breadboarded, but with the addition of a 5V regulator and supply smoothing caps, so it should not be fussy about supply. The board basically combines an Arduino (Atmega328 on board) with Adafruit's waveshield circuit, so its a standalone SD card reader/sound player designed to be receive commands thru the serial interface to play files from the SD card.
The idea is that it will take the audio playback load off the main processor for our phonics project. During my experimentation I was finding that the Waveshield was a resource hog during wave playback, so I think it will be useful to offload that to a second processor on the sound board, so the main processor can poll sensors and the like.
I decided to do this with SMDs to keep size down (also the SD card sockets are surface mount). Or maybe I am just a sucker for self punishment...after straining my eyes soldering caps the size of grains of sand, burning my nose a few times on a soldering iron and having to start the whole thing again after accidentally ripping up a load of traces when I tried to straighten the SD card socket, I did start to wonder if through-hole would be a better way to go.. But I gotta say there is something very satisfying about finishing something on SMD scale and having it finally work :o)
On the board there is an ICSP header which I needed to burn the Arduino booloader on the Atmega328. Once bootloader was burned, I used an FTDI USB to TTL serial cable to upload code via the 6 pin header next to the MCU. This header has serial, power, ground and reset connections and can be used to control the sound board.
There is a jumper to decide source of power (5V regulated supply via header, or other DC supply coming through on board 5V regulator). Also a power LED, a playback LED and a status LED which flashes a code if there is a startup problem.
The rest of the stuff is as the Waveshield (but without the phone socket or volume control... speaker output is via header next to the SD card socket).