• If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

  • Stop wasting time looking for files and revisions. Connect your Gmail, DriveDropbox, and Slack accounts and in less than 2 minutes, Dokkio will automatically organize all your file attachments. Learn more and claim your free account.


Will's Mp3 Player

Page history last edited by William 7 years, 11 months ago

 Design point of view:

     My design is designed for a runner of any type who listens to music while running. I designed the mp3 player so that the player chooses a song based on the pace of the runner. This is to address the error when your mp3 player decides that a slow jam is appropriate to play during your running workout. 


Mind Map:




Verplank Diagram:


Paper Prototypes


State Diagram


Project Code:

     To make it clean, I uploaded the project code to its own folder my mp3 folder.

     Some highlights of my code include:

          - Gathers the pace over 10 secs

          - As data comes in, the player fills a psudeo-stack that averages the pace over 10 parts (thus the pace is only really valid over 100 secs - this is help alleviate issues from small slowdowns or quick stops)

          - The player picks a song based on that pace

          - The beats per min of songs are stored in the title of the songs (the first three digits represent the time)

          - When the player starts it creates an array of bpm that is linked to way the songs are read in.

          - The player tries to pick songs that are not within the last 10 songs played (so that if your pace stays the same, the same song doesn't keep playing over and over)

          - The volume is saved every time it changes in EEPROM so that when the mp3 player is started it remembers the last volume setting


Photos in progress:



     Part 1: http://youtu.be/9QXJWdIrmJc

     Part 2: http://youtu.be/3RF18nK8X8o


I'm not the best with the video thing, so hopefully, this shows the concept of my mp3 player. It works as advertised but I don't really have a great way of showing it through video. I guess you'd have to try it yourself ;-)


Things to improve in future iterations of this mp3 design:

     1) I designed the box so that the side doesn't have a slick way to stay closed. Right now it just slides off.

     2) Create a way to power off the device if the device notes that the user hasn't moved for 10 min

     3) Include a knob that allows the user to set an offset from his/her current pace that the player then uses to pick out a new song

     4) Create a loader program that changes the users input for bpm into song titles that get loaded into the mp3 player


Things I found to be most frustrating:

     1) Finding buttons that were able to fit easily into a box and that did not have a lot of depth

     2) Soldering. It takes a long amount of time and I would have benefited greatly from having made a PCB


The best part of the mp3:

     1) Getting it to work!!!!

     2) Seeing everyone else's work and their unique/new ideas

Comments (1)

Benjamin Tee said

at 12:46 pm on Aug 22, 2012

Hi William,

An awesome final project! Great job! We love your design point of view and the clear steps you took to build your mp3 player. We like the fact that you have included a lot of images and sketches describing your thought processes during the brainstorming stage. We also like the fact that you had included some pain points in your process to help others. We wished that you had more elaboration on your design point of view. Did having a song with a matched tempo helped you perform better physically? If so, we wished you had provided some user studies or interviews. We also wished that you included circuit diagrams of how you connected the pins and your accelerometer.

Keep making awesome stuff!

Yusi, Kai and Ben and David

You don't have permission to comment on this page.