DMX512 is a serial protocol used to control lighting equipment like dimmers. It was developed in 1986 by the USITT and updated in 1990 and 2004. Detailed information on the standard can be found on the ESTA website.
The protocol is very straightforward; basically, it does nothing more than repeatedly sending a block of 512 bytes over a serial RS485 line. These 512 bytes, also called a universe, represent 512 different dimmer or parameter values (for example, color or gobo number). The simplicity of the protocol makes it possible to use small micro controllers to send/receive the DMX signal. One of the hardest things to get right is the bit timing; since DMX uses a 250kbit/sec speed, it is not possible to generate DMX with a standard PC serial port (apart from the speed standard, PC serial ports are RS232 and not RS485)
DMX signal timing
DMX uses a standard 8N2 byte encoding, which means 1 startbit, 8 databits and 2 stopbits. To know when a new block of 512 byte starts, a special reset sequence is transmitted. The Figure below shows how a DMX signal is built up; the gray areas indicate that these bits can be one or zero depending on the user data. (click on the image for a larger version).
DMX timing diagram
The timing for the signal, as described in the draft DMX-A specification, is shown in the following table.
Designation | Description | Transmitter | Receiver | |||||
Min | Typical | Max | Min | Typical | Max | |||
- | Bit Rate | 245 | 250 | 255 | 245 | 250 | 255 | kbits/sec |
- | Bit Time | 3.92 | 4 | 4.08 | 3.92 | 4 | 4.08 | µs |
- | Min. Update time for 513 slots | - | 22.7 | - | - | 22.7 | - | ms |
- | Max. Refresh rate for 513 slots | - | 44 | - | - | 44 | - | updates/sec |
1 | SPACE for BREAK | 92 | 176 | - | 88 | 176 | - | µs |
2 | MARK after BREAK (MAB) | 12 | - | < 1.00 | 8 | - | < 1.00 | µs s |
9 | MARK Time between slots | 0 | - | < 1.00 | 0 | - | < 1.00 | s |
10 | MARK before BREAK (MBB) | 0 | - | < 1.00 | 0 | - | < 1.00 | s |
11 | BREAK to BREAK time | 1204 | - | - 1.00 | 1196 | - | - 1.25 | µs s |
13 | DMX512 Packet | 1204 | - | - 1.00 | 1196 | - | - 1.25 | µs s |
Apart from the stricter definitions of the electrical signals and the timing of the signal, the DMX-A standard also standardized the use of the START CODE, which normally was always zero. For the exact DMX-A description, one should wait for the release of the standard. Information on the DMX-A standard can be found on the ESTA website.
DMX over Ethernet
Since Ethernet has a number of advantages over standard serial-DMX, such as multiple universes over one cable and better error detection, most lighting manufacturers offer DMX over Ethernet. The major disadvantage is that the equipment of manufacturer A can’t talk to the equipment of manufacturer B, since there is no standard way of transporting DMX over Ethernet. The only manufacturers that made their protocols public are Artistic License (Art-Net) and ENTTEC.
The ESTA recognized that problem and is working on a new protocol that should solve this problem. The ACN protocol will be able to do a lot more than plain serial DMX.