1 DMX-512 Protocol

A DMX-512 system consists of a universe which is comprised of 512 channels. Each channel can have any value between 0-255. A DMX packet mainly consists of a burst of data (up to 512 data bytes). The position of the byte in the data stream determines which device in the DMX universe will respond to it. This protocol has a fixed baud rate of 250,000 bits per second. The data format for the protocol is defined as one start bit, eight data bits (LSb first), two stop bits and no parity bit.

As a DMX controller, the device is supposed to send a start code before the 512 data bytes. These framed bytes are commonly known as slots. The first frame, which consists of the start code, is called slot 0 and the next frame is slot 1 and so on until slot 512.

Tip: The start code is usually ‘0x00’ for normal operation. Alternate start codes can be used to perform other enhanced functionality. Refer to the DMX specification for more detail about alternate start code implementations.

In a DMX universe, all the slave devices are connected in a daisy chain. Each slave device has a “DMX IN” connector and a “DMX OUT” connector. The controller (master) device usually has just a “DMX OUT” connector. A terminator is specified in the DMX specification that is to be connected to the final “DMX OUT”. Refer to the figure below for a basic block diagram of a DMX universe.

Figure 1-1. Block Diagram of a DMX Universe

DMX protocol data is transmitted over a differential pair of lines using the RS-485 voltage levels. The DMX specification mentions that XLR-5 type connectors are to be used for the system connections. Refer to the DMX specification for more detail about cabling and other electrical parameters.

Tip: The specification documents for the DMX protocol and the cabling requirements can be found on the ESTA Technical Standards Program website.