Acclaim Lighting makes LED based lighting products. Some of their products include architectural lighting, high brightness fixtures utilizing Luxeon LEDs, and even lighting to cover a whole floor or wall. It all is controlled by DMX-512. Well--almost; the interesting fixture here is the X-Panel Frame. This device consists of 12 5x5 RGB LED arrays, arranged in a matrix. Due to the number of channels, it needs more than 512 channels so it supports "DMX-1000K," a protocol I am completely unfamiliar with. Fortunately, if you limit yourself to 6 X-Panel modules, DMX-512 works just fine, and the display size is just a bit limited.

Now, of course I was unwilling to use the recommended software provided by Acclaim; it didn't run on my platform of choice. Actually, I didn't even have a copy of the stuff. Nor could I find a USB DMX-512 interface. But I did have an idea.

The power of Cocoa allowed me to whip up a little application for my Mac in about two evenings. It took about 2 more days to finish up all the features. But what exactly does it do? First I made the whole display blink, then added some chasing features, and did some automated fading. Simple stuff, but it was lots of fun. It made me want to do more; so I wrote a little function that would translate from normal cartesian coordinates+color to the DMX data, reflecting the physical orientation of the device. An NSImageView configured as an image well later, and I could drag & drop photos and have them displayed on the LEDs. The resolution was low, and my scaling unoptimized, but video was the most fulfilling.

But fancy Cocoa programming does me no good without a way to physically control the device. Fortunately I happened to have my EasyLase USB interface handy. I wired up a level converter with some MAX-485 chips, according to the wiring diagram included in the manual. I had recently finished testing the DMX-512 portion of the EasyLase USB Driver for OS X, but this was the first time I used it with a real device : ). (if you need a copy, let me know)

Please excuse the low quality of the video, I just kinda hacked it together. The screen capture and live video are slightly out of sync, and the CCD in my digital camera simply isn't able to handle the brightness of the LEDs.

The video clip at the end is complements of Charlie Deets. Please don't laugh at the poor software interface design; it was just a toy.