Connecting physical lighting equipment, DMX dongles, and hardware controllers to Unilighter is straightforward. Unilighter communicates directly with hardware through your web browser or the Unilighter Desktop app without requiring complex background server setups.

---

## 🔌 Supported DMX Interfaces

Unilighter works with popular USB and wireless DMX interfaces.

### 1. USB DMX Interfaces

| Interface Type | Recommended Devices & Specifications | Technical Stability | Description |
| :--- | :--- | :--- | :--- |
| **uDMX Interfaces** *(Recommended)* | • [Any-Ma uDMX Official Project](http://www.anyma.ch/research/udmx/)<br>• [Search uDMX Dongles on Google](https://www.google.com/search?q=uDMX+USB+DMX512+interface) | ⭐⭐⭐⭐⭐ **High Stability** (Hardware Buffer) | **Recommended Choice**: uDMX features built-in microcontroller memory ("onboard brains") that independently handles DMX frame generation. Even if your computer experiences CPU spikes or momentary system lag during a live show, the uDMX interface continues outputting a smooth, steady DMX signal so your lights never flicker. |
| **FTDI USB to DMX Cables** | • [FTDI Chip USB-RS485 Specifications](https://ftdichip.com/products/cables/usbrs485/)<br>• [Enttec Open DMX USB Official Page](https://www.enttec.com/product/lighting-communication-protocols/dmx512/open-dmx-usb/)<br>• [Search FTDI DMX Cables on Google](https://www.google.com/search?q=FTDI+USB+to+DMX512+cable) | ⭐⭐⭐ Fair (Host-Driven) | Standard FTDI-based USB-to-DMX cables rely on your computer's CPU to stream every DMX frame in real time. If the host computer lags or freezes, DMX frame transmission may pause, which can cause lights to briefly flicker or drop signal. |

> [!TIP]
> We recommend choosing a **uDMX** interface over a basic FTDI cable for hardware-level signal stability.

---

### 🛠️ OS Troubleshooting & Driver Setup

#### 🪟 Windows Users: uDMX Driver Installation
If your **uDMX** interface is not detected automatically on Windows out of the box:
1. You may need to install the [uDMX USB driver (WinUSB)](https://www.illutzmination.de/fileadmin/download/uDMX_Driver_WinUSB.zip).
2. Plug in your uDMX interface, run the driver installer, and restart your browser or Unilighter Desktop app.

#### 🐧 Linux Users: Releasing FTDI Interface (`ftdi_sio`)
On Linux systems, the kernel may automatically claim FTDI USB devices as serial COM ports (`/dev/ttyUSB0`), preventing Unilighter from taking direct control of the interface.

- **To temporarily release the FTDI driver**, open your terminal and run:
  ```bash
  sudo rmmod ftdi_sio
  ```
  *(Alternative command: `sudo modprobe -r ftdi_sio`)*

---

## 📱 Mobile USB OTG Setup

You can also control your entire lighting show directly from an **Android smartphone**:

1. Connect your USB DMX cable to your Android phone using a [USB OTG Adapter](https://www.google.com/search?q=android+otg+adapter) (USB-C or Micro-USB to USB-A).
2. Open Unilighter in Chrome for Android.
3. Tap **Allow** when Android asks for permission to access the USB device.
4. Your phone is now sending live DMX512 signals directly to your lights!

Tested devices: uDMX

---

## 🎛️ Tactile MIDI Controllers

Unilighter natively supports standard MIDI controllers (connected via USB or Bluetooth MIDI) for hands-on physical fader, knob, and button control.

### Tested & Supported Hardware Models:
- **M-VAVE SMC Mixer**: Compact USB & Bluetooth MIDI controller — [Search M-VAVE SMC Mixer on Google](https://www.google.com/search?q=M-VAVE+SMC+Mixer+MIDI)
- **WORLDE EasyControl.9**: Ultra-portable USB fader bank & transport controller — [Search WORLDE EasyControl.9 on Google](https://www.google.com/search?q=WORLDE+EasyControl.9+MIDI)
- **Universal Compatibility**: Any class-compliant USB or Bluetooth MIDI controller (Akai, Korg, Novation, Behringer, etc.).

### Setting Up Your Controller:
1. Connect your MIDI device via USB or pair your Bluetooth MIDI controller in your operating system settings.
2. In Unilighter, click the **Assign Control** button in the top navigation bar ![Assign Control](https://unilighter.cc/info/docs/hardware-compatibility/button_assign_mode_1d092979.png).
3. In Assign Mode, click on any fader, knob, or cue button, click **Learn**, and touch the physical controller button/fader/knob.
4. Click the **Assign Control** button again to return to normal operating mode.

> [!TIP]
> For complete instructions on MIDI Learn, Encoder modes, Keyboard shortcuts, and the Global Bindings Manager, read the full **[Assign Mode & Controller Mapping Guide](https://unilighter.cc/info/for-ai/docs/bindings.md)**.

---

## 🌐 Network DMX (Art-Net & sACN)

Unilighter features native support for professional Ethernet- and Wi-Fi-based network DMX protocols via the **Unilighter Desktop** app. This allows high-density multi-universe routing directly to stage nodes, gateways, and media servers over standard Local Area Networks.

![Network Output Settings](https://unilighter.cc/info/docs/hardware-compatibility/modal_network_output_c0216a2b.png)

### 1. Supported Network Protocols

| Feature | 📡 Art-Net (Art-Net 4 DMX) | 📶 sACN (ANSI E1.31) |
| :--- | :--- | :--- |
| **Standard Port** | UDP `6454` | UDP `5568` |
| **Universe Range** | `0` to `32,767` (Sub-Net / Net mapping) | `1` to `63,999` |
| **Addressing** | Broadcast (`255.255.255.255`) or Directed Unicast | Standard Multicast (`239.255.<hi>.<lo>`) or Unicast |
| **Priority Handling** | Timestamp & sequence counter | Native Stream Priority (`0` to `200`, default `100`) |
| **Identification** | Art-Net Header & OEM identification | Unique CID UUID & Source Name (`Unilighter`) |
| **Target Hardware** | Enttec ODE, DMXKing eDMX, Obsidian Netron, Chauvet, ESP32 nodes | ETC Net3 / Response Gateways, Pathway, Luminex, grandMA nodes |

---

### 2. High-Performance Output Architecture

The network DMX subsystem in Unilighter Desktop is built on a high-efficiency native UDP streaming engine:

- **Socket Pooling**: Multiple virtual universes share a single native UDP socket per destination configuration, drastically minimizing operating system socket overhead.
- **Multi-NIC Adapter Binding**: Bind output traffic to specific network interface controllers (e.g. `10.0.0.1` or `192.168.1.50`) to strictly isolate lighting data from corporate or guest Wi-Fi networks.
- **Adaptive Frame Rate Synchronization**: Network transmission automatically tracks the project framerate, clamping active streaming between 15 Hz and 44 Hz to prevent network congestion.
- **Coalesced Channel Streaming**: Output buffers aggregate real-time channel adjustments and transmit optimized binary frames.
- **800 ms Idle Keep-Alive**: When show output remains static, the engine sends periodic keep-alive frames every 800 ms to ensure network DMX nodes and fixture buffers never drop signal or enter blackout.
- **Zero Background Daemons**: No external bridge software, OLA daemons, or separate background services are required.

---

### 3. How to Connect Network DMX

1. Launch **Unilighter Desktop** on Linux, macOS, or Windows.
2. Navigate to the **Setup** screen (`/#/setup`).
3. In the **Universes** card, locate the target universe and click **Connect Output**.
4. Select **Art-Net** or **sACN** from the connection type modal.
5. In the configuration dialog:
   - **Protocol Universe**: Enter the destination DMX universe number (`0`+ for Art-Net, `1`+ for sACN).
   - **Destination IP**: Enter a specific unicast receiver IP, or leave blank to use the standard default (`255.255.255.255` broadcast for Art-Net, or multicast for sACN).
   - **Bind IP**: Optional network interface IP (`0.0.0.0` for all adapters, or your lighting network adapter IP).
   - **Priority** *(sACN only)*: Set the stream priority (`0` to `200`). A higher priority allows Unilighter to seamlessly override other consoles on shared lighting networks.
6. Click **Save**. The universe is now live on your lighting network!

> [!NOTE]
> **Browser vs. Desktop Runtime**: While USB interfaces (uDMX, FTDI) and Bluetooth (BLDMX) can be accessed directly from Web browsers via WebUSB and Web Bluetooth, raw UDP network sockets are restricted by web security models. Art-Net and sACN require the **Unilighter Desktop** application.

