Latest ESTA standard (approved by ANSI) known as "Entertainment Technology USITT DMX512-A - Asynchronous Serial Digital Data Transmission Standard for Controlling Lighting Equipment and Accessories", also known as "E1.11, USITT DMX512-A", or just "DMX512-A".
DMX is the primary method for linking controllers, dimmers, advanced fixtures and special effects devices such as foggers and moving lights. A DMX512 controller is connected to fixtures or devices in a daisy-chain link. Each device has a DMX in and generally a DMX out XLR 5 pin connector - sometimes marked as DMX thru. The DMX out on the controller is linked via a DMX512 cable to the DMX in on the first fixture. A second cable then links the DMX out on the first fixture to the next device, and so on - up to 32 devices. In general, the final, empty, DMX out connector should have a DMX512 terminating plug attached into it, which is simply a 120ohm resistor joining pins 2 and 3 of the connector. Many modern devices negate this requirement as they are capable of auto-terminating the link.
|4||Not used||originally intended for feeding diagnostic data back to the DMX512 controller, but never been implemented. Sometimes used to carry other data or power|
DMX512 Data are sent using RS-485 voltage levels and cabling practices. Data are transmitted serially at 250 kbit/s and is grouped into packets of up to 513 bytes. Data are sent with 1 start bit and 2 stop bits, LSB first. The start of a packet is signified by a break of at least 88 uS. Receivers detect the break and reset their receiving code. Then up to 513 bytes are sent. The first byte is always the "Start code" byte. This tells receivers which kinds of data are being sent. For normal dimmer/level data, a start code of 0x00 is used. Other start codes are used for proprietary systems or for the RDM extension to DMX.
The remaining bytes make up the actual level data. Up to 512 bytes can be sent, and it is the job of the receiver to count the bytes to keep track of the channels. As there is no error detection or correction in DMX, it is vitally important for receivers not to miss bytes, and to discard packets if framing or buffer overflow errors are detected. A full packet takes approx. 23 mS to send (44 Hz refresh rate) - for higher refresh rates fewer channels can be sent.
Moving lights use multiple, usually adjacent DMX512 channels to control different aspects of their behaviour. Modern DMX512 controllers have libraries of data about fixtures telling them how to map attributes to DMX512 channels. The controller could then have separate ways of selecting gobos and gobo rotation, even though on a particular fixture they are controlled by a single DMX512 channel.
The DMX512 output is designed to feed 32 "units" of load. A single fixture may represent a fraction of a unit of load or even multiple/heavy loads, also the cabling in between the fixtures can degrade the signal significantly. To deal with this, and cable management issues, DMX512 buffers are often used. These have one DMX512 in but many DMX512 outs, all feeding identical data. Each output from the DMX512 buffer can feed 32 units, so by using DMX512 buffers it is possible to split the signal from a controller to hundreds of fixtures.