Programmers' Pain
9Sep/133

No, I haven’t burned my 512 RGB LED coffee table (yet)..

The assembled coffee table doing it's main job in my living room: being a table :)

The assembled coffee table doing it's main job in my living room: being a table :)

No, I'm still alive and no, haven't turned my coffee table into a big camp fire (yet) :) I was just busy with renovating my flat and some other projects that I'll show you in some future blog posts as well. Therefore I didn't had too much spare time left that I could invest into my 512 RGB LED coffee table project lately. Still I want to give you a brief update what has happened in the meanwhile: I closed my last blog post with basically having the table hardware-complete but still not finally assembled to be able to fix any hardware related bugs that might show up while continue testing it. For some weeks I've left the table in that state, did test various things and fixed some bugs before I put it together and moved it over to my living room where it just does it's job as a good looking coffee table. Since I can't use my notebook to connect to the Rainbowduino V3 controllers any more I had to spend some time on getting my Java software easily deployable to the tables PC and to add a hook into the Linux installation so that it starts up while the PC is booting. Feel free continue reading if you're interested in the details on how I did that and to get some additional insight in the current state of the tables Java software.

24Nov/122

There has been some progress…

A snapshot taken of the main technical compartment somewhere in the midle of getting some wiring work done

A snapshot taken of the main technical compartment somewhere in the midle of getting some wiring work done

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 :)

12Nov/120

Howto setup an encrypted RAID1 array using external USB 3.0 disks

RAID1 setup using Linux software raid and LUKS encryption

RAID1 setup using Linux software raid and LUKS encryption

After one of my last blog posts dealt with modifying my two Sharkoon SATA Quickport XT USB3.0 docking stations I did spend some time figuring out how I can use them to set up multiple RAID1 volumes that should be encrypted using the LUKS environment of recent Linux distributions. Also I was searching for a mechanism to clearly map every involved disk to an unique raid volume so that I don't end up with a generic mount point like /mnt/raid1/ that would just show the content of the currently docked disks - instead every RAID1 volume should have it's own dedicated mount point. The solution I've came up with uses UDEV rules to identify the disks, mdadm to map two disks to a single software-RAID1 volume, cryptsetup to encrypt the raid volume and some smaller, self-written helper scripts that do simplify the usage of those external RAID1 volumes. How it all works and how you can set up such an environment on your own Linux machine: just click 'continue reading' :)

Tagged as:
Continue reading
19Sep/1214

Finally! A working streaming firmware for my Rainbowduino V3 controllers

Two Rainbowduino V3 controllers running the 'rainbowduino-v3-streaming-firmware'

Two Rainbowduino V3 controllers running the 'rainbowduino-v3-streaming-firmware'

It took a while but I've finally managed to get the firmware of my new Rainbowduino V3 controllers to a state that I can use them as part of my 512 RGB LED coffee table project. I've learnt a lot of new things about interrupt handling of AVR micro controllers that I didn't want to learn at all and I went trough quite some frustrating weeks where I was very close to just throw those controllers into the trash. But luckily I've managed to get the firmware flying at the end. If you want to find out what obstacles I had to fight with, how it all works at the end and where you can find the Rainbowduino V3 firmware including the matching Java API than feel free to continue reading this blog post :)

21Jul/120

Offtopic #2: Sharkoon SATA QuickPort XT USB3.0 and its on/off switch

Sharkoon SATA Quickport USB3.0 XT before/after moving the on/off switch from the back to the top part of the docking station

Sharkoon SATA Quickport USB3.0 XT before/after moving the on/off switch from the back to the top part of the docking station

While searching for an USB3.0 docking station for 3.5" SATA hard drives the SATA Quickport XT USB3.0 offered by Sharkoon got my attention at one point. It's simple, not that pricey and doesn't take up too much space. One of the things I was looking for was that it should provide an on/off switch so that you don't have to rely on the operating system to suspend the disks which usually depends on how well the SATA<->USB bridge inside the docking station is supported. What I don't understand is why Sharkoon places this switch on the back of the docking station so that it can't be reached easily if a disk is inserted into it - this kind of sucks if suspending the disk via the operating system doesn't work reliable. But luckily the top part of the docking station isn't used by an eject button, activity-LEDs or anything else except the imprinted Sharkoon logo - guess where I've moved the on/off switch to :)

1Mar/120

The first test assembly of my 512 RGB LED coffee table

The 512 RGB LED coffee table after its first test assembly

The 512 RGB LED coffee table after its first test assembly

After being busy for almost one year with constructing my RGB LED coffee table it has finally happened: The almost complete table assembled in its full beauty! Wow! Pretty impressive to see everything together working for the first time. Okay, some hardware isn't fully done yet, the software is in an early prototype stage and still some bugs have to be fixed until I'll move to table from my shop to the living room. Nevertheless I'd like to share this moment and the current state of my project with you.

27Feb/122

A closer look at the RGB LED coffee table internals

8x8 RGB LED arrays closeup

8x8 RGB LED arrays closeup

Since my last post about the audio system installation of my 512 RGB LED Coffee Table project I've spent my time finalizing the table internals needed to operate the eight LED arrays inside the coffee table. This includes the power supply, the micro controllers used to operate the basic table functions, the Mini-ITX PC that generates and distributes the to be shown images to the eight LED arrays as well as the needed wiring between the individual components and the front panels used to operate the table.

8Nov/110

Things you shouldn’t do #3: Cut 19-inch amplifiers and subwoofer crossovers in half

The coffee tables sound system in the original and installed state

The coffee tables sound system in the original and installed state

Quite some time has passed by since my last blog post about my 512 RGB LED Coffee Table project so that it's about time to give you a brief update what has happened the last ~8 weeks. Mid of September my carpenter was done with constructing the coffee table so that I could finally start to integrate all the electronic components and the needed wiring into it. Thanks again to especially Gunnar Schwinn from http://www.massivholz-moebel-schreinerei.de/ which did a great job in bringing my ideas to life and giving valuable feedback. As soon as the coffee table arrived at my place I focused on the sound system since the installation of it is rather a standalone task beside the installation of the RGB LEDs.

26Oct/111

Howto upgrade PHP on CentOS 5.x

PHP LogoCentOS 5.x comes with PHP in version 5.1.6 which is pretty old those days. There are already quite some web applications that have dropped PHP 5.1.x support which makes it impossible to install them on a CentOS 5.x installation. With the release of CentOS 5.6 additional packages called php53, php53-common, php53-ldap, etc. have been released which could replace the 5.1.6 default version of PHP if you don't have other RPM packages that depend on the original php packages. Since the php and the new php53 packages do install their resources into the same directories you can't install both of them in parallel. Instead of faking empty php packages to be able to install all php53 packages without conflicts and missing dependencies I decided to go for a third party PHP installation provided by AtomiCorp.

7Sep/113

Soldering 512 RGB Leds: Pure fun… Not!

Eight 8x8 RGB LED arrays each driven by a Rainbowduino Controller

Eight 8x8 RGB LED arrays each driven by a Rainbowduino Controller

Finally! After hours spend with fitting LEDs into reflectors, preparing cables, cutting shrink tubing pieces and soldering everything together to 8x8 LED arrays: It is done! And I'll never ever do it again this way. :) As I already stated in my first blog post about my 512 RGB LED Coffee Table project I was a bit too optimistic in the planing phase regarding the wiring effort needed to get all LEDs working.