Yes, I know this has been done before, but I wanted to build my own, using as few parts as possible. I built this as a table top or wall mount model, but it can be scaled up to make a coffee table. I built it as a study for a more ambitious project, which will be an 8x8 RGB coffee table. In designing this project, I wanted to keep the part count and cost as low as possible, and also to design the software for speed and minimal memory usage.
The code I used in the Arduino sketch demonstrates direct port manipulation, which is a fast and powerful alternative to digitalWrite().Update 3/10/2011 :
Finished adding the Music Synchronization section of this Instructable.
Update 3/20/2011: I decided to build Lampduino
instead of the coffee table.Note that the flickering in the video below was caused by my video camera. When viewed with the naked eye, no scanning is perceived, and the lights do not flicker
Music Sync Mode:
Arvid "Try (fenomenon remix)"
Free-running mode (without music synchronization):