DMX is a standard protocol developed in 1986 for lighting control to use equipment from different manufacturers in one system. The DMX 512 standard (Actually USITT DMX 512 - 1990) is published by the USITT.

It is a multiplexed protocol transmitted via the industry standard interface EIA485 (RS485) and provides up to 512 control "channels" per data link. It allows these 512 channels of information to be transmitted. For more than 512 channels, multiple DMX links are used. The DMX protocol does not have any form of error correction.

RS-485 defines that the signal voltage between the two wires should be at least 200 milivolts.
Higher voltage on the "+" pin and lower voltage on the "-" pin results in a digital "1". Higher voltage on the "-" pin and lower voltage on the "+" pin results in a digital "0".

Voltage on both pins measured to ground should be between +12 volts and -7 volts.

The used connector is the 5-pin XLR. The sending port always uses the female and the receiving port uses the male connector (see pinout below).

Data is tranmitted in serial format asynchronously with a transmission speed of 250 Kbps resulting in a bit-time of 4 micro-seconds and the time for a data word of 44 microseconds. The time to send all 512 channels is 22668 microseconds or 22.67 milliseconds. The resulting maximum refresh rate is 44.1 Hz. All data for the individual 512 DMX channels is sent one after each other, beginning with channel 1. Not all 512 channels need to be output per packet, and in fact, it is very uncommon to find all 512 used. As soon as one packet is finished, another can begin. If nothing has changing the same data will be sent out over and over again. The fewer channels are used, the higher is the "refresh" rate of information.

DMX Tables for most DMX controlled devices

Each DMX channel contains a level represented by an 8-bit word. The 8-bit word allows 256 individual levels for each dimmer to be transmitted ("0" = channel off, "255" = channel full on). Many moving lights for instance use 2 channels to provide a 16-bit resolution.

Data packets:
Data transmission is based on the 8-bit asynchronous serial protocol with 1 start bit (low), 2 stop bits (high) and no parity. This gives a data "frame" of 11 bits. Since each bit is 4Ás wide it takes 44Ás to send a frame.
Without sending data, the line represents a logic "high" or "1". To send data, first a start bit is sent. The start and stop bits are used to synchronize the receiver with the transmitter. The start bit is followed by the data bytes. Receiving the start bit on the proper channel 'wakes' the device up. Now the next 8 bits are scanned and decoded. The following two stop bits indicate the end of the channel data, the process will be started all over again.

channel full on, "255" channel off, "0"

Each channel is separated by a logic "high" or "mark" partition between the 8-bit data byte.
Any number of channels between one and 512 could be used. Only these data will be transmitted. The data of all used channels is sent again and again until it will be changed. This gives a so called "refresh rate". This is the number of repeats of the channel data in one second. The refresh rate is measured in Hz. By seding fewer channel's data, the refresh rate is higher.

A DMX512 transmitter has the capacity to drive up to 32 units. DMX512 is connected using a daisy-chain methodology where the source connects serially to the input of the first device, the output of the first device connects to the input of the next device, and so on. To drive more than 32 units a DMX splitter is required.
Each receiving device typically has a rotary switch which sets the starting channel number that it will respond to (for example, if two 12-channel dimmer packs are used, the first dimmer pack might be set to start channel 1 and the next dimmer pack would be set to start channel 13).
All "open ends" must be terminated. Terminating plugs contain a 120 ohm, 0.5W, resistor across pins 2 & 3. The terminator functions by absorbing signal power which would otherwise be reflected back up the cable and degrade the data. DMX lines cannot be splitted passively. Always an active splitter must be used.
The ground wire is only a reference point and used for shielding.

Pin assignment    /   5-pin XLR
PIN 1 Signal Common (Shield)
PIN 2 Dimmer Drive Complement (Data 1 -) 
PIN 3 Dimmer Drive True (Data 1 +)
PIN 4 Optional Second Data Link Complement (Data 2 -)         
PIN 5 Optional Second Data Link True (Data 2 +) 

The standard connector is a 5pin XLR connector. A DMX output connector is always FEMALE and a DMX input connector is always MALE.
Because DMX is a RS-485 interface, don't use standard microphone cables. The standard wiring is a twiste-pair, shielded, low-capacitance data cable designed for RS-485. Recommended cables are BELDEN 8227, BELDEN 9156, BELDEN 43906. Use DMX cable with only the first three pins connected. DMX cable with all five pins connected should only be used when the user manual for the product states that it is necessary (for example if the dimmers return status data to the console).