# DMX512

DMX512 is a standard for digital communication networks that are commonly used to control lighting and effects. It was originally intended as a standardized method for controlling stage lighting dimmers, which, prior to DMX512, had employed various incompatible proprietary protocols. It quickly became the primary method for linking controllers (such as a lighting console) to dimmers and special effects devices such as fog machines and intelligent lights.
DMX512 has also expanded to uses in non-theatrical interior and architectural lighting, at scales ranging from strings of Christmas lights to electronic billboards and stadium or arena concerts. It can now be used to control almost anything, reflecting its popularity in all types of venues.
DMX512 uses a unidirectional EIA-485 (RS-485) differential signaling at its physical layer, in conjunction with a variable-size, packet-based communication protocol. DMX512 does not include automatic error checking and correction and therefore is not an appropriate control for hazardous applications, such as pyrotechnics or movement of theatrical rigging. However, it is still used for such applications. False triggering may be caused by electromagnetic interference, static electricity discharges, improper cable termination, excessively long cables, or poor quality cables.
The DMX standard is published by the Entertainment Services and Technology Association (ESTA), and can be downloaded from its website.

## History

Developed by the Engineering Commission of United States Institute for Theatre Technology (USITT), the DMX512 standard (for digital multiplex with 512 pieces of information) was created in 1986, with subsequent revisions in 1990 leading to USITT DMX512/1990.

### DMX512-A

In 1998 the ESTA began a revision process to develop the standard as an ANSI standard. The resulting revised standard, known officially as "Entertainment Technology—USITT DMX512-A—Asynchronous Serial Digital Data Transmission Standard for Controlling Lighting Equipment and Accessories", was approved by the American National Standards Institute (ANSI) in November 2004. It was revised again in 2008, and is the current standard known as "E1.11 – 2008, USITT DMX512-A", or just "DMX512-A".

## Network topology

A DMX512 network employs a multi-drop bus topology with nodes strung together in what is commonly called a daisy chain. A network consists of a single DMX512 controller – which is the master of the network — and one or more slave devices. For example, a lighting console is frequently employed as the controller for a network of slave devices such as dimmers, fog machines and intelligent lights.
Each slave device has a DMX512 "IN" connector and usually an "OUT" (or "THRU") connector as well. The controller, which usually has only an OUT connector, is connected via a DMX512 cable to the IN connector of the first slave. A second cable then links the OUT or THRU connector of the first slave to the IN connector of the next slave in the chain, and so on. For example, the block diagram below shows a simple network consisting of a controller and three slaves.
The specification requires a 'terminator' to be connected to the final OUT or THRU connector of the last slave on the daisy chain, which would otherwise be unconnected. A terminator is a stand-alone male connector with an integral 120 Ω resistor connected across the primary data signal pair; this resistor matches the cable's characteristic impedance. If a secondary data pair is used, a termination resistor is connected across it as well. Although simple systems (i.e., systems having few devices and short cables) will sometimes function normally without a terminator, the standard requires its use. Some DMX slave devices have built-in terminators that can be manually activated with a mechanical switch or by software, or by automatically sensing the absence of a connected cable.
A DMX512 network is called a "DMX universe". Each OUT connector on a DMX512 controller can control a single universe. A DMX512 universe is made up of 512 channels, with each channel containing a value between 0 and 255. Each slave device in the chain can "look at" a different set of channels in order to be controlled by the master controller. Smaller controllers may have a single OUT connector, enabling them to control only one universe, whereas large control desks (operator consoles) may have the capacity to control multiple universes, with an OUT connector provided for each universe. Many of the more modern control desks instead of featuring multiple OUT connectors have an unshielded twisted pair connector (such as Cat 5, Cat 5e or Cat 6). Such cables and systems can control up to 524,288 universes of DMX512 (32,768 subnets × 16 universes per subnet) using the Art-Net IV protocol, or 65,536 universes using the sACN protocol, and the existing Ethernet in buildings.

## Physical layer
### Electrical

