DMX512 Streaming Recorder & RDM Interface – A Concept

This USB device works with one DMX universe. A DMX universe is 512 channels of 256 levels. The device also has a slot for a memory card. Maximum memory card size is 32GB.

The device also works as a streaming recorder. When show is running you can simultaneously save it to memory card and output to DMX512 port. If USB connection is lost during play it rewinds automatically and starts from beginning of saved show.

With 2GB memory card maximum recording time is 4 days! Record is simple series of CSV text files on FAT file system. Starting from first subdirectory with 1.csv and so on. Each subdirectory is separate show.

Changing operating mode and choosing between saved shows can be done with onboard display and button. Display shows simple to understand symbols for recording and playback functions and numbers for choosing between memory slots. By pressing button shortly it blinks current symbol and it is possible to browse through functions. Long press chooses that function and it’s symbol stops blinking.

The device also works as a RDM interface. With compatible software on computer it allows control and monitor RDM fixtures remotely. Currently on Linux there is no any software available.

AVR Program

The device uses AtMega328PB-AUR microcontroller with 16MHz crystal. It includes two hardware serial ports and two hardware SPI port. First serial port is USB interface and second serial port is DMX/RDM interface. Speed on both serial ports must be 250000 baud. First SPI port is used only for programming and second SPI port is used to communicate with memory card. Program is written with C++ language. Microcontroller is programmed using avr-gcc and avrdude. Program is released under GNU General Public License.

This program uses:

  • Enttec DMX USB Pro protocol to communicate with PC.
    API specification:
    Copyright (c) 2007 Enttec Pty/Ltd
  • Parts from DMXSerial and DMXSerial2 libraries.
    Copyright (c) 2011-2013 by Matthias Hertel,
    This work is licensed under a BSD style license. See
  • Parts from SdFat and Sd2Card libraries.
    Copyright (c) 2009 by William Greiman
    GNU General Public License V3.
  • Parts from Arduino SD-library.
    Copyright (c) 2010 SparkFun Electronics
    GNU General Public License V3.
  • CRC-7 routine and CRC-7 table from
    Copyright (c) 2013 Alan Ott
    Copyright (c) 2013 Signal 11 Software
    GNU Lesser General Public License V3.

OpenDMX Compatible Unbuffered USB-DMX Interface (part 2)

First prototype is coming in October, 2018.

UPDATE Oct. 20. Now it’s ready and it’s working. Tested with QLC+ and with three channel DMX receiver. It is however impractical large and heavy to connect directly in to USB port. So next version fixes this. Coming soon.

UPDATE Oct. 12. Almost ready.

Open DMX USB is an open USB to DMX hardware design developed by Enttec. The Open in Open DMX USB refers to the fact that everybody is free to use the design and produce its own USB DMX dongle without paying any licenses.

The Open DMX USB is inexpensive way to get into the world of controlling DMX devices from a PC. It relies on the computer for all calculations and timing of the DMX signal. It is ideal for small live music and theater applications.

Powered by a computer over USB. Standard 3pin DMX port. Compatible with a wide range of 3rd Party software. Control up to 512 channels. Plugged directly on to the USB port.

This DMX USB interface is based on the FTDI 232RL chip, it’s a USB to serial converter. It’s designed accordingly to the USB specification and will enter suspend mode when there is no activity on the bus. It then shutdown the device and draw no more than rated suspend current.

Using a simple application on a PC you can send and receive DMX512. Recommended application is QLC+ because it is a free and cross-platform software to control DMX or analog lighting systems like moving heads, dimmers, scanners etc. QLC+ runs on Windows, MacOS and Linux.

D2XX drivers.

List of compatible control software and programming examples.

Reference schematics for DMX bus termination.

DMX 3pin XLR pinout reference.

Text sources:

DMX Controlled Relay Board

Now automation is made easy. With this nifty module one can control four different application by using an computer with a DMX software installed. Module uses four DMX512 address. Starting address is selectable withing DIP switches. Relay is switched on by sending value over 138 and switched off by sending value under 118. Module remember last states during DMX signal loss.

Easy to solder. Arduino compatible and programmable. Can use BSD licensed free library for receiving DMX data. Example code is coming later.

With this and previously published USB-DMX Interface its very easy to build home automation or stage lightning effects.

All relays capable to drive 5A, 230V loads. Uses only one supply voltage of 5V.

Part list

All parts can be bought from

  • R1, R2, R4, R6, R8 – 10k resistor
  • R3, R5, R7, R9 – 200 ohm resistor
  • C1, C2 – 100nF ceramic disc capacitor
  • C3, C4 – 12pF ceramic disc capacitor
  • D1, D3, D5, D7 – 5mm red led
  • D2, D4, D6, D8 – 1N4004 diode
  • Q1-Q4 – BC547 or 2N3904 general purpose transistor
  • Y1 – 16MHz crystal
  • U1 – atMega328P-PU microcontroller ic
  • U5 – MAX485 line driver ic
  • U2, U3, U4, U6 – HJF-3FF relay
  • SW1 – DIP switch 9 positions
  • J3 – 4 pin header
  • J1 – 2 pin screw terminal
  • J2, J4-J8 – 3 pin screw terminal