DMX 512 – A Celebration
DMX 512 - A Celebration
Today is the big day ladies and gentlemen. The 5th of December or DMX day named after the amazing protocol that united [CITATION BLOODY NEEDED] the lighting industry on one standard. [THIS HAS TO BE MADE UP].
The Dark Ages
For as long as we’ve had stages we’ve needed lighting. The earliest examples of outdoor theatre used a magnificent defuse light source that illuminated the whole stage by way of nuclear fusion. Although this light has never truly been beaten it is hard to sit in the room with a giant ball of gas many times the size of the planet. Also, due to it’s rather strict contract negotiation skills, it was also unavailable for night shifts. Ever. This meant that plays could only take place during the day.
Roll on a few centuries and we start too see the advent of oil lamps and candles on stage. A marked improvement, but still not the beautiful displays we’re used to today.
Then, after many more years we eventually discovered electricity and with it came, the lamp.
Turn it down. It's too Bright!
The invention of the lamp, lens and parabolic reflector were all instrumental in early stage lighting. It didn’t take a long time before dimmers became widespread to adjust the level to suit the surround and barn doors were used to give directionality to our lamps.
But as time went by fixtures got more and more elaborate. We added Gels and Gobo’s to alter the colour and add patterns to project onto the stage and eventually we were left with these somewhat smart fixtures that could be controlled remotely. Albeit the majority of them had their own way of doing it which lead to the frustrations of many a lighting tech.
This is why a group of people called the United States Institute for Theatre Technology decided to design a standard for controlling these fixtures in 1986.
Digital MultipleX - The X looked Cool.
The original, and revised standard used serial communication to send packets of data along two sets of data lines with reference to ground. This allowed sending 8 bits of data (giving us 255 + 0) different instructions to 512 addresses.
These data bits typically encode one parameter. In the case of the common LED par can, this would be the intensity of the 3 constituent colours. Red, Green and Blue. But this varies wildly from fixture to fixture.
Counting to 512
Although modern inexpensive fixtures typically can exceed the original standards and in practice many people do abuse some loopholes in the protocol, DMX was originally designed to allow up to 32 fixtures per universe, Each with 16 controllable channels.
However, if you only have 4 par cans it can be easier to keep everything to hand and it’s not uncommon to have them set up something like this.
|Global Channel||Fixture||Fixture Channel|
|4||PAR 1||Master Dimmer|
|8||PAR 2||Master Dimmer|
|12||PAR 3||Master Dimmer|
|16||PAR 4||Master Dimmer|
As you might have guessed. This will quickly use up our 32 fixture limit with some channels to spare! (384 for those playing along at home). As it is often more convenient to keep all channels on one bank, page, screen or whatever you’re working on it is not unheard of and squeezing extra fixtures in here can have mixed results. Although, personally I have never encountered the problem.
Now, what if you’re running a show with an excessive amount of lights. 20 Moving heads, 40 Par’s and a few lasers just for the hell of it? You will quickly run out of channels in a case like this. This is why many modern solutions offer multiple universes in one controller. As this is all serial communication this is really quite achievable. As long as you keep the total cable length down, 400m is the specified maximum, and terminate the ends with a 120Ω resistor between the hot and cold lines, you’re probably good to go.
Roll your own DMX controller
DMX is a wonderful standard and is a really fun experiment in digital and serial communication. The best part is, you can build your own USB DMX interface for a fraction of the cost of commercial models.
Above is a simple example of a Maxim MAX485 being using to take a signal from an Arduino and sending the instructions to your fixtures. All of this on one Arduino control pin. Although, I haven’t experimented with it yet, something similar could probably be done using a Raspberry Pi. This would also give you the ability to build your own GUI controller but the USB functionality of the Arduino serial monitor and the DMXSimple arduino library is more than enough to get started.
DISCLAIMER: We know that it is often considered a no no to use 3 PIN XLR connectors for DMX but for low end lights you typically find this connecter used more often.
So tell us below if you’ve built this circuit or are just discovering this wonderful protocol for the first time today.