• 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.


Nathan Hall-Snyder - Final Project

Page history last edited by Nathan Hall-Snyder 10 years, 4 months ago


Strobe MP3, the purpose-built party mp3 player

direct uplink to fratmusic.com coming soon



No, not this strobe: http://www.youtube.com/watch?v=kP_HbvxveoE 

This strobe! http://www.youtube.com/watch?v=SfkdDLymhOU


Collection of links and project resources:

Nathan Hall-Snyder - Final Project Plan

Nathan Hall-Snyder - Final Project Paper Prototypes

Nathan Hall-Snyder - Final Project Verplank Diagram

Nathan Hall-Snyder - Final Project State Diagram

Nathan Hall-Snyder - Final Project Source Code

Nathan Hall-Snyder - Final Project Pictures and Movies




This device fulfills a need that chef Alton Brown would call a "one-tasker" - playing music at parties. The concept is simple:


1. For a spontaneous party, simply turn off the lights, turn up the volume, and hit the large red (irresistible) red button on the center of the device.

2. The device turns on its own strobe light and plays dance music. The party continues till dawn.

3. Profit


Device Functionality/requirements:

I will design and build an mp3 player with three major subsystems:


1. mp3 Player - the user should be able to select a song, change volume, play, pause, etc

(1.2) Wall mount - in order to allow the strobe light to function, the device should have an easy way to attach it to the wall

2. Strobe light - the device should be able to strobe white light fast enough for a dance party

3. Giant Red Button - taking advantage of humans' oddly inexplicable attraction to large red buttons, this interface device simplifies playing and pausing music


Design Challenges:

See Project Plan for more challenges -  Nathan Hall-Snyder - Final Project Plan


Unsolved (and solved!) Technological Challenges:

  • Interface/Graphic LCD

    • Reading SD card contents

      • Solved with an array of strings as the character list.

      • Unfortunately, this limited the number of songs the device can deal with due to limitations on program memory. 

    • Scrolling

      • Implementing reasonable scrolling on a 2 line display took several iterations of interface design, but I eventually arrived at something that worked.

      • Description:
        • Say you're scrolling down, the screen displays:
        • > Song1
        •    Song2
        • And next
        •    Song1
        • > Song2
        • and next
        •    Song2
        • > Song3 and so on


    • Choosing/playing songs

      • Implemented with a global variable for the current song playing. Turned out to be simple.


  • Display/Visualizer

    • Analyzing Analog Audio data to generate info for visualizer

    • Developing SPI database for LED controller

    • Doing all this fast enough to keep up with music

    • What I learned:
      • Sample parts take too long to arrive.
      • Simple is better
  • Beat Detection: Is actually really difficult.
    • I tried for two days trying to get beat detection on the arduino to work.
    • I tried hardware filtering with software filtering, and couldn't get anything reliable.
    • The closest I got was using a lowpass filter in conjunction with a high-pass filter with a comparator...e.g. when the power of one was higher than the other, it pulled high. This worked about half of the time, but wasn't reliable enough to run a strobe.
    • The sampling frequency of the arduino is 500 hz, not enough to analyze audio.
    • It turns out that I would have needed a dsp chip, or two arduinos, to do peak detection and play mp3s. Arduinos don't have enough memory or speed to do what's required.              
    • Therefore, I implemented a simple strobe with adjustable frequency


  • Power Supply (5v regulator with filter caps, 12v supply)

    • Presented one of the more difficult challenges. I experimented with different linear regulators, trying to get the Arduino to boot properly.
    • I ended up using regulated 5v, from a regulator with filter capacitors, which I soldered directly to the screen (which needed 5v) and to the USB input to the ardunio (allowing it to regulate down to 3.3v, for the logic circuits)


  • Mechanical design
    • It was challenging to fit all the breakout boards and a large button into a small enclosure. The large button essentially punched a 1.5in hole through the center of the project
    • I had to consider where the button was going the entire time, as the button showed up only several days before the project was due.
    • Attaching the LEDs was a small challenge...I ended up lasercutting properly sized holes in the acrylic, and then using superglue. Even then, this wasn't a perfect solution, as some of them came off with the bending of the acrylic
    • Adding wall-hanging cutouts to the backplate was a great idea...it's really easy to hang up in a room.



The steps in the order that I took them

1. Verify basic mp3 player functionality on breadboard

     Difficulties: switched MOSI and MISO pins caused a headache

2. Begin soldering items to perfboard

     Difficulties: fitting parts not designed for perfboard on perfboards, making intelligent layout decisions

3. Order button and acrylic

4. Design enclosure on Solidworks

     Difficulties: switch from .125" acrylic to .0625" acyrlic at the last moment

5. Lasercut enclosure

     Difficulties: laser height set wrong, didn't get very clean cuts

6. Finish soldering components

     Difficulties: Shorts and solder whiskers

7. Begin adding functionality/coding

     Difficulties: Getting the mp3 player to play specific songs instead of running through the directory.

8. Attach/wire LEDs

     Difficulties: Lots of soldering, getting the LEDs to stick down

9. Finish functionality/coding

     Difficulties: Getting the encoders to work. They really really need hardware debouncing, for those of you thinking about using the encoders.

9.5 Load music

10. Build power supply

     Difficulties: unclean 5v lines cause the arduino and other accessories to crash. Filter caps used to smooth power. Also, SERIAL CALLS MUST BE REMOVED WHEN NOT USING USB POWER!!!!

11. Final assembly

     Difficulties: getting all the LED wires to fit nicely.

11. Present!




Q: Does it accomplish the need it sought to fulfill?

A: Judging by the successful small dance party I had in my room last night, I would say yes. The strobe action is a big hit, the mp3 playing action is intuitive and impulsive (hit to play), making parties on short notice a reality.


Q: Just how irresistible is the large red button

A: I challenge you to not push it. Everyone I've shown it to just wants to hit the button. I feel like I've successfully capitalized on a small quirk of the human psyche.


Q: What sorts of things didn't quite live up to your expectation?

A: There are several items that didn't work out quite right. First, I really wanted to have more control over the LEDs. However, by the time that I realized that my serially-interfaced display driver wasn't going to show up on time, I had already used all the pins on the Arduino, making if very difficult to multiplex additional output. Also, I ordered a 20x4 blue-on-white LCD display, but it was large than I expect and didn't fit in my enclosure. I would have liked to used it because it's a great color and would have been easy to read, but alas. Furthermore, I made a couple mistakes on the laser-cutting side, making the tabs the wrong size, necessitating hot glue in the assembly of the finished device.


Q: What's your favorite feature?:

A. My favorite feature is that the button sticks through all the way, meaning that if someone forcefully slams the button, the force simply goes through the player and into the wall. This way, even clumsy, mildly inebriated partygoers can play or pause music without endangering the device.


Q: Will you actually be using it in the future?

A: My intention with this device was to build something that I might actually use. If I had tried to copy an ipod, i know that my final product would have been inferior. Therefore, I chose not to compete and instead go for something completely out of left field. This player will have a home on my wall for years to come.




Comments (0)

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