



TEAM MEMBERS:



Max Thrun

Ian Cathey

Mark Labbato



PROJECT DESCRIPTION



This is not your Grandma's coffee table! Make your living room the center of the party. The lights will dance and flash to your music! You will be mesmerized for hours. (We were...)



PROJECT FEATURES:



Real Time Music Visualization

8x16 RGB LED Matrix Display

Over 16 Million Possible Colors Per Cell

40 FPS Refresh Rate

Beat Detection Software

Python Module For Easy Interfacing



Construction

We built an 8x16 array into frosted glass top coffee table. After spray painting the interior with metallic silver paint, we mounted the driver board to the underside of the table and routed the LEDs through holes in each cell.





More pictures can be found here





Driver Board

We set out to create a complete TI solution. TI's portfolio of LED display driver chips allowed us to create our 128 RGB LED matrix with minimal components.







Schematics, layout, and Eagle CAD file can be found here.





Software

Software was written to take the FFT of music and find beats. For each frequency bin the magnitude is saved and the standard deviation of it's history is computed. For each bin, if its current mangitude and standard deviation are greater than a certain threshold a beat is detected. Each beat that is detected is assigned a light as well as a random color and location on the table. If the beat assigned to a light no longer exists the light begins to decay. After the beat detection algorithm has finished the screen is updated and the table data is sent out the USB port to a FTDI USB-to-Serial Adaptor which talks to the MSP430 over UART.



The music input stream is provided by MPD's FIFO file output capability. The beat detection software is written in C and uses the OpenGL, fttw, and ftdi libraries.







A Python module called PyTable was also developed to allow easy communication to the table with Python.



Combining PyTable and 3D Perlin noise we were able to create organic flowing visualizations.













The code for the MSP430 was developed using MSPGCC and flashed with mspdebug in Linux.



Resources

http://github.com/bear24rw/rgb_table

https://picasaweb.google.com/bear24rw/RGBTable



















[Video]