1Inspect the schematics, locate the appropriate components
The KiCAD schematics are attached to the project page as well as saved in the GitHub repository.
As the project is based on reclaimed junk boards, I can’t provide board layout files. I have specified component part numbers for the important IC’s, but it’s unlikely you’ll scavenge the same parts. I’ve tried to structure my code in such a way that you can drop in your own low-level drivers without much trouble.
The important features of the microcontroller are:
- Two SPI buses, one for the SD card and one for the DAC, so that blocking read/write operations won’t interfere with the timing requirements of the audio sample output.
- A DMA engine (though interrupt-driven writes could work too).
- Enough RAM to run the lean FAT file system library linked in the GitHub repo, and to buffer an appropriate number of audio samples.
You’ll also need a SPI-driven DAC and a slot for the SD card, with the SPI lines broken out. The audio amplifier specs will depend on the speaker you use. A simple buffer op-amp will probably not be able to drive enough current, unless you are only driving headphones or a very small speaker. You will also need an amplifier power stage. My schematics illustrate a simple class AB amplifier you can make with 3 BJT transistors (plus a couple more as low-power constant-current sources).
2Put it all togetherI wish I could provide more detail here, but the entire spirit of this project is that you have junk you can use, and beyond my example schematics, you’re going to have to glue it all together. Hopefully my code and documentation is clear enough roadmap to get you started!