There are three 'totally fixed' pins, the hardware SPI pins:
- SPI SCK - connected to Digital #13 (but can be connected to the ISP header with a jumper) - used by both the SD card and VS1053
- SPI MISO - connected to Digital #12 (but can be connected to the ISP header with a jumper) - used by both the SD card and VS1053
- SPI MOSI - connected to Digital #11 (but can be connected to the ISP header with a jumper) - used by both the SD card and VS1053
- MCS - this is the VS1053 chip select pin, connected to Digital #7
- DCS - this is the VS1053 data select pin, connected to Digital #6
- CCS - this is the SD Card chip select pin, connected to Digital #4
- DREQ - this is the VS1053 data request interrupt pin - connected to digital #3
RST - this is the VS1053 reset pin, we connected it to the Arduino reset pin so you don't need to use this unless you really want to.
- SPK Off - this disables the amplifier - if you have the amplifier version and want to 'mute' instantly
- TX - this is serial data transmit from the VS1053 - its not used for any of our demos
- RS - this is serial data into the VS1053 - its used for MIDI synth playing
CD - this is the card detect pin, it is tied to ground when a card is inserted. Use a pullup on a digital pin to detect when a SD card is inserted. We dont use it.
The VS1053 codec chip has 7 'General Purpose Input/Output' pins that you can use to detect button presses and/or light up a small LED. GPIO1 is also used to put it into MIDI mode. By default all these pins are pulled low to ground with 100K resistors. They are 3V logic level so if you want to attach a button, you can connect the two wires between the GPIO pin on the left and the 3V breakout on the right. If you don't want to use these pins just leave them be, they are not required for use!
You can also plug in headphones, although it is not a very strong headphone driver, so may not sound loud if its lower than 32Ω impedance
For the amplifier, we're using the TS2012 class D chipset, the same used in this amplifier board
If you have both speakers attached and you're playing loud audio, you may need to power the Arduino from DC power jack instead of USB since USB can only provide 5W (5V @ 1A) max and two 3W speakers = 6W!