This is an 8 bit serial protocol used primarily to control stage equipment: rigging, lights, smoke machines and almost any incidental equipment that can be controlled digitally.

DMX-512 is RS485 serial at 250 Kbaud--much faster than MIDI's 31.25 Kbaud. Owing to the much broader spectrum of tools, cheaper cabling, and probable concurrent use of MIDI anyway, MIDI Show Control is also a popular protocol. has a very nice history of show control protocols.

DMX-512 is the standard by which the majority of theatre and concert lighting, smoke machines, and other dynamic items are controlled. Up to 512 channels can be run on a single line.

The cable:
The cable itself is either a 5-pin, or a 3-pin cable. 5-pin cables seem to be more popular, although the extra 2 pins are redundant. In both the 3-pin and 5-pin cables, the pins are laid out as follows:

Pin 1: Ground (0v)
Pin 2: -S
Pin 3: +S

-S and +S are normally somewhere between +12v and -7v. Signal:
High (1): +S > -S
Low (0): +S < -S

(The difference between -S and +S must be at least 0.2v for a signal to register, although, with a range of +12v to -7v, this shouldn't be a problem.

Pulses are sent at a frequency of 250 khZ - that is, one pulse every 4us (microsecond).

The signal is broken up into packets. These contain a number of frames - each frame containing the information for one channel.
In a packet, the DMX controller will send out a frame for every channel up to and including the highest channel number that has changed since the last packet was sent out. This means that the frames do not actually need to have information on the channel number - the DMX recievers just count up until it gets to a channel number that it recognises.
So, if the only channel level that was changed since the last packet was channel number 15, then the DMX controller will send out the current data for all of channels 0 to 15.

A packet:

Before a packet is sent out, the DMX controller may be sending out a constant stream of 1's, in an idle state. To tell the recievers that there is some data about to go, there is a BREAK signal, which is at least 22 pulses of 0 (88us). This is followed by a Mark After Break (MAB) which is at least two pulses of 1 (4us). This is then followed by a number of frames.

A frame:
Each frame will start with a single START pulse, which will be 0. This is then followed by a series of 8 pulses, which is the DATA. This is the level that the current channel should go to, and can be, in decimal, anywhere between 0 and 255. At the end of the frame are two END pulses, which are both 1.

The first frame in each packet (frame 0) will always have a data value of 00000000. This signifies that the following information is for dimmers. At the moment, this is all it can be, but in the future, it could specify a different kind of reciever.

After all the frames are sent, a new packet can begin with a BREAK and MAB, but often a Mark Time Between Packets (MTBP) is inserted, which is a series of pulses of 1 (as if there was a slight idle between the packets).

If you're after any other theatre tech information, then do take a look at 'Everything you ever wanted to know about theatre tech, but were afraid to ask'

Log in or register to write something here or to contact authors.