Most Art-Net installations are easy to program, but surprisingly difficult to leave running unattended. Once the lighting console is removed, the installation still needs something to play back Art-Net, keep audio synchronized, trigger the show and recover reliably after a restart.
That is the problem I wanted to solve with CUE/IO: a standalone Raspberry Pi show controller that records Art-Net together with optional audio and plays the complete show back without leaving the original lighting console or control computer on site.
The practical workflow: Program on the console -> record Art-Net + audio -> verify the real outputs -> calibrate the fixed delay -> choose the standalone trigger -> leave the Raspberry Pi on site.
Why I built itA lighting console or lighting application is the right tool for programming a show. It provides live control, cue editing and access to every fixture parameter.
However, once a permanent installation has been programmed and commissioned, leaving the complete console or production computer on site can be unnecessary, expensive and difficult to maintain.
A typical small installation can gradually become a collection of separate devices:
· one computer for Art-Net playback;
· another device for audio;
· a controller for a visitor button or sensor;
· a timer for daily playback;
· additional software for remote control and system monitoring.
I wanted the final installation to be simpler. The original console should still be used to create the show, but normal playback should run from a small dedicated device that can remain on site.
The ideaCUE/IO runs on a Raspberry Pi 4 or Raspberry Pi 5. It receives Art-Net through wired Ethernet and can record optional audio through a compatible USB audio interface.
The Art-Net stream and audio are stored as one prepared show. After the recording has been checked, the original lighting source can be disconnected. The Raspberry Pi becomes the standalone playback device.
Normal control is available through a local web interface, so the operator can open CUE/IO from a phone, tablet or computer connected to the same network.
A basic system needs:
· a Raspberry Pi 4 or Raspberry Pi 5;
· a reliable power supply and suitable storage;
· wired Ethernet connected to the Art-Net network;
· a lighting console or application that sends Art-Net during recording;
· Art-Net nodes or network-capable fixtures;
· an optional Linux-compatible USB audio interface when audio is required.
Optional additions include physical buttons or sensors connected through GPIO, an incoming LTC source and a DS3231 real-time clock for offline scheduling.
Important: CUE/IO is an Art-Net network recorder. It does not record a physical three-pin or five-pin DMX signal directly. A DMX-only console must first be connected through a DMX-to-Art-Net node or another suitable conversion device.
Step 1: configure audio and the Art-Net interfaceOpen CUE/IO from a phone, tablet or computer on the same local network. In Settings -> Audio, choose the input used for recording and the output used during playback, then run the output test.
A USB device appearing in the list does not prove that the complete cable, driver and signal path are ready. Test the installed audio route before the real recording.
In Settings -> Network / DMX, select the physical interface connected to the lighting network, confirm the address and subnet, and configure the required broadcast or unicast output. Wired Ethernet for Art-Net and a separate management interface can keep show traffic predictable while retaining convenient browser control.
Open Monitor -> Live DMX, select the expected universe and move a known fader or run a short cue. The monitor shows the selected channel, all 512 values, active channels, packet count, signal-source information and recent packet details.
A changing graph confirms that data is reaching the Raspberry Pi. Do not use the recording itself as the first signal test. If the monitor receives no universe, resolve the interface, address, subnet, universe or console-output configuration before pressing Record.
Step 3: record Art-Net and audio together
Open Control, select RECORD and enter a clear show name. I prefer names that include the project, scene and version, for example Museum_Opening_v03.
Audio can be enabled or disabled for each recording. CUE/IO provides three practical recording start methods:
1. Start immediately - recording begins when the Start Recording button is pressed.
2. Wait for the first DMX packet - CUE/IO arms the session and starts when the first Art-Net packet arrives.
3. Start and stop from an Art-Net channel - a selected universe and DMX channel can control recording from the lighting console.
During recording, the interface shows duration, incoming universes, packet rate, audio status, file size and available storage. After the final cue, stop the recording normally and allow processing to finish before changing mode, restarting or removing power.
After recording, switch to PLAYER and select the saved show. The Player displays show duration, recorded universe count, audio status and waveform. Playback volume, mute, repeat and stop controls are available from the same interface.
The first test should be performed while the original lighting console is still available. Compare the recorded version with the original programmed sequence and check:
· the opening cue;
· several transitions during the show;
· audio playback;
· the final lighting state;
· any loop or repeat point.
The recording should then be tested through the complete installed path: Raspberry Pi, network switch, Art-Net node, fixtures, USB audio interface, audio processor, amplifier and speakers. Only after this test is successful should the original console be removed from normal playback operation.
Audio synchronization
Recording Art-Net and audio during the same session keeps both data types on one prepared timeline. However, the physical lighting and audio systems can still react at slightly different times.
Latency can be introduced by:
· USB audio buffering;
· a digital audio processor;
· an amplifier or loudspeaker system;
· the Ethernet network and switch;
· an Art-Net node;
· fixture electronics, movement or dimmer response.
CUE/IO provides a DMX playback offset for correcting a consistent difference between the audible and visible outputs:
· 0 ms preserves the recorded timing;
· a positive value sends DMX later;
· a negative value sends DMX earlier.
For example, when the light flash appears approximately 350 ms after the sound, a starting value near -350 ms sends the lighting data earlier. The value can then be adjusted in smaller steps until the physical light and sound appear synchronized.
The built-in calibration test produces four audio beeps and DMX pulses. A safe test universe should be selected because the test temporarily sends full values to all channels in that universe. Audio volume should also be reduced before beginning calibration.
Fixed delay or synchronization drift?
A delay that remains identical from the beginning to the end of a show is normally a fixed-latency problem. A difference that changes during playback is synchronization drift and may indicate dropped packets, unstable audio hardware, excessive system load, a damaged recording or a changing network path.
Drift should not be hidden by continually increasing the offset. Check Status, inspect the physical network and run the benchmark instead.
Making it truly standaloneOnce the show has been recorded, tested and synchronized, it can be started in several ways. The trigger should match the operator, installation and recovery plan.
GPIO button or sensor
Up to four Raspberry Pi GPIO inputs can be assigned to supported show actions. A show can start from a visitor button, motion sensor, door contact, switch or an electrically isolated relay output from another control system.
GPIO inputs can include active HIGH or LOW behaviour, debounce and protection against restarting a show while it is already playing.
Electrical safety: Raspberry Pi GPIO operates at 3.3 V. A 5 V or 12 V signal must never be connected directly to a GPIO pin. External systems should use a suitable isolated relay, optocoupler or correctly designed interface circuit.
Scheduler and RTCThe Scheduler can start shows on a specific date, every day, selected weekdays, workdays or weekends. A schedule can define a start time, end time or playback duration, and the show can repeat during the scheduled interval.
For installations that must retain accurate time without internet, an optional DS3231 real-time clock can be used. Before handover, confirm the current time, time zone, RTC status and displayed next action.
Incoming LTC
CUE/IO can receive LTC and start prepared shows at configured timecode cues. This is useful when another media server, playback system or central show controller provides the master time reference.
CUE/IO receives LTC; it does not generate LTC. If the system comes online after a cue has already begun, it waits for the next configured cue instead of jumping into the middle of a show.
Autoplay and Show SequenceFor automatic operation after power-up, a sequence can be prepared such as Power On -> optional Warmup -> Wait -> Main Show -> optional Loop -> safe Finish. The Raspberry Pi can then return to the intended operating state after a restart without requiring an operator to open the browser interface.
Example: an interactive museum installationA visitor presses a physical button. The button activates an isolated GPIO input, CUE/IO starts the selected Art-Net show and its synchronized soundtrack, and additional button presses can be ignored while playback is active. When the show finishes, the system returns to its waiting state and is ready for the next visitor.
Files, backup and synchronized trimmingRecorded shows can be renamed, duplicated, imported, exported and downloaded. The trimming workflow previews a selected segment through the physical Art-Net and audio outputs, creates a backup and trims both data types to the same boundaries.
Keeping an exported copy of the commissioned show away from the Raspberry Pi makes replacement and recovery much easier.
Status and diagnostics
Standalone playback needs more than a Play button. CUE/IO exposes CPU usage, RAM, temperature, disk space, uptime, active universes, packet activity, dropped packets, sequence errors, audio status, current mode and the last visible error.
These details are more useful for support than a general report that the lights did not work. Record the exact local time, active mode, show name and visible error when diagnosing a problem.
Benchmark and capacity
The practical universe count depends on the Raspberry Pi model, storage, audio device, frame rate, temperature and network configuration. CUE/IO therefore includes a benchmark that tests progressively higher universe levels and checks packet integrity, audio errors and system headroom.
The result is an estimate for that exact device and configuration. The external Ethernet path - console, switches, cables, nodes and fixtures - must still be tested separately under real operating conditions.
A permanent installation is easier to maintain when the operator can find the setup, recording, playback, network and troubleshooting information without needing Linux knowledge. CUE/IO includes a searchable documentation centre and a shorter quick-start Help page inside the local interface.
Where this workflow fits
· Museums and exhibitions: start narration and lighting from a visitor button or sensor, then return to an idle state.
· Architectural facades and showrooms: schedule the installed sequence and recover automatically after power returns.
· Seasonal displays: loop during opening hours and retain a verified backup.
· Escape rooms and attractions: use debounce and ignore-while-playing rules to prevent repeated restarts.
· Venue or touring backup: keep a tested local copy of a critical Art-Net and audio sequence.
Commissioning checklist1. Confirm incoming Art-Net in Monitor and make one short test recording with audio.
2. Replay through the real fixtures, node, audio processor, amplifier and speakers.
3. Correct fixed latency, then inspect the beginning, middle, end and loop point.
4. Run the benchmark and separately test the external switch, cables, nodes and fixtures.
5. Test GPIO, schedule, incoming LTC or autoplay, then perform a planned power-cycle test.
6. Confirm time, time zone, RTC status and the Scheduler next action.
7. Export a backup and document the safe shutdown and restart procedure.
ConclusionThe goal is not to replace the lighting console during programming. It is to separate creative programming from repeatable installation playback.
The console remains the programming tool. CUE/IO captures the approved output and moves normal playback to a compact Raspberry Pi that can stay with the installation.
Program with the tools you already know. Record once. Calibrate once. Run the show without leaving the console connected.
Try CUE/IOThe public interactive demo allows a buyer or installer to inspect Control, Files, Scheduler, Status, Monitor, Benchmark, Settings, Documentation and Help before installing anything on a Raspberry Pi.
At the time this document was prepared, the launch price was EUR 30 for one perpetual Raspberry Pi device licence with no subscription. Internet is required for initial activation; normal recording, local browser control and playback can then operate on the local network.
Product: https://cueio.app/
Interactive demo: https://cueio.app/demo/
Documentation: https://cueio.app/docs/





Comments