Automatic Color Wheel

This set of commands allows the DMX Engine to automatically cycle through an RGB color wheel, at a user-selectable speed. The wheel can be stopped at any time, or run indefinitely, and the DMX channels queried or an entire scene saved. This makes it easy for users to choose colors, or perhaps would allow a designer to run a rolling color cycle as a background effect, etc.

The color wheel has 512 steps total. Since the DMX Engine is generating all of the color intensities internally, the system controller (Control4, Crestron, etc) is free to perform other tasks.

Up to 20 x 3-channel RGB LED fixtures can be controlled simultaneously. This firmware release doesn’t specifically support LED fixtures which contain a ‘master intensity’ control, etc. However, those DMX channels can certainly be set on a channel-by-channel basis if needed, and then the color cycle can run on top of them. DMX channels not specifically mentioned in the RGB arrays (see below) are unaffected.

WRa,b,c,d[cr] ← Define the red array of channels, separated by commas.
WGa,b,c,d[cr] ← Define the green array of channels, separated by commas.
WBa,b,c,d[cr] ← Define the blue array of channels, separated by commas.
WTa[cr] ← Set the color wheel cycle time, in seconds.
WX[cr] ← Execute (start) the color wheel
WS[cr] ← Stop the color wheel
WC[cr] ← Clear color arrays, to allow reloading or change
W?[cr] ← Query the color system for DMX channels assigned to each color

These commands do not survive a power cycle, so they must be generated for each use. First, set an array of DMX channels corresponding to the red LEDs in each fixture. For example, assume six fixtures which are sequentially addressed. Their start addresses would be 1, 4, 7... Each fixture uses three channels, one each for red, green and blue. The arrays only need to be defined once per power cycle.


First set the red channels:

Then set the green channels:
Then set the blue channels:

Set the cycle time

Set the cycle time (for example, 12 seconds) with the command


Once this is done, the color wheel can be started and stopped with


If the color wheel needs to be applied to one group of channels, and then a second group, the array can be set, stored and then re-set:



... wait for the correct color to appear


... store or otherwise manipulate the DMX scene perhaps using the 'M' command.




... wait for the new color to appear


... store or otherwise manipulate the DMX scene