DMX512 data is transmitted over a differential pair using EIA-485 voltage levels. DMX512 electrical specifications are identical to those of the EIA-485-A standard, except where stated otherwise in E1.11.
DMX512 is a bus network no more than 400 metres (1,300 ft) long, with not more than 32 unit loads (individual devices connected) on a single bus. If more than 32 unit loads need to communicate, the network can be expanded across parallel buses using DMX splitters. Network wiring consists of a shielded twisted pair, with a characteristic impedance of 120 Ω, with a termination resistor at the end of the cable furthest from the controller to absorb signal reflections. DMX512 has two twisted pair data paths, although the specification currently only defines the use of one of the twisted pairs. The second pair is undefined but required by the electrical specification.
The E1.11 (DMX512 2004) electrical specification addresses the connection of DMX512 signal common to earth ground. Specifically, the standard recommends that transmitter ports (DMX512 controller OUT port) have a low impedance connection between signal common and ground; such ports are referred to as grounded. It is further recommended that receivers have a high impedance connection between signal common and ground; such ports are referred to as isolated.
The standard also allows for isolated transmitter ports and non-isolated receivers. It also recommends that systems ground the signal common at only one point, in order to avoid the formation of disruptive ground loops.
Grounded receivers that have a hard connection between signal common and ground are permitted but their use is strongly discouraged. Several possible grounding configurations that are commonly used with EIA485 are specifically disallowed by E1.11.

### Connectors

The original DMX512 1990 specified that where connectors are used, the data link shall use five-pin XLR style electrical connectors (XLR-5), with female connectors used on transmitting (OUT) ports and male connectors on receiving ports. The use of any other XLR-style connector is prohibited.
The three-pin XLR connector is commonly used for DMX512, on lighting and related control equipment, particularly at the budget/DJ end of the market. However, using three-pin XLR connectors for DMX512 is specifically prohibited by section 7.1.2 of the DMX512 standard. Use of the three-pin XLR in this context firstly presents a risk of damage to the lighting equipment should an audio cable carrying 48-volt phantom power be accidentally connected. Three-pin XLR designed for audio applications rather than DMX512 communications may also lead to signal degradation and unreliable operation of the DMX network.
DMX512-A (ANSI E1.11-2008) defined the use of eight-pin modular (8P8C, or "RJ-45") connectors for fixed installations where regular plugging and unplugging of equipment is not required. Several manufacturers used other pinouts for RJ-45 connectors prior to this inclusion in the standard.
Other form-factors of connectors are permitted on equipment where the XLR and RJ-45 would not fit or are considered inappropriate, for example on equipment intended for permanent installation.
From ANSI E1.11 - 2008 section 7:
   7.1.2 Concession for use of an alternate connector (NCC DMX512-A) A concession to use an alternate connector is available only when it is physically impossible to mount a 5-pin XLR connector on the product. In such cases all the following additional requirements shall be met: 1) The alternate connector shall not be any type of XLR connector. 2) The alternate connector shall not be any type of IEC 60603-7 8-position modular connector except as allowed in clause 7.3.
   7.2 Equipment intended for fixed installation with internal connections to the data link Fixed installation products with internal connections to the data link may use the 5-pin XLR connector, but shall not use any other XLR connector. When use is made of the 5-pin XLR connector, the requirements of 7.1 and 7.1.1 shall apply. When a non-XLR connector is used, this Standard makes no other restriction or stipulation on connector choice. The contact (pin) numbering on the alternate connector should match numbering for the standard 5-Pin XLR

#### XLR-5 pinout

* Signal Common
* Data 1- (Primary Data Link)
* Data 1+ (Primary Data Link)
* Data 2- (Optional Secondary Data Link)
* Data 2+ (Optional Secondary Data Link)

#### RJ-45 pinout

