Address: No.2 Sanheng Road, Dabu Road, Qinghu Village, Junhe Street, Baiyun District, Guangzhou City
How to Program a DMX Lighting Controller: Step-by-Step

If you are looking for a straightforward explanation of how to program DMX controller equipment, start by separating the two parts of the job: preparing the DMX data path and fixture addresses, then teaching the controller which channels to operate. The first part is nearly identical for every DMX512 rig. The second part changes from one console to another, but the logic behind scenes, chases, and line-by-line control stays the same.
The DMX basics you need before programming
A DMX512 universe contains 512 control channels. Each channel carries a value between 0 and 255. Every fixture with a DMX input occupies a block of consecutive channels, called its footprint or channel mode. If a moving head uses 18 channels, it needs 18 consecutive DMX slots. The first of those slots is the fixture’s start address.
Before you touch the controller, you need three documents: the DMX channel charts for every fixture type, the cable path from the console to each fixture, and a list of which physical fixture should sit on which start address. Without that list, you are programming blind.
How to program DMX controller addresses across a complete rig
Addressing a fixture is not controller programming in the strict sense, but it is the step that makes every later step reliable. A controller sends data to all connected fixtures. Each fixture reads only the channels beginning at its start address. Your job is to give every fixture a unique, non-overlapping address block.
- Power down the console and fixtures before touching dip switches or data cables.
- Set the start address on each fixture through its display menu or dip switches. Some fixtures use RDM, which allows address changes from a compatible console, but direct menu setup still works on the widest range of equipment.
- Write the assigned address on a label on the fixture or in the show file. In a rental rig, that label saves hours.
- Daisy-chain fixtures from the console to the next fixture, not in a star topology. DMX is not Ethernet.
- Place a terminator in the DMX output of the last fixture, especially on cable runs longer than your shortest local cable test.
If you are working with a console that uses fixture profiles rather than raw channel control, the profile tells the controller the channel footprint of each fixture. When you assign a fixture profile, match it to the fixture’s selected DMX mode. A profile intended for a 16-channel mode will scramble the output of a fixture running in a 14-channel mode. A look at the DMX console product range will show how differently universal and profile-based boards are organised, so read the manual before recording anything.
Setting up channel values, scenes and chases
On most DMX consoles, you create a scene by setting channel levels and then storing that snapshot into a memory. The control surface may be faders, encoder wheels, touch screens or a keyboard, but the concept is identical.
Take a simple RGB par as an example. In a 6-channel mode, channels one to six are often assigned to dimmer, strobe, red, blue, green, and maybe a second dimmer or special function. You do not need to know the exact meaning of every channel by heart, but you do need to know the value ranges.
| Function | DMX value | Result |
|---|---|---|
| Dimmer | 0 to 255 | Output dims from off to full intensity |
| Strobe | 0 to 5 off; 6 to 255 slow to fast | Frequency increases as the value rises |
| Red / green / blue | 0 to 255 per color | A value of 255 gives full color intensity |
To store a scene, put the fixture’s start address into programmer mode or select the fixture group, move the faders or encoders to the required values, and press the store or record button on a scene number. Repeat for every scene you need. A chase is a sequence of scenes running in order. On many consoles you can also adjust the timing of each chase step, including fade time and dwell time.
How to program DMX controller when using moving heads
Moving heads add position and beam control channels to the same addressing logic. A common moving head mode includes pan, pan fine, tilt, tilt fine, dimmer, strobe, color, gobo, focus, zoom and prism channels. The two fine channels are used in 16-bit mode; that is what allows smooth, slow movements without visible stepping.
When you program a moving head scene, set the position channels first. Flick the fixture into manual or programmer mode, move the pan and tilt to the wanted angle, then adjust the beam parameters such as color and gobo. This order matters because pan and tilt values change the framing, while color and gobo only change what you see within that framing.
If your rig contains LED moving head lights, read their mode table before programming. Some modes pack color mixing into one channel by using a preprogrammed color macros list, while others expose red, green, blue and white on separate channels. Selecting the wrong mode means a scene may look correct on one fixture and completely different on the next identical one.
Common mistakes during DMX programming
- Assigning overlapping start addresses. Two fixtures that share channels will respond as a group, which is only useful when you intend that behaviour.
- Forgetting to power-cycle the fixture after changing the channel mode. Many fixtures read the mode only when they restart.
- Recording a scene with a channel in the programmer but not active in the current view, creating invisible values that later overrule the dimmer or position channel.
- Using a 20-meter cable run without a buffer or terminator, then wondering why fixtures drop out at random moments.
- Relying on the visual value instead of reading the DMX chart. A color wheel position at value 50 might be transparent or black, not a soft yellow.
Testing and troubleshooting your DMX program
After you record scenes, test in a specific sequence. Start with a blackout, then manually raise the dimmer of each fixture one at a time. A fixture that responds in manual mode but not in a scene usually means the scene does not include a dimmer value or the fixture’s profile has a different dimmer channel location.
Then test position moves with pan and tilt at slow speed. Look for flicker or jitter. If you see stepping, you are probably not using the fine channels. In most consoles, the fine channel is controlled by the same encoder bank as its coarse channel, and you simply adjust it after setting the coarse value.
Finally, run every chase step at the speed you plan to use during the show. Chases that look smooth at 0.2 seconds per step may feel wrong at 0.8 seconds. The DMX values are the same; the timing is part of the program.
Frequently asked questions
Do I need a DMX terminator on a short chain?
A DMX chain of two or three fixtures over a few meters usually runs without a terminator. The DMX512 specification recommends a 120 ohm resistor between signal pins 2 and 3 at the end of the chain to reduce signal reflections. If a fixture intermittently ignors a palette, channel by channel, adding the terminator is the fastest way to eliminate that cause.
Why does a moving head drift between scenes?
This is usually a coarse and fine channel problem. If you record only the coarse pan and tilt values, tiny differences in the fine channels will round up or down when the fixture receives a new value. Set both coarse and fine channels for every programmed position, or use a controller that makes 16-bit positioning automatic.
Can two identical fixtures share one address?
Yes, if you want them to move and change color together. This is common for truss pairs or symmetrically hung wash lights. For more complex group control, use a console that lets you select multiple fixtures and store them in a group. That way you still address each fixture separately, but you can operate them as one unit during programming.
Before you start a new lighting project, spend ten minutes with the DMX charts of every fixture type and a clean addressing plan. That preparation makes the rest of the programming session feel like filling in the blanks rather than chasing a data fault. When you need help matching a console to your fixture list or reviewing a show file, contact YC Light and describe the rig you are working with.

