From device to lighting desk
A lighting control panel connects the operator’s intentions to the behaviour of the fixtures: select a group, prepare a colour, position a moving head, recall a scene and run a show. The application becomes part of the device, with its own display, inputs, connections and operating requirements.
SLX StagePilot is a Linux touch console for programming and running DMX shows. Developed by Silicon LogiX, it runs on Compute Module 4 and communicates with the PC application over Ethernet. Operator controls, show programming and control protocols work together in an application built for dedicated hardware.
The application includes fixture selection, a Programmer, scenes, cues, chasers, palettes and a Timeline editor. The PC side is covered in the article on DMX software and 3D simulation. Shared data contracts make it possible to follow the complete path from a touch command to the received channel levels.
The embedded platform
The controller uses a Raspberry Pi Compute Module 4 with 1 GB RAM and 8 GB eMMC on the official IO Board. The HDMI display operates at 1024 × 600 pixels, with touch input over USB. The carrier’s Ethernet port provides the connection to the PC.
Buildroot assembles the system, which starts the services and LVGL interface directly. The GUI uses the native graphics path without a desktop environment or browser. The system filesystem is read-only; shows and other writable data have a separate persistent area.
Integrating a compute module also means working with the carrier, power supply, display connections, touch controller, serial interfaces, isolation and startup behaviour. The application is developed alongside board support and verification of the actual peripherals.
The StagePilot LVGL interface keeps the banks, Grand Master and playback controls recognisable while navigating. Capture of the native application used on the controller; operator labels are in Italian.
An operator’s control panel
The Home page presents fixture banks by category. Tapping SPOT or WASH opens the corresponding fixtures; selecting one fixture, several fixtures or the whole group defines which devices a change affects. Intensity, colour, position and beam controls are organised by function and fixture profile.
Pan/Tilt opens a dedicated pad with a visible cursor and coordinates, keeping the control gesture separate from page scrolling. Colour and discrete parameters use editors suited to the operation. Gobo and prism selections use buttons, while numeric fields support precise values.
Navigation preserves the current task. While preparing a clip, the operator can visit the fixtures and return to the same editor with its name and timing intact. Capturing a look gives a different acknowledgement from saving the show file. Error messages and destructive-action confirmations preserve enough context to correct or cancel the operation.
Engine, interface and outputs
The control service is separate from the HMI. It holds the show state, applies validated commands, calculates playback and effects, and updates the levels sent to the selected transport. The interface presents state and collects input; the engine continues running while the operator changes pages.
Over Ethernet, the control cycle updates the universe at 40 Hz. Serial transmission has a dedicated worker configured for 30 Hz. Engine frequency, video frame rate and the actual electrical frame rate on the cable are different measurements. An adapter’s physical output needs its own timing verification.
The HMI sends commands to the service. The selected transport carries the levels to the Ethernet receiver or the physical interface specified for the product.
Responses are associated with the action that generated them. A rejected change, successful save or unavailable connection can be handled without inserting network waits into the touch gesture. Rendering updates focus on elements that changed, reducing unnecessary work when the page is idle.
How DMX512 works
DMX512 organises control into universes with up to 512 data slots. Each slot carries an 8-bit value from 0 to 255. Its meaning comes from the fixture personality: a slot might represent intensity, red, beam angle or an effect selection.
The serial transport normally uses a differential EIA-485 line at 250 kbit/s. A packet contains a Break, Mark After Break, START Code and data. The start code identifies the type of content; ordinary lighting levels use the null start code. The standards are linked in the technical references.
With 8N2 framing, a character contains one start bit, eight data bits and two stop bits: 11 bits per character. At 250 kbit/s, each character takes 44 microseconds. A START Code followed by 512 slots therefore takes 513 × 44 µs, approximately 22.6 milliseconds, plus packet delimiter timing. A full universe can consequently approach 44 updates per second. The slot count does not determine how many fixtures are connected.
Transmission time grows with the number of slots. The byte carries a level; the fixture profile defines what that level means.
An RS485 converter provides the electrical interface. The software must also manage framing, Break, packet delimiters and continuous output. The FT2232HL adapter backend has been implemented and checked at software level. Electrical and timing qualification on the physical converter is still part of the hardware validation work.
Addresses and 16-bit parameters
A fixture’s DMX address is the first slot it reads. A moving head starting at channel 101 with a 20-channel personality occupies 101–120; the next fixture can start at 121. The patch needs the address, channel footprint and meaning of every slot.
Parameters such as Pan and Tilt can use two slots, coarse and fine, as defined by the manufacturer’s personality. Their combined value is coarse × 256 + fine: bytes 128 and 0 produce 32768 out of 65535. The profile maps this value to the parameter’s range, for example degrees. Digital resolution and the fixture’s mechanical accuracy remain separate properties.
StagePilot uses SLX virtual profiles and validates channel ranges and occupancy. For a commercial fixture, the mode selected on the device must match the controller personality exactly. Defining the profile is therefore part of the technical integration.
Ethernet, discovery and RDM
Art-Net and sACN carry DMX levels over IP. A node can receive a universe over Ethernet and regenerate serial DMX; a PC application can use the same levels for visualisation. In StagePilot, U1 maps to Art-Net Port-Address 0 and sACN universe 1. This mapping needs checking when combining products with different numbering conventions.
The console’s Art-Net discovery sends ArtPoll and reads node replies. IP addresses, ports and reported universes help configure the destination. Finding the individual fixtures on the downstream DMX line requires a separate device-management path.
RDM, Remote Device Management, adds half-duplex, bidirectional communication to the DMX link. Compatible devices can be queried, configured and diagnosed. StagePilot discovers Ethernet nodes; fixture addresses and personalities are configured in the patch. Fixture discovery and configuration over RDM require a dedicated implementation, which is not currently included.
Scenes and sequences over time
A scene stores a look; a cue adds execution rules; a chaser runs an ordered sequence of scenes at a set pace. The Timeline arranges clips on tracks associated with fixtures and parameters, with fades, markers, Mute, Solo and looping. The project supports up to 16 tracks, 256 clips and 128 markers using an internal clock.
Tracks make the participating fixtures and parameters explicit. Show playback and file saving remain separate, recognisable actions. Capture of the original Italian interface.
Groups and palettes speed up repeated work. Blind allows values to be prepared in the Programmer without applying them to the output. Fan distributes a parameter across compatible selected fixtures. Grand Master, Blackout and the operator lock are part of the playback surface.
Show control also needs a defined response to connection loss, restart and stale data. The virtual laser, CO₂, confetti and curtain effects support software verification. Real actuators need their own integration and safety functions; DMX Blackout changes levels and does not replace an emergency-stop chain.
Development for custom devices
Hardware verification has taken the console from eMMC boot through working display and touch input to Art-Net frames received on the PC. Software checks cover patching, capture, navigation, saving and playback. Validation is extended to the hardware and fixtures specified for the customer’s installation.
Silicon LogiX develops the application around the product: controls, display, peripherals, protocols, data formats, diagnostics and maintenance. Whether the device is a console panel, a built-in interface, an installation controller or a service tool, development starts with the hardware, the devices to be controlled and the expected operating behaviour.
Universe count, fixture personalities, external inputs, synchronisation, operator roles and updates are defined with the customer. These requirements shape the application and its validation plan, through to checks on the target device and installation.
Discuss your device and DMX control requirements
Technical references
- Raspberry Pi: Compute Module 4.
- Buildroot and LVGL.
- ESTA Technical Standards Program: DMX512-A and sACN.
- Art-Net 4 specification.
- RDM Protocol: operation and resources.
Art-Net™ Designed by and Copyright Artistic Licence Engineering Ltd.
Originally published on Silicon LogiX.




Top comments (0)