USB DMX Interface

The uDMX is an open source (GPL v2 licensed) USB to DMX interface for controlling professional lighting equipment. It is based on an Atmel Mega8 microcontroller, and is compatible with many lighting control programs. An ArtNet server is also available.

The original is small enough to fit into an XLR connector, but does not provide a galvanically isolated output, nor the option of an additional power supply or USB socket for connecting cables of the required length. The schematic of ilLU[TZ]minator was used as a reference for the galvanic isolation, but it was modified a bit and extended by an external power supply.

Picture: uDMX in housing

The board measures 100x100mm and is designed to be mounted in a robust aluminum case from Reichelt. To meet the USB bus specifications the microcontroller is powered with 3.3 Volt. Power is supplied either via USB, or if a power supply (9 to 12 volts) is connected, from the power supply.

Picture: uDMX board bottom side

Resistors and capacitors are mounted as SMD 1206 components on the bottom side.

For galvanic isolation the supply voltage of the RS485 bus driver module is generated by a DC-DC converter. The data signal is isolated by a high speed optocoupler (6N137). This protects the USB port on the computer in case of installation errors in the lighting system. The obsolete SN75176 bus driver has been replaced by the pin compatible MAX485. This consumes much less power, thus reducing the load on the host computer. The current layout has also been enhanced with TVS diodes on the USB port and DC input for maximum protection.

Picture: Schematic

By using the AVR V-USB stack and LibUSB an operating system independent operation of the interface is possible. On Windows I prefer to use FreestylerDMX. I was able to test the driver on Windows XP, Vista and Windows 7 without any problems. On Unix based operating systems the LibUSB is directly integrated in the kernel.

Update: Using Vista x64 or Windows 7 x64 requires signed drivers. But this is no longer a problem: libusb-win is directly signed from version 1.20 on. An updated driver is available for download on the last page.

On Linux you can use MagicQ from Chamsys or QLC. Other operating systems or applications can be used with the ArtNet Server.

I had to adapt the firmware source codes a bit, because older or not fully DMX compliant devices have problems with missing pauses between channel bytes (interbyte gap). The official specification does not define a length, but when malfunctions occur there is no way to get around it. This affects the Eurolite TS-5 scanner or Coemar CF-1200 moving heads among others. The modified timings are fixed from my version 1.2a on and have proven to be good in various tests. In my current version 1.2b I also added a detection if the interface is powered externally. The device then reports itself as host- or selfpowered. This also required a small circuit change and a patched V-USB stack.

Picture: Case


Current version 1.2b - DC IN detection, IB-Gap, ESD protection diodes

Old version 1.2a - IB-Gap patch only

PC driver

* For maximum performance the uDMX Artnet Converter from Lutz should be used!

Last change: 13.01.2013