Eight months.. wow! Quite some time has passed since I've decided to switch my more or less working 512 RGB LED coffee table to the newer Rainbowduino V3 controllers to drive those LEDs. At this point I couldn't really anticipate that getting a working firmware for my needs up and running would be that time consuming. Luckily I was able to solve this problem nearly two month ago so that it was time again to focus on the table and get the remaining hardware tasks sorted out. If you want to find out what has happened the last two months concerning my coffee table project than feel free to continue reading this blog post
Getting back to work on the table hardware itself wasn't really fun in the beginning since I had to remove quite some internals first that I've added to get my old Rainbowduino V2 controllers flying those days. That included two Teensy controllers that were used to drive four Rainbowduino V2 controllers each and all the wiring effort needed like the I2C links between them or the power supply of the controllers - cutting this stuff off with a wire cutter destroyed quite some hours of invested working hours. The god thing is that the whole wiring effort for the new Rainbowduino V3 controllers has been reduced to a simple USB cable plus an additional wire to be able to reset them. That's quite an improvement compared to those RX/TX, I2C, reset and power supply cables needed by the old controllers.
After those leftovers were removed I continued working on the front panels that I will use to cover my two technical compartments containing the PC and the amplifiers. The easiest and probably also the cheapest way to archive that would have been to get some plywood and drill the necessary cuttings into it manually so that you wouldn't be able to touch the dangerous parts of the table internals and potentially get electrocuted any more. After drawing the first sketches I've noticed that I have quite some buttons and knobs that I want to expose to the outside. While thinking about the effort needed to drill all those holes and cuttings by myself - which includes a high chance that it'll look like crap after I'm done with it - I thought it's maybe an better idea to go for some milled aluminium front panels instead. With the Schaeffer AG located in Berlin, Germany I've found a nice company that did helped me out. They're focused on milling individual units or small production runs and do offer a simple to use design program that is also able to show you the expected manufacturing costs while designing your front panels. I've ordered two panels for a reasonable price which saved me quite some work compared to if I would have tried to make those front panels myself. The quality of those panels was flawless and I can only recommend this company.
After the front panels have arrived I've started with the panel covering the amplifiers and the subwoofer crossover. As mentioned in one of my older blog post I did cut my Reckhorn S-1 active subwoofer crossover into two prices a while ago to be able to mount those knobs directly behind the front panel. Since those potentiometers are potentially prone to disturbing noises I wanted to cover then in a metal shielding casing which I originally planed to manufacture it myself out of ordinary sheet metal. Fortunately did my co-worker Boris offered me to help me out with his milling machine so that this saved me quite some time as if I would have to build this enclosure myself - thanks again, bud!
So after adding the enclosure containing the subwoofer crossover and the control elements of my two Thomann THE T.AMP S-100 2x100W Stereo 19″ PA amplifiers I was able to mount the front panel inside the technical compartment that contains all sound related hardware. To make it look a bit nicer and to actually be able to see something when you open the door of this compartment I've mounted some white LEDs in the ceiling that do dim up as soon as you open the door. Those LEDs are controlled by a reed switch per compartment door that do trigger some PWM outputs of my Arduino Mega 2560 controller which are used to drive those LEDs. To not overload those outputs a transistor is used to limit the power consumption the controller has to handle.
The second front panel required a bit more work to get it done since it mainly contains a bunch of push buttons to be able to interact with the coffee table. Therefore I've added some basic menu-like navigation buttons, three pairs of buttons to switch the currently shown visual, the used color palette as well as the brightness of the LEDs followed by five buttons and a matching LED per button that can be used for some sort of custom or context driven functions that I don't know about yet. Beside those buttons used to interact with the table also a bunch of technical things have been added like being able to control my FS20 sender and receiver modules as well as some buttons used to reset the different micro-controllers inside the table in case something goes wrong. The five big push buttons in the middle of the PC compartments front panel are used to trigger the main power of the table and to power on / reset the build-in PC. Also the two FS20 main power switches can be controlled using those buttons. The ATX I/O shield is exposed here too in case I want to interact with the build-in PC. However the most important part of the front panel is still the green main power switch that shuts everything down including the standby power supply of the table which is used to drive those micro-controllers that are able to power up the rest of the table.
Getting the PC front panel done was a bit more labour-intensive since I had to do all the wiring work need to connect those buttons and LEDs to the same Mega 2560 controller that drives the compartment lightings I did spoke earlier about. Also getting this beast mounted was a bit trickier since there isn't much space left to get all those wires to the right place - and a mounted PC including its power supply in the same compartment doesn't really make it simpler.
After both front panels have been put in their spot I was busy with finalizing the wiring inside the main technical compartment of my LED coffee table. The main things needed to get done there were the USB cables for the Rainbowduino controllers and modding a 10-port USB hub to be able to connect them to the PC. Mainly I had to change the power supply of that hub since I didn't want to put another 5V power supply into the table. Also the bundled power supply of the hub was only able to provide ~3A which could be a bit too less if each of the eight Rainbowduino V3 controllers can consume up to ~450mA depending if all LEDs are active or not. Therefore I've just connected the hub to the 5V line of the PCs power supply which is able to provide enough power to drive those Rainbowduino controllers.
So right now I'm basically done with the hardware I wanted to put into my 512 RGB LED coffee table. It's still not completely put together and actually used as a table yet since I want to get the software of the table into a state where I can test all those front panel buttons first before finally putting everything together. In the current state everything is still easily accessible so that fixing potential problems will be way easier than having the table already standing around in my living room. Still I'm very excited to put everything together but so far I've managed to hold myself off to not rush the final assembly at that point - but I have a very good feeling that it won't last too long until I can put this beast finally together