The purpose of this article is to give an overview of how the DMX protocol works and to describe a common interface. Visit our Projects page for examples of several animatronic and lighting projects. Though we have taken steps to assure the quality of information here, Brookshire Software makes no guarantees about the information presented here. Brookshire Software cannot be held liable or accountable for any use or misuse of the provided information.
The DMX512 format is a distribution/control protocol based on the electrical standard RS-485. DMX512 devices can be "daisy chained" together to form half-duplex DMX512 networks. On a DMX512 network, there is one data path that all devices must share (the DMX512 "bus"). In a typical network, a single device acts as the master device and controls all other slave devices. When using VSA v5.0 and the RAPU v5.0, the RAPU acts as the master device and can control up to 128 DMX512 slave devices. When using VSA v5.0 and the Velleman VM116/K8062 DMX-USB converter, the ENTTEC Open DMX USB, or the ENTTEC DMX USB Pro, the converters acts as the master device and can control up to 512 DMX512 slave devices. The DMX512 protocol is extremely fast (compared to serial RS-232 networks) and can easily control the maximum number of devices at the fastest frame rate. DMX512 is widely used by DJs for club lighting and complex stage lighting.
The DMX512 protocol has been employed since 1986 to control a variety of devices. Its original use was for stage lighting and light dimmer controls, but a variety of different devices have emerged. Relay devices, motor controllers, X-Y platforms, scanners, MP3 players, and a variety of other custom hardware is available on the market. The following list is a small sampling of some popular DMX512 manufacturers.
Chauvet : Makes relay, dimmer, luminary, color changer, and lighting effect DMX512 devices.
BPESolutions : Makes relay, servo, lighting, MP3, DC motor, stepper motor, digital output, DMX512 analog output DMX512 devices.
LanBox : Makes lighting and dimmer packages.
The DMX512 protocol uses the XLR style connectors (see below) to transmit RS-485 data. When running DMX512 cabling, be sure to use twisted pair wire (the differential RS-485 standard performs best with twisted pair). Also, the final unused XLR connector in a DMX512 daisy chain network should be terminated with a 120 ohm resistor (to prevent ringing and device malfunction).
Pin 1 : GROUND
Pin 2 : -DATA
Pin 3 : +DATA
The DMX512 protocol uses packets to transfer information. Each packet contains synchronization signaling followed by device data. Typically, each packet contains sufficient information to update the entire network. That is, the device data payload section contains complete information on the state of every device.
The packet begins with a break condition that must last 88us. The break is followed by a mark condition that must last at least 8us. The break and mark combine to inform all DMX512 devices that a new DMX512 packet is about to be transmitted. A "start code" follows the break and mark. The interpretation of the start code is vendor dependent, but is expected to be zero in general.
After the synchronization signaling, the actual device data payload is transmitted. As many as 512 bytes may follow; in general each device on the DMX512 network uses a single byte of information to determine, for example, how must to dim a lighting fixture. Most DMX512 devices have a programmable "start address." This start address determines which portion of the payload the unit will interpret. For example, the Chauvet DMX-4 dimmer has four channels. If the start address is set to seven, the device will read the seventh, eight, ninth, and tenth payload bytes and program the dimmer channels accordingly.
VSA is a copyright of Brookshire Software, LLC. All other products mentioned are registered trademarks or trademarks of their respective companies.
Questions or problems regarding this web site should be directed to webber@BrookshireSoftware.com.
Copyright © Brookshire Software, LLC. All rights reserved.