The goal was to build a cheap circuit that would play a small audio file in an infinite loop. I could have used one of those postcard circuits they sell on Ebay and make my life thousand times easier but what would be the fun in that?
The project required designing and building several elements that deserve separate descriptions:
- An 8 bit parallel DAC.
- A headphone amplifier salvaged from a CD drive.
- An adapter board to interface a 3.3V SPI flash memory salvaged from the controller board of a CD drive to an Atmel microcontroller from an Arduino board.
On the software side, I also needed to write the following code:
- An Arduino sketch to read the SPI flash and play the audio through the 8 bit DAC in an infinite loop.
- A small program to turn an audio file into the binary that goes in the SPI flash memory.
Current state: as of now, all parts are working but I still need to adapt a few things to make the software run in an Arduino Pro Mini rather than an Arduino Duemilanova and fit everything in its final enclosure. I started making this more than one year ago so I thought it was the time to write down what I did so I don't forget.
Design and build details are described below: