Load some MP3 files
Copy 2 MP3 files to a micro SD card and name them track001.mp3 and track002.mp3 (this is just for the test, you can re-name them later). Then push the uSD card into the slot on the shield
Make sure you have a good quality SD card, some cheap SD cards won't work, causing confusion! Especially 'non-brand' knockoffs.
Simple Audio Player Sketch
Connect the Feather to your computer with a USB cable and plug your headphones into the headphone jack. Since it may be loud at first, don't put them full on your ears yet.
Select File->Examples->Adafruit_VS1053->feather_player to load the example code.
For all the current Feathers, the correct pins are layed out for you in the beginning. When you upload the correct pins will automagically be used!
// Feather M0 or 32u4 #if defined(__AVR__) || defined(ARDUINO_SAMD_FEATHER_M0) #define VS1053_CS 6 // VS1053 chip select pin (output) #define VS1053_DCS 10 // VS1053 Data/command select pin (output) #define CARDCS 5 // Card chip select pin // DREQ should be an Int pin *if possible* (not possible on 32u4) #define VS1053_DREQ 9 // VS1053 Data request, ideally an Interrupt pin // Feather ESP8266 #elif defined(ESP8266) #define VS1053_CS 16 // VS1053 chip select pin (output) #define VS1053_DCS 15 // VS1053 Data/command select pin (output) #define CARDCS 2 // Card chip select pin #define VS1053_DREQ 0 // VS1053 Data request, ideally an Interrupt pin // Feather ESP32 #elif defined(ESP32) #define VS1053_CS 32 // VS1053 chip select pin (output) #define VS1053_DCS 33 // VS1053 Data/command select pin (output) #define CARDCS 14 // Card chip select pin #define VS1053_DREQ 15 // VS1053 Data request, ideally an Interrupt pin // Feather Teensy3 #elif defined(TEENSYDUINO) #define VS1053_CS 3 // VS1053 chip select pin (output) #define VS1053_DCS 10 // VS1053 Data/command select pin (output) #define CARDCS 8 // Card chip select pin #define VS1053_DREQ 4 // VS1053 Data request, ideally an Interrupt pin // WICED feather #elif defined(ARDUINO_STM32_FEATHER) #define VS1053_CS PC7 // VS1053 chip select pin (output) #define VS1053_DCS PB4 // VS1053 Data/command select pin (output) #define CARDCS PC5 // Card chip select pin #define VS1053_DREQ PA15 // VS1053 Data request, ideally an Interrupt pin #elif defined(ARDUINO_FEATHER52) #define VS1053_CS 30 // VS1053 chip select pin (output) #define VS1053_DCS 11 // VS1053 Data/command select pin (output) #define CARDCS 27 // Card chip select pin #define VS1053_DREQ 31 // VS1053 Data request, ideally an Interrupt pin #endif
Upload & Test!
Upload the sketch to your Feather, make sure the SD card with the correct mp3 files is inserted. Open up the serial console once upload is complete
You should see the following:
And audio playing from the headphone jack.
If you get
Adafruit VS1053 Simple Test
Couldn't find VS1053, do you have the right pins defined?
Check that you've soldered all the pins of the FeatherWing and if you have soldered closed the MIDI jumper on the bottom, clear that jumper with some solder wick! (You cannot use MIDI mode and SPI control mode at once)
If you don't see TRACK001.MP3 in the file listing, make sure you copied over the files!
Also, if you're using Bluefruit 32u4/M0 or LoRa or RFM69 Feather, make sure to disable the radio with a pinMode(8, INPUT_PULLUP);
in setup()
Note that for all but the 32u4-based Feathers, playing occurs in 'the background' with an interrupt that handles reading data from the SD card and piping it to the MP3 chip!
Page last edited March 08, 2024
Text editor powered by tinymce.