My initial prototype was based on a fairly common PIC available in DIP format, the PIC24FJ64GA102 which has 64kb of flash and 8kb of RAM. As I started to build up the firmware I quickly found myself running out of space in the program flash memory for storing the audio samples so I moved up to another PIC24, the PIC24HJ128GP502. This PIC has twice the flash (128kb) which should be plenty for storing some decent quality audio samples. It’s one of Microchip’s high-performance line and runs slightly faster at 40Mhz over the 32Mhz of the PIC24FJ64GA102. This is useful as it allows for a higher frequency PWM period which is therefore easier to filter out with a simple RC filter.
Check out the video after the break.