* Data 1+
* Data 1-
* Data 2+
* Not Assigned
* Not Assigned
* Data 2-
* Signal Common (0 V) for Data 1
* Signal Common (0 V) for Data 2
The 8P8C modular connector pinout matches the conductor pairing scheme used by Category 5 (Cat5) twisted pair patch cables. The avoidance of pins 4 and 5 helps to prevent equipment damage, if the cabling is accidentally plugged into a single-line public switched telephone network phone jack.

#### Common non-compliant connectors

In the early days of digital lighting control, equipment manufacturers employed various connectors and pinouts for their proprietary digital control signals. The most common of these is the three-pin XLR connector. When DMX512 was ratified, many of these manufacturers then issued firmware updates to enable the use of DMX512 control on their existing equipment by the use of a simple adapter to and from the standard 5-pin XLR style connector.
As the electrical specification currently only defines a purpose for a single wire pair, some equipment manufacturers continue to use it. Such equipment is not compliant with the DMX standard, but may be sufficiently compatible for operation using simple adapters.
There is a risk of equipment damage if 3-pin XLR audio and DMX signals are plugged into each other.

##### XLR-3 pinout

Section 7 of ANSI E1.11 - 2008 prohibits the use of XLR-3 connectors with DMX512. However, in practice XLR-3 has become a de facto standard in the lighting industry with the following pinout commonly seen:
* Ground
* Data 1-
* Data 1+
Since DMX512 over XLR-3 is not officially standardised, there may be devices which use other pinouts.

##### Other RJ-45 pinouts

Color Kinetics has their own version of the RJ-45 connector for DMX, which predates the 2008 official inclusion in the DMX512 standard. The pinout specifically for Color Kinetics LED lighting products is:
* Data 1-
* Data 1+
* Shield
* Optional
* Optional
* Optional
* Optional
* Optional

### Cabling

The standard cables used in DMX512 networks employ XLR5 connectors, with a male connector on one end and a female connector on the other end. The cable's male connector attaches to the transmitting, female jack (OUT), and its female connector attaches to the receiving, male jack (IN).
Cabling for DMX512 was removed from the ANSI E1.11 standard and a separate cabling standards project was started in 2003. Two cabling standards have been developed, one for portable DMX512 cables (ANSI E1.27-1 – 2006) and one for permanent installations (draft standard BSR E1.27-2). This resolved issues arising from the differences in requirements for cables used in touring shows versus those used for permanent infrastructure.
The electrical characteristics of DMX512 cable are specified in terms of impedance and capacitance, although there are often mechanical and other considerations that must be considered as well. Cable types that are appropriate for DMX512 usage will have a nominal characteristic impedance of 120 Ω. Also, cables designed for EIA485 typically meet the DMX512 electrical specifications. Conversely, microphone and line-level audio cables lack the requisite electrical characteristics and thus are not suitable for DMX512 cabling. The significantly lower impedance and higher capacitance of these cables distort the DMX512 digital waveforms, which in turn can cause irregular operation or intermittent errors that are difficult to identify and correct.
Cat5 cable, commonly used for networking and telecommunications, has been tested by ESTA for use with DMX512A. RJ45 connectors are used by some DMX-compatible hardware with ESTA standard or proprietary pinouts.

## Protocol

At the data link layer, a DMX512 controller transmits asynchronous serial data at 250 kbit/s. The data format is fixed at one start bit, eight data bits (least significant first), two stop bits and no parity.
Each frame consists of:
* Break condition
* Mark-After-Break
* Slot 0, containing the one-byte Start Code
* Up to 512 slots of channel data, each containing one byte
The start of a packet is signified by a break followed by a "mark" (a logical one), known as the "Mark After Break" (MAB). The break, which signals the end of one packet and the start of another, causes receivers to start reception and also serves as a frame (position reference) for data bytes within the packet. Framed data bytes are known as slots. Following the break, up to 513 slots are sent.
The first slot is reserved for a "Start Code" that specifies the type of data in the packet. A start code of 0x00 (hexadecimal zero) is the standard value used for all DMX512 compatible devices, which includes most lighting fixtures and dimmers. Other start codes are used for Text packets (0x17), System Information Packets (0xCF), for the RDM extension to DMX (0xCC), and various proprietary systems. ESTA maintains a database of alternate start codes.
All slots following the start code contain control settings for slave devices. A slot's position within the packet determines the device and function to be controlled while its data value specifies the control set point.

