DMX512 is the standard digital protocol used to control stage and architectural lighting. Short for Digital Multiplex, it lets a single controller send commands to hundreds of fixtures (dimmers, moving heads, LED washes, strobes, fog machines) over one lightweight data cable. If you have ever seen a lighting console run an entire show, DMX512 is almost certainly the language it is speaking.
DMX512 in one sentence
A DMX512 line carries up to 512 independent control channels, and each channel sends a value from 0 to 255 that tells a fixture what to do: how bright to be, what colour to show, where to point, and so on. That group of 512 channels is called a universe.
- Channel: a single stream of control values. One universe has up to 512 of them.
- Value: each channel carries one 8-bit number, giving 256 discrete steps (0 to 255). 0 is off or minimum, 255 is full or maximum. For finer resolution, two channels can be paired: see 8-bit vs 16-bit control.
- Universe: one complete DMX line of 512 channels. Larger rigs use multiple universes: universe 1 covers channels 1 to 512, universe 2 covers 513 to 1024, and so on.
A simple dimmer uses just one channel (its brightness). A colour-mixing or moving fixture uses several consecutive channels: red, green, blue, intensity, pan and tilt might occupy six channels in a row.
A short history
DMX512 was published in 1986 by USITT to replace a mess of incompatible proprietary control schemes, revised in 1990, and is now maintained as ANSI E1.11 (DMX512-A) by ESTA. Four decades on, it remains the lighting industry's common language. The full story, including why the 1990 revision changed a critical timing figure, is in A short history of DMX512.
The postal analogy
Think of a universe as a street with 512 letterboxes. The controller is the postman, walking the street and dropping a value into every box in order, over and over. Each fixture is told which box (address) to read, and it ignores everything else; one that needs several channels reads its start box and the next few in sequence. The postman never waits for a reply, and the whole street gets fresh mail dozens of times per second.
On the wire: RS-485 at 250 kbit/s
Everything above is the mental model; here is what is physically happening on the cable. Once you understand it, most DMX faults stop being mysterious.
Electrically, DMX512 is an EIA-485 (RS-485) balanced differential link running at a fixed 250 kbit/s (4 µs per bit). The data is not carried as a voltage relative to ground but as the difference between two wires, Data+ and Data−. Noise induced along the cable hits both wires roughly equally, so the receiver, which only looks at the difference, rejects it. That common-mode rejection is why a DMX run can be hundreds of metres long in an electrically hostile environment (dimmer racks, motors, LED power supplies) and still deliver clean data. One naming trap to be aware of: the pixel-LED world reuses the DMX512 name for a single-wire chip-input variant fed directly into pixel ICs, which is a different physical layer from the RS-485 link described here; ENTTEC's pixel protocols listing covers that taxonomy.
RS-485 also sets the loading rule: the standard supports 32 unit loads on one line, which in practice means at most 32 fixture inputs per DMX run before you need a splitter to regenerate the signal. Most modern fixtures present less than a full unit load, but 32 remains the safe planning figure.
Anatomy of a DMX packet
The controller sends the channel data as discrete, repeating packets, and each packet's structure is precisely defined by ANSI E1.11. The Break and MAB durations below are the minimum a receiver must accept; DMX512-A holds transmitters to longer figures, noted in the table:
| Element | Duration at 250 kbit/s | What it does |
|---|---|---|
| Break | ≥88 µs at the receiver, line held low (DMX512-A transmitters must send at least 92 µs, 176 µs typical) | A deliberate framing "error" that tells every receiver a new packet is starting |
| Mark After Break (MAB) | ≥8 µs at the receiver, line high (DMX512-A transmitters must send at least 12 µs) | Recovery gap before data begins (the receiver minimum was 4 µs in 1986, doubled in 1990) |
| Start code (slot 0) | 44 µs | Declares the packet type. 0x00 (the null start code) means standard lighting data |
| Data slots 1 to 512 | 44 µs each | One 8-bit value per channel, channel 1 first |
Every slot, including the start code, is a standard asynchronous serial frame: 1 start bit, 8 data bits (least significant bit first), 2 stop bits. That is 11 bits at 4 µs each, so 44 µs per slot. A controller may send anywhere from 1 to 512 data slots after the start code. A receiver counts slots after the break: if its address is 10, it discards slots 1 to 9, latches slot 10 (and however many consecutive slots its personality needs), and ignores the rest.
The break-as-delimiter design is what makes DMX self-synchronising. A fixture plugged in mid-show, or one that briefly loses signal, simply waits for the next break and is back in sync within one packet, about 23 ms at most.
The refresh math: why "about 44 Hz"
A full 512-slot packet, sent back to back with minimum timing, takes:
- Break (88 µs) + MAB (8 µs) + 513 slots × 44 µs (start code plus 512 channels) = 22,668 µs, roughly 22.7 ms.
1 ÷ 22.7 ms ≈ 44 packets per second, the source of the widely quoted 44 Hz full-universe refresh figure. It is a ceiling, not a guarantee: transmitters are allowed to idle between slots and between packets, and many consoles deliberately pace output at 30 to 40 Hz. Both are fine; fixtures hold their last received value between packets, and a receiver only treats the signal as lost if no valid packet arrives for a full second.
Fewer slots refresh faster. A controller driving a 96-channel rig that transmits only 97 slots (start code plus 96 channels) needs about 4.4 ms per packet, roughly 230 packets per second. The standard does impose a floor: the minimum break-to-break time is 1204 µs, which caps even the tiniest packet at about 830 per second. Some controllers always send all 512 slots regardless of patch size, which locks them to the 44 Hz ceiling.
Why 512 channels, not more?
The number falls straight out of the timing budget. At 250 kbit/s each additional channel costs 44 µs per packet. At 512 channels the refresh rate is about 44 Hz, comfortably fast enough that dimmer fades and moving-light sweeps look continuous. Double the count to 1024 and the refresh drops to roughly 22 Hz, slow enough that fast fades and pan or tilt moves start to visibly step. 512 (a tidy 29 for the 8-bit microcontrollers and UARTs of 1986) was the point where channel count and refresh rate balanced. When rigs outgrew it, the industry multiplied universes and moved transport onto Ethernet.
What RDM changes: alternate start codes
The start code is the packet's type field, and 0x00 is only one of 256 possibilities. Receivers must ignore any start code they do not understand, so new packet types can share the cable without confusing old fixtures: this is DMX's built-in extension mechanism. ANSI E1.20 RDM (Remote Device Management) uses the alternate start code 0xCC to interleave request packets between ordinary lighting packets on the same wire, and, crucially, defines precisely timed gaps in which the addressed fixture may reply on the same pair. That turns DMX's strictly one-way line into a half-duplex one: you can discover fixtures, set their addresses and read sensor or fault status remotely. One caveat: in-line devices such as splitters must be RDM-aware to pass the replies upstream. See our RDM overview.
Addressing your fixtures
Because every fixture on the line hears the whole stream, each one must be told which channels belong to it. This is its DMX address: the number of its first channel. Set two fixtures to the same address and they behave identically; different addresses let you control them independently. See Addressing your fixture for a step-by-step guide.
The physical layer: cables and connectors
- Connectors: the standard specifies the 5-pin XLR (pin 1 = shield/ground, pin 2 = Data−, pin 3 = Data+, pins 4 and 5 = an optional second data pair). 3-pin XLR, RJ45 and screw terminals are also widely used; just make sure the pin-out matches at both ends.
- Cable: use proper DMX or data cable (120 Ω shielded twisted pair) or Cat5e/Cat6. Do not use microphone or audio cable: its characteristic impedance (typically 40 to 70 Ω) does not match the line, and the mismatch causes reflections and data errors at DMX's 250 kbit/s rate.
Wiring best practices
A few rules keep a rig rock-solid:
- Daisy-chain, don't star. Run cable from the controller to fixture 1, then on to fixture 2, and so on. Never Y-split a DMX output; reflected signals clash and corrupt the data. If you need to branch, use a DMX splitter.
- Respect the 32 unit-load limit, and for reliability stay nearer 16 devices per run.
- Up to roughly 300 m per run. Beyond that the signal can degrade; a splitter or repeater regenerates it and extends the reach.
- Terminate the last fixture. Fit a 120 Ω resistor across Data+ and Data− at the end of the chain to absorb the signal energy that would otherwise reflect back down the cable and cause flicker. An unterminated line is the classic cause of intermittent glitches that appear only once the rig is fully cabled.
- Use isolated splitters. An opto-isolated splitter protects your console and fixtures from voltage spikes and ground loops travelling along the data line.
- Keep DMX away from power. Power intelligent fixtures from a supply separate from dimmer racks and audio amplifiers to reduce electrical noise on the line.
If a rig misbehaves, our DMX troubleshooting guide walks through the usual suspects.
Beyond a single universe: Art-Net and sACN
DMX512 by itself is limited to 512 channels per line. Art-Net and sACN (ANSI E1.31) carry many DMX universes over standard Ethernet, and a network node converts each universe back to physical DMX at the fixtures. This is the backbone of large modern rigs; if you are choosing between the two protocols, see Art-Net vs sACN.
DMX512 and ENTTEC
ENTTEC has built DMX hardware and software for over 20 years. The classic way for a computer to speak DMX is a USB-to-DMX interface such as the DMX USB Pro, which generates the RS-485 signalling and packet timing described above in its own dedicated microprocessor rather than relying on the computer's scheduling, driven by lighting software such as ENTTEC's own EMU (a free download, no dongle required). From there the range scales up through splitters, recorders and Ethernet nodes, every one of them producing the timing described on this page.