The code for this project is based off the Pulse Sensor Amped's Arduino sketch.  Modifications have been made to include audio file playback, timer interrupts on the Feather M0, and serial output has been removed to keep things simple.

First, install the latest version of the Arduino IDE, if you haven't already:

Install Adafruit SAMD Boards

You'll need to install two SAMD board libraries - one from Adafruit & one from Arduino

Open the Arduino IDE and go to Tools->Board->Boards Manager... and use the search box to find SAMD. Select Adafruit SAMD Boards, click the Install button and wait for the process to complete.

Once the process is complete, select Arduino SAMD Boards (32-bits ARM Cortex M0+), click the Install button and wait for the process to complete.

Install Libraries

You'll need a couple of Arduino libraries to get things working.  The first one can be installed via the Arduino IDE's library manager. Go to the Sketch->Include Library->Manage Libraries...  Search for "VS1053" and install the Adafruit VS1053 Library.

Next, you'll need to install an older version of the Adafruit ZeroTimer library - specifically version 1.0.1.

Be sure to install version 1.0.1 of the ZeroTimer Library, not the latest version

In the Arduino Library Manager search for Adafruit ZeroTimer, select it from the results and choose Version 1.0.1 from the Select Version pulldown menu and click Install.

You'll also need the Adafruit_ASFCore library, which is available here:

Unzip the downloaded archive, and rename the resulting folder to "Adafruit_ASFcore" (just remove the "-master" string).  Once the folder is renamed, move it to your Arduino library folder (Documents/Arduino/libraries) and restart the Arduino IDE.

Download project code & upload to Feather

Grab the Pulse_Room project code from GitHub:

Unzip the downloaded archive and rename the resulting folder to Pulse_Room. Inside the folder, you'll find the Pulse_Room.ino file - open it in the Arduino IDE.

Connect your Feather M0 board via USB.  Go to Tools->Board and select Adafruit Feather M0 (Native USB Port) from the list.  Then go to Tools->Port and select the port for your Feather M0. Click the Upload button and wait for the process to complete.

Sound File

Now that the Feather is programmed, we can put our sound file on an SD Card for playback.  You could use your own sound file, or the one I used named beat1.mp3, which is included in the Pulse_Room zip file downloaded in the previous step. More info on compatible file formats can be found in the MusicMaker FeatherWing guide.

Copy the file to the root level of your Micro SD card.  Note that your SD card should be formatted for FAT16 or FAT32 and have a capacity greater than 64MB.

This guide was first published on May 03, 2017. It was last updated on May 03, 2017. This page (Software) was last updated on Sep 14, 2019.