Usb dmx

From BitWizard WIKI
Revision as of 18:20, 23 December 2019 by Rew (talk | contribs) (Created page with "= Introduction = The BitWizard usb-dmx board allows you to control DMX devices from your computer while connecting through USB. There are also the [")

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


The BitWizard usb-dmx board allows you to control DMX devices from your computer while connecting through USB.

There are also the DMX boards for raspberry pi that mount on top of a raspberry pi. Those use the UART on the raspberry pi, which has the disadvantage that the "input" driver is difficult.


When you connect your usb-dmx board, the board will enumerate a virutal serial port.

You can use any terminal program to connect and send commands. The baud rate is ignored (for physical serial ports you need a baud rate, not for virtual ones).

The device should in the future also be able to interpret "enttec USB PRO" commands, but as of this moment this support is unfinished.

serial commands

Some commands are "debug" for development and are not described here.


You can get an overview of commands by issuing the help command. The commands and a short help message will be displayed.


set the DMX data. Give it a start position in the universe and then the data.


dmx 8 7 6 5 4 3 2 1

set the dmx data starting at position 8 to 7,6,5... (ending with 1 in position 14).


Update multiple positions in the DMX universe.


update 5:6 10-20:200

set position 5 in the universe to 6 and then locations 10-20 all to 200.


Print the unique id of this board.


superceded by update.


The fade command allows you to tell the board to handle a fade internally.

fade dump

dumps the current state of the fade system.

fade cancel <num> 

cancels a specific fade.

fade clear

clears all current fades.

fade <position>:<target>:<nframes>:<nrep>

will fade the DMX value at position to the target value in nframes steps, repeating this fade nrep times.

jumper settings

The jumper block has three (sensible) jumper positions, they can be either on or off. (We used to deliver the jumpers on the jumper block in say 1-NC, 3-NC, 4-NC: each of the jumpers on just one pin, not connected to another jumper pin. Nowadays we deliver them loose in the bag.)

Officially the DMX wire is called a bus. Oficially a bus should be terminated at both ends. Most people think of the DMX bus as coming out of our board and then TO the lamps. So most often our board will be at one end of the bus. In that case you should terminate the bus on our board: Jumper 3-4 mounted. Termination at the SENDING side of the bus is less important than on the opposite end. So if you're just sending DMX data with our board, the termination at our board is not that important. Most people don't bother.

Another possible configuration is that you have a few fixtures and then connect to the DMX IN connector on our board, and then another few fixtures on the DMX out. Our board will be in the middle of the bus, and you are then NOT supposed to add a terminator on our board: Do NOT place the 3-4 jumper.

With "short" busses, the termination is less important than with longer busses. What is "short" and what is "long" depends on the dataspeed. For example, for "SATA" 30-50cm is normal, 1m would be long. For DMX a few tens of meters is still "short".

The other two jumper positions should be added and removed in tandem. They provide a pullup/pulldown on the DMX databus so that the signal level is defined even when there is noone driving the bus. This is important when you do RDM. I found documentation that specified pullup on one line and pulldown on the other, but also the other way around. If you have trouble with RDM, add the jumpers. If that doesn't make things better, try using a few jumper wires and wire 1-5 and 2-6. If that works better for you, let us know!


The case for this board has not been designed, but we'll make one if there is demand. Let us know.