Keeping running or this music will play…


Keeping running or this music will play… via HaD.

Rebecca’s Outfit is a running accessory designed to motivate the runner to keep a fast pace by subjecting him/her to horrendous music. Rebecca’s Outfit will play a song on the annoyance level of Rebecca Black’s “Friday”; if the runner is running fast, the song will play faster than the normal playback rate, and if the runner is standing still, the song will play slower than the normal playback rate. If the runner wants the song to be over more quickly (and also sound more hilarious) he/she will surely be motivated to keep running at a fast pace.

An additional component is a pair of sunglasses with a row of LEDs on top. The LEDs will blink with increasing frequency as the runner’s speed increases.

This is accomplished by an Arduino with a Wave Shield to play music, and an accelerometer to calculate the speed of the runner.

Waveshield Med
Adafruit Wave Shield for Arduino Kit – v1.1

Adding quality audio to an electronic project is surprisingly difficult. Here is a shield for Arduinos that solves this problem. It can play up to 22KHz,
12bit uncompressed audio files of any length. It’s low cost, available as an easy-to-make kit. It has an onboard DAC, filter and op-amp for high quality output. Audio files are read off of an SD/MMC card, which are available at nearly any store. Volume can be controlled with the onboard thumbwheel potentiometer.

This shield is a kit, and comes with all parts you need to build it. Arduino, SD card, tools, speaker and headphones are not included. It is fairly easy to construct and anyone with a successful soldering project under their belt should be able to build it.

The shield comes with an Arduino library for easy use; simply drag uncompressed wave files onto the SD card and plug it in. Then use the library to play audio when buttons are pressed, or when a sensor goes off, or when serial data is received, etc. Audio is played asynchronously as an interrupt, so the Arduino can perform tasks while the audio is playing.

  • Can play any uncompressed 22KHz, 16bit, mono Wave (.wav) files of any size. While it isnt CD quality, it is certainly good enough to play music, have spoken word, or audio effects. Check out the demo video/audio at the webpage
  • Output is mono, into L and R channels, standard 3.5mm headphone jack and a connection for a speaker that is switched on when the headphones are unplugged
  • Files are read off of a FAT16-formatted SD/MMC card 
  • Included library and examples makes playing audio easy
  • Please note that the library is rather bulky, requiring 10K of flash and more than 1/2 K of RAM for buffering audio. It works fine using an ATmega168-based

Join 4,000+ makers on Adafruit’s Discord channels and be part of the community! http://adafru.it/discord

Learn “How Computers Work” with Bill Gates, Ladyada and more – From Code.org !

CircuitPython in 2018 – Python on Microcontrollers is here!

Have an amazing project to share? Join the SHOW-AND-TELL every Wednesday night at 7:30pm ET on Google+ Hangouts.

Join us every Wednesday night at 8pm ET for Ask an Engineer!

Follow Adafruit on Instagram for top secret new products, behinds the scenes and more https://www.instagram.com/adafruit/

Maker Business — The Public Radio’s inventory dashboard

Wearables — Glue for the occasion

Electronics — Ew! Sticky!

Biohacking — Using Insulin Load for Better Sleep and Recovery

Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at AdafruitDaily.com !


  1. Story sez: "This is accomplished by an Arduino with…an accelerometer to calculate the speed of the runner."

    Is there documentation somewhere on how to do this? I’ve been wanting to do it for another project. I kind of get the principle that if you accelerate from 0 to (n)g over time period t, that should result in a velocity of whatever, and I’ve already got an Adafruit datalogger shield and accelerometer board, but I struggle with how I’d make a sketch to do the actual speed calculation.

  2. jlw: I’m pretty sure it isn’t measuring the runners speed directly but rather it is tracking their cadence, i.e. the rate at which your feet are hitting the ground.

    Measuring speed would require integrating acceleration, which is going to accumulate error rather dramatically. If your acceleration is misread by 0.01 m/s^2, then every 100 seconds the system would think you’ve increased speed by 1 m/s. Jog like that for a half hour or so and your arduino is going to think it caught a shuttle launch by accident.

    Anyway, if you are trying to do it in some situation where you think you can control for that sort of error, your speed will be the sum of (accel sample * time between samples). Good luck not accumulating errors though.

Sorry, the comment form is closed at this time.