“Wait.. What?! Are you serious?” “Yes, I am!” “Why do you want to do that?!” That’s actually a very interesting question – and it’s the usual response I do get if I explain what it’s about those weird pictures I post on Facebook about prototyping loudspeakers or drilling 2,560 holes into plywood boards. Also people don’t quite understand why I’ve spent hours and hours with constructing a 3D model of a coffee table. This is a first attempt trying to explain myself why I’m spending my free time for this project since more than 6 months now.
During 2009 / 2010 several projects got popular in the Internet where guys used various micro-controllers to drive (RGB) LEDs installed in some sort of coffee table. A lot of those guys seems to be inspired by Daft Punk since they did use the patterns shown by those tables during their live performances. A German example of such a project is 64 RGB-LED Couchtisch that did use TLC5940 ICs to drive 64 RGB LEDs from a micro-controller. Those TLC5940 are a quite easy way to drive multiple LEDs using a serial connection that can also be daisy chained. Also the Arduino platform does offer a library for this IC. Sadly the number of TLC5940 that can be dasiy chained is limited by the time the micro-controller needs to update all ICs via the serial interface. For a 64 RGB LED installation it’s a suitable solution since you ‘only’ need 12 TLC5940 ICs to drive those 64 RGB LEDs but I wouldn’t use this approach for bigger setups. That was one of the main reasons for me to not following up the idea to build such a table on my own those days.
Than in late 2010 I’ve stumbled upon a piece of electronics offered by www.seeedstudio.com: An Arduino based board able to drive 64 RGB LEDs with all the comfort of the Arduino platform and without the need of any external wiring? I for sure had to get my hands on this controller called Rainbowduino. After reading the basic documentation I was pretty confident that this piece of hardware is suitable for driving larger numbers of LED arrays since the Arduino platform allows you to easily interconnect multiple controllers – for example with a 2-wire serial protocol offered by the Wire library as one of the many available Arduino libraries. This sounds like the perfect playground for someone like me which isn’t really interested in low-level micro-controller programming and is more excited about programming fancy animations and patterns in a high-level programming language. So while having some days off after Christmas 2010 it was unavoidable that I had to continue developing my idea of building a coffee table that uses RGB LEDs to illuminate it’s glass top.
Since I wanted to go bigger than 64 RGB LEDs I thought about doubling the number of LEDs which lead to a 16×16 LED setup resulting in 256 LEDs in total organized in four 64 RGB LED groups each driven by a Rainbowduino controller. As I didn’t wanted to build a quadratic table I added another set of 256 LEDs to it which end up in 512 LEDs in total driven by eight Rainbowduinos. Wow, that’s quite something – and I didn’t realized those days how huge the wiring effort will be for this setup. Based on that idea I’ve started constructing a coffee table around it. Each RGB LED should light up a 4x4cm area on the glass top which lead to the overall dimension of ~140x70cm. Since the needed electronics to get this table running also takes up a bit of space I decided to start constructing a 3D model of the coffee table. This model made it for sure easier to find potential problems I haven’t thought about so far and it helped a lot to get an overall impression on how the table will look like.
So here’s a quick tour through the latest model of my still to be build RGB LED coffee table: The first picture of this post gives you an overall impression on how the table will look like. After checking out a lot of wood board samples I decided to go with North American Walnut boards for constructing the main table out of it. The table will be covered by a smoked glass which will have a satinized foil attached underneath it so that you can’t see the tables internals. The foil also helps to diffuse the light emitted by the LEDs. The main table seats on two floor units that mainly will store all the needed electronics. So that the table wouldn’t look like an upside down ‘U’ I’ve connected both floor units with a central bottom panel. The two square pillars that are barely visible in the picture between the bottom panel and the main table will contain loudspeakers so that you can play some music while the table shows your newest psychedelic music visualisation pattern. The second picture shows another shot of the table where you can see some of it’s internals with the glass top partly removed. Below the smoked glass you’ll see a grid constructed form 3mm Polystyrene panels which separates every RGB LED in it’s own 4x4x15cm compartment. Below this grid eight ~35x35cm MDF boards will be installed where every board will hold 64 RGB LEDs. Below those eight LED boards a technical compartment will contain all the needed wiring and micro-controllers to operate the table.
The current status is that the table is being constructed by my favourite local carpenter www.massivholz-moebel-schreinerei.de specialized on solid wood cabinetry. I didn’t try to build the table on my own since I wouldn’t be able to build it in a way that it doesn’t fall apart at the end or that it doesn’t look like the work of a bungler. The last months I was quite busy with soldering the LED boards and prototyping the other remaining circuits. I haven’t really started yet to work on the needed software for the Arduino controllers – I only have some demonstration code to test the LEDs on each LED board and I have a prototype running that instructs a Rainbowduino micro-controller via the Wire library from another Arduino controller. So there’s still a lot of work to do and I will continue to report about my plan to build a 512 RGB LED coffee table.
…and coming back to the question from the beginning: “Why do you want to do that?!” I still don’t know yet.. but stay tuned for a potential answer in the near future 🙂