You know what's easier than learning free DMX controller software?
Writing DMX controller software.
A professional DMX lighting controller built with React, TypeScript, Rust, and Tauri. Control your lighting fixtures with precision using a modern, cross-platform application.
Performance Modes:
- Live Mode: Tile-based grid interface for triggering effects in real-time
Output Protocols:
- Serial DMX: USB-DMX adapters via native serial port
- sACN/E1.31: Network DMX with support for unlimited universes
- WLED: Direct control of addressable LED strips and fixtures
Effect System:
- Static effects for fixed states
- Ramp effects for smooth transitions
- Strobe effects for dynamic flashing
- Random effects for organic movement
- Sequence effects for programmed patterns
- Preset effects:
- Rainbow: HSV-based rainbow color cycle
- Circle: Circular pan/tilt movements
Fixture Management:
- GDTF fixture profile import
- Custom fixture profile creation
- Fixture grouping for synchronized control
- 512-channel DMX universe support per output
Beat Synchronization:
- Manual BPM and first beat configuration
- Tap tempo for manual sync
- Beat-synchronized effect timing
Controller Integration:
- MIDI controller support
- Configurable controller bindings
- Real-time controller feedback
Project Management:
- Binary protobuf serialization for efficient storage
- Undo/redo stack (max 100 operations)
- Import/export project files
Native support for USB-DMX adapters. Connect any standard DMX USB interface to your computer and configure it in the Patch page.
Network DMX support with no additional hardware required. Configure your sACN receiver's IP address and universe number in the Patch page.
Control WLED-compatible addressable LED devices over your network. Configure the WLED device IP address in the Patch page.
pnpm installpnpm run tauri:devFor iOS development:
pnpm run tauri:iospnpm run buildThe build output will be in the dist/ directory.
For frontend development with hot reload:
pnpm run devThis starts the Vite development server on https://localhost:8080. The Tauri app can connect to this dev server for faster iteration.
See CLAUDE.md for comprehensive development documentation including:
- Architecture overview
- Build system details
- Key files and components
- Code style guidelines
- Development workflow recommendations
pnpm run testRuns both Jest tests for TypeScript and Cargo tests for Rust.
pnpm run cleanupRuns linters (ESLint, Clippy, Knip) and Prettier formatting.
For AI-assisted development, see CLAUDE.md which provides guidance for Claude Code when working with this repository.