replacing serial port instruction with actual sketch

hi, I have an adafruit sound board. I can tell it what to do through my arduino through the serial port. is it possible to write a sketch/program so I don't have to sit in front of my computer to have it play tracks in a specific order. I have looked everywhere but can not find a definitive answer. or would a SD card reader be a better choice?


is it possible to write a sketch/program so I don’t have to sit in front of my computer to have it play tracks in a specific order.

Yes. Triggering Audio | Adafruit Audio FX Sound Board | Adafruit Learning System

ok, making progress slowly. this will play 1 track that loops.

how do i make it play 1 track, delay 25 sec, play another track, delay 25 sec and have those 2 go around in a loop?


Menu driven control of a sound board over UART.
Commands for playing by # or by name (full 11-char name)
Hard reset and List files (when not playing audio)
Vol + and - (only when not playing audio)
Pause, unpause, quit playing (when playing audio)
Current play time, and bytes remaining & total bytes (when playing audio)

Connect UG to ground to have the sound board boot into UART mode

uint8_t TRACK_15 = 15;

int PIN_ACT = 12;
int act_val = 0;

#include <SoftwareSerial.h>
#include “Adafruit_Soundboard.h”

// Choose any two pins that can be used with SoftwareSerial to RX & TX
#define SFX_TX 7
#define SFX_RX 8

// Connect to the RST pin on the Sound Board
#define SFX_RST 4

// You can also monitor the ACT pin for when audio is playing!

// we’ll be using software serial
SoftwareSerial ss = SoftwareSerial(SFX_TX, SFX_RX);

// pass the software serial to Adafruit_soundboard, the second
// argument is the debug port (not used really) and the third
// arg is the reset pin
Adafruit_Soundboard sfx = Adafruit_Soundboard(&ss, NULL, SFX_RST);
// can also try hardware serial with
// Adafruit_Soundboard sfx = Adafruit_Soundboard(&Serial1, NULL, SFX_RST);

void setup() {


Serial.println(“Adafruit Sound Board!”);

// softwareserial at 9600 baud
// can also do Serial1.begin(9600)

if (!sfx.reset()) {
Serial.println(“Not found”);
while (1);
Serial.println(“SFX board found”);

void loop() {
act_val = digitalRead(PIN_ACT);
if ( act_val == HIGH ) {

the wav files are 5 seconds long if it matters.