Photo by Gustavo Juliette from Pexels - Two People Talking at the side of a stage.

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 ChannelFixtureFixture Channel
1PAR 1Red
2PAR 1Green
3PAR 1Blue
4PAR 1Master Dimmer
5PAR 2Red
6PAR 2Green
7PAR 2Blue
8PAR 2Master Dimmer
9PAR 3Red
10PAR 3Green
11PAR 3Blue
12PAR 3Master Dimmer
13PAR 4Red
14PAR 4Green
15PAR 4Blue
16PAR 4Master 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. 

Arduino DMX Communication Using RS485

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.

2 Responses

  1. What’s up guy blz? It was nice when using a photo from the internet, put her reference. I don’t know where you got the photo. But if you enter my instagram you will see that this photo is mine, it is always cool to put the artist’s reference. Thanks

    1. Hi Gustavo.

      We found the image here “” and it says on the listing that no attribution is required but if you want to reply with your instagram handle we will happily credit you. Thanks for asking!

Leave a Reply

Your email address will not be published. Required fields are marked *