### Timing

DMX512 timing parameters may vary over a wide range. The original authors specified the standard this way to provide the greatest design flexibility. Because of this, however, it was difficult to design receivers that operated over the entire timing range. As a result of this difficulty, the timing specification of the original 1986 standard was changed in 1990. Specifically, the MAB, which was originally fixed at 4 μs, was changed to 8 μs, minimum. The E1.11 (2004) standard relaxed the transmitter and receiver timing specifications. This relaxed the timing requirements for systems using controllers built to DMX512-A (E1.11); however, a significant number of legacy devices still employ transmit timing near the minimum end of the range.
| -- | Min Break (μs) | Min MAB (μs) |
| Transmitted | 92 | 12 |
| Receiver recognize | 88 | 8 |
Maximum times are not specified because as long as a packet is sent at least once per second, the BREAK, MAB, inter-slot time, and the mark between the last slot of the packet and the break (MBB) can be as long as desired.
A maximum-sized packet, which has 512 channels (slots following the start code), takes approximately 23 ms to send, corresponding to a maximum refresh rate of about 44 Hz. For higher refresh rates, packets having fewer than 512 channels can be sent.
The standard does not specify the minimum number of slots that can be sent in a packet. However, it does require that packets be transmitted so that the leading edges of any two sequential BREAKs must be separated by at least 1204 μs, and receivers must be able to handle packets with break-to-break times as short as 1196 μs. The minimum break-to-break transmit time can be achieved by sending packets that contain at least 24 slots (by adding extra padding bytes, if necessary) or by stretching parameters such as the BREAK, MAB, Interslot, or Interpacket times.

### Addressing and data encoding

Most data is sent with the default Null Start Code of 00h. Quoting from the standard:
   8.5.1 NULL START code
   A NULL START Code identifies subsequent data slots as a block of un-typed sequential 8-bit information.
   Packets identified by a NULL START Code are the default packets sent on DMX512 networks. Earlier versions of this standard assumed that only dimmer class data would be sent using NULL START Code packets. In practice NULL START Code packets have been used by a wide variety of devices; this version recognizes this fact.
   Each NULL START Code packet contains no formal data or addressing structure. The device using data from the packet must know the position of that data within the packet.
Dimmer packs or racks use a group of slots to determine the levels for their dimmers. Typically a dimmer has a starting address that represents the lowest-numbered dimmer in that pack, and the addressing increases from there to the highest-numbered dimmer. As an example, for two packs of six dimmers each, the first pack would start at address 1 and the second pack at address 7. Each slot in the DMX512 packet corresponds to one dimmer.

#### 8-bit v. 16-bit

DMX does not mandate a method of 16-bit encoding for Null Start Code packets; however, many parameters of moving lights make use of encoding larger than 8-bit numbers. To control these parameters more accurately, some fixtures use two channels for parameters that require greater accuracy. The first of the two channels controls the coarse (256 steps for the whole range of movement) and the second the fine (256 steps for each coarse step), this gives a 16-bit value range of 65536 steps, permitting much greater accuracy for any 16-bit controlled parameter such as Pan or Tilt.

## DMX in practice

DMX512's popularity is partly due to its robustness. The cable can be abused without any loss of function in ways that would render Ethernet or other high-speed data cables useless, although cable faults can occasionally lead to intermittent problems such as random triggering. Unexpected fixture behavior is caused by addressing errors, cable faults, incorrect data from the controller, or multiple DMX sources inadvertently applied to a single chain of fixtures.

### Secondary data link

In the 1986 and 1990 standards the use of the second data pair is not defined other than as an ‘optional second data link’. Both unidirectional and bidirectional use were envisioned. Other proprietary uses have been implemented for these pins. Schemes that use voltage outside of the range allowed by EIA485 are disallowed. Guidance on allowed usage can be found in Annex B of E1.11. Current standard practice is to leave the secondary data link pins unused.

### Connectors

DMX512-A specifies that the connector must be a five-pin XLR connector.
DMX512-A uses a single pair of conductors, so can be connected using the cheaper 3-pin XLR connectors. Some manufacturers made units with three-pin XLR connectors, because of their lower cost. However, as 3-pin XLRs are commonly used for connecting microphones and sound mixing consoles, there is a risk of wrongly connecting DMX512 equipment to microphones and other sound equipment. The +48 volt phantom power emitted by mixing consoles could damage DMX512 equipment if connected to it. The DMX512 signals emitted by lighting desks can damage microphones and other sound equipment if connected to it. As a result, the best practice is to use only 5-pin XLRs for DMX512 signals, to avoid risk of confusion with connectors used for sound signals.

### Termination

The DMX512 signal lines require a single 120 Ω termination resistor to be fitted at the extreme end of the signal cable. Some of the more common symptoms of improper termination are flashing, uncontrollable or incorrect light operation, or other undesired random special effects.
Some equipment has automatic termination, others a physical switch, while the remainder requires a physical terminator (e.g. male XLR-5 plug fitted with a resistor) to be installed by the user.
It is important for users to check whether their devices have automatic or switched termination, as otherwise they may end up with the DMX line being terminated multiple times or not at all when they believed it to be correct.
Additionally, terminating the DMX line often exposes physical cable faults - for example, if the "Data −" wire is broken, an unterminated DMX run may partially work, while fitting the terminator immediately exposes the problem.

### Wireless operation

Recently, wireless DMX512 adapters have become popular, especially in architectural lighting installations where cable lengths can be prohibitively long. Such networks typically employ a wireless transmitter at the controller, with strategically placed receivers near the fixtures to convert the wireless signal back to conventional DMX512 wired network signals or wireless receivers built into the individual fixtures.
Although wireless DMX512 networks can function over distances exceeding 3,000 feet (910 m) under ideal conditions, most wireless DMX512 links are limited to a maximum distance of 1,000–1,500 feet (300–460 m) to ensure reliable operation. The first commercially marketed wireless DMX512 system was based on frequency-hopping spread spectrum (FHSS) technology using commercial wireless modems. Other later-generation systems still used frequency-hopping spread spectrum (FHSS) technology, but at higher bandwidth. FHSS systems tend to disturb other types of wireless communication systems such as WiFi/WLAN. This has been solved in newer wireless DMX systems by using adaptive frequency hopping, a technique to detect and avoid surrounding wireless systems, to avoid transmitting on occupied frequencies.
Multiple incompatible wireless protocols currently exist. While DMX-over-Ethernet protocols such as E1.31 - Streaming ACN can be used to send DMX data over WiFi, this is not generally recommended due to the highly variable latency of WiFi.

## Development

Many alternatives to DMX512 have been proposed to address limitations such as the maximum slot count of 512 per universe, the unidirectional signal, and the lack of inherent error detection. The 2004 DMX512-A revision added a System Information Packet (SIP). This packet can be interleaved with Null packets. One feature of SIPs is they allow checksums to be sent for DMX Null data. However, SIPs have rarely been implemented.
E1.11-2004, a revision of DMX512-A, also lays the foundation for Remote Device Management (RDM) protocol through the definition of Enhanced Functionality. RDM allows for diagnostic feedback from fixtures to the controller by extending the DMX512 standard to encompass bidirectional communication between the lighting controller and lighting fixtures. RDM was approved by ANSI in 2006 as ANSI E1.20 and is gaining interest.
An Ethernet-based protocol can distribute multiple DMX universes through a single cable from a control location to breakout boxes closer to fixtures. These boxes then output the conventional DMX512 signal. ANSI E1.31—2009 Entertainment Technology—Lightweight streaming protocol for transport of DMX512 using ACN, published May 4, 2009, and Art-Net are two free-to-use protocols used to achieve this.