DMX512 is a serial communication protocol that sends data in the form of a packet. Each packet is a set of data bytes that are interpreted by devices daisy-chained across the network, typically lighting fixtures or effect units such as foggers or air cannons.
In the diagram below we have a DMX controller (typically a lighting control board with faders and buttons, but we'll later use a microcontroller in this role) connected to a DMX fixture via an XLR cable.
- Fixture 1 uses DMX channels 1-4 to control brightness, red, green, and blue
- Fixture 2 uses eight channels, starting at channel 17, this could be a more sophisticated fixture with pan/tilt motors, RGBW lights, and motorized gobos and filters
- we can go all the way up to channel 511
- the final fixture requires a 120Ω resistor across the data pair, this is typically integrated into the fixture itself when no cable is plugged at the output. Otherwise a terminator plug can be used
Wiring
These devices receive data via a 3-pin or 5-pin XLR connector and then send the data along to the next fixture in the chain.
Channels
DMX devices listen on specific channels (usually user configured) and respond to data sent over those channels. For example, an RGB light fixture may be set to listen to:
- Channel 1 Brightness
- Channel 2 Red
- Channel 3 Green
- Channel 4 Blue
- Channel 5 Strobe
The second light in the chain may be set to:
- Channel 17 Brightness
- Channel 18 Red
- Channel 19 Green
- Channel 20 Blue
- Channel 21 Strobe
You can see here that many channels have been skipped simply to meet with a typical convention of DMX control boxes having a bank of 16 faders, so the ergonomics of holding a modification key to flip between the channels makes certain numbering schemes make more sense than others.
Range: Each DMX channel can handle values from 0 to 255, which means it can be used to control things like brightness, color, or effects with reasonable granularity.
Need more than 512 channels or some better organization of your topology? DMX supports multiple "universes" of 512 channels, it's just up to the controller to support these separate networks.
Text editor powered by tinymce.