It is based on the PIC 16LF877 with plenty of processor time to spare. There is a bare bones assembly version, and a new C version with more features and stability. It uses compact flash cards up to over 100 gigabytes including microdrives. It uses the vs1001k decoder chip.
The first thing to do is to format the CF card FAT32 and load the root directory with songs. Use a standard reader/writer like the Zio. It plugs into a USB port. Drag and drop the files onto the card in windows. The order that you put them onto the card is the order that they play. All files must be on the root directory, I haven’t added directory support.
First, the pic resets the CF card and the decoder chip. Then it sends the required spi commands to the decoder to set it up (volume, soft reset, data bit order and clock edge polarity). The pic sends a “read sector” command to the compact flash card to get some information from the boot block. It then figures where the FAT and the root directory are, and reads each file in the root directory one by one.
Once it has located a file, it clocks the card 512 times per sector sending all the information one byte at a time to the decoder chip. The decoder chip simply needs a valid data stream to be clocked in, and sound comes out of the built in DAC/headphone amp. The decoder has a data request line, so it asks for bytes when it needs them. All communication is sychronous, using the PIC’s built in USART for data and SPI for commands/setup.
Visit Here for more.