RGB LED Spectrum Analyzer Coffee Table


This year, students working for Texas Instruments as part of their Co-op program were challenged to construct a project around the company’s MSP430 microcontroller. A team of three students, [Max Thrun, Mark Labbato, Ian Cathey] decided to build something that would fit perfectly in any college student’s dorm room – an RGB LED coffee table.

We’ve covered RGB LED tables in the past, but as far as we can tell this is the first MSP430 based unit we’ve seen. Microcontroller aside, the table features a lot of items that are considered “standard equipment” when it comes to these sorts of living room LED installations. The trio installed 128 RGB LEDs into their table, isolating each one using a wooden grid, and used some frosted glass to diffuse the display a bit.

What really makes this table stand out is the software. The team wrote an application that creates a Fast Fourier Transform of whatever music is being played, in order to find beats and generate real-time visualizations for their table. The result is a pleasing display that’s sure to be a hit at parties.

Check out the video below to see their creation in action.


32 thoughts on “RGB LED Spectrum Analyzer Coffee Table

    1. It looks like the FFT is running on the PC side, and the msp430 is running the LEDs

      “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. ” from the project page

      1. I suggest using a el cheapo DSP to perform the FFT, I the beat detection algorithm can be, for sure, slimmed into the MSP, no? This way he can use a microphone and make the table completely independent and portable :)

        But hats off for the craftsmanship! The end result is impressive and the beat effects really cool!

        PS to the editors:
        The team wrote an application that creates a Fast Fourier Transform of whatever music is being played
        The FFT is a transform, it is not created but rather performed or applied (to a signal) :)

      1. Whit the new youtube interface I can’t even see what account posted that video, thus I can’t view your channel or other video’s you posted.
        Why not use some music from jamendo or something :(

      2. How would I find your channel? When I click the “Watch on youtube”-link, I immediately get to some youtube-error message regarding my country’s music policy stuff and there’s no reference to your channel at all. Same for the embedded video.

  1. Totally going to make one of these with my roomies! I already have the electronics. I also plan to put RGB sets of 1W LEDs along the edge facing down.

    Does anyone have any thoughts on how this could be receptive of objects being set on the surface?

    1. There’s likely a more elegant solution, but you could put a series of tactile pushbuttons along the edges with a sheet of flexible plastic (mylar or saran wrap?) elevated across the top.

      Set something on the plastic and the tension causes the plastic to pull certain switches closed, giving you a position.

      Like I said. not the most elegant solution, but it could work.

    2. you can use a diffused illumination setup like some multi touch applications to achieve object recognition with a web cam and pc.

      Alternatively you can use 5mm infrared led’s with small straws or tubing over them to limit their light distribution while using ir phototransistors to as a switch that will go high when an object is placed over that particular partition thus reflecting the infrared light back down onto the transistor.

  2. I always liked these things but lacked the hardware. So I implemented it in software (Flash). It takes in microphone input, runs a FFT to get frequencies. Right now it just takes an average of the 10 highest points to pick a color, but I really like this square idea. Volume controls brightness (Hit space to remove smoothing aka Rave Mode, Enter to go back). Very beta right now, gonna clean it up and hook it up to a pico projector for dance parties. Anyone wants source just ask.


    1. Oh and mute your speakers or it will feedback. I can’t figure out how to work around this bug, tried to mute/unmute quickly and it stops the feedback loop but it still makes a horrible noise. You can also just mute the browser instance and play music in another program.

      1. Interested to try this – when I load your .swf, it just sits with a black screen after asking to use my cam and mic. Btw, can I just set my recording device to “Stereo Mix” to use this?

      2. Stereo Mix sounds like the internal sound card loopback right? Its called Rec. Playback on my computer and it works fine, just have to set the levels WAY low in the recording preferences. Just remember to mute the browser (Windows Vista and 7, XP can’t do this) in the Volume Mixer. If its sitting black there are two explanations. 1)It can’t find your microphone or is using the wrong microphone. 2) Its too quiet and its not hitting the minimum threshold ever. Two of my friends tried it (OSX and Win7) and it worked fine. I haven’t tested on Linux yet.

  3. Pretty sweet. Reminds me of MIT Dance Floor. Damn MIT doing cool shit. Anyways, this build would be better suited for a wall or something, feels like a waste for something you have to look down at and would possibly have books and shit on it. Good job guys

  4. This is something I would love to do. I would need to do all the FFT beat detection stuff on another micro though. I don’t want to waste a computer for a coffee table (or in my case, a flip cup table)

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.