Device Addressing

All receivers on a DMX bus are allocated a base address that may be represented by a 9 bit ising or creating a show. In this mode you will be able to control each individual binary number. The address determines the first slot that is used by the receiving device.

Here are some examples

There are three common ways to set the base address:

Setting the DMX Base Address using DIP Switches

The DIP switch method usually uses a 10-way, which consists of 10 microswitches. Each switch is wired so that when it is “on”, it connects an input to ground (inputs to microcontollers normally float to a logical “1” when they are not connected, although for some inputs it is preferable to add a high-value resistor to the positive supply to ensure predictable operation). Since a DMX address requires 9 bits (each digit corresponding to 1 2 4 8 16 32 64 128 256), this leaves one switch spare - that could be used to configure an option (e.g. a self-test mode).

DIP switch setting for a base address of 10 (2+8=10). The least significant bit is
usually on the left side, hence switch 1 has a value 1, switch 2 has a value 2, switch
3 has a value 4, switch 4 a value 8, etc. Note: 10th bit is used for other configuration.

DIP switch setting for 24 (16+8=24). Note: 10th bit is used for other configuration.

Multiple Devices

Example showing slot 7 being read as output 3 of device 2, configured with a base address of 5.

It is normal to configure each device with its own base address, to allow separate control. It is also possible to set more than one device with the same base address. Two identical devices with the same base address will set their outputs exactly the same.

Using fewer DIP switches to represent the base address

Although the DMX specification allows any base address in the range 1-512, some manufacturers place constraints on the base address, for instance to only allow addresses to be configured on 8-slot boundaries, or to not support the full range of values. For instance, a manufacturer may choose to allocate some of the switches for configuration settings. These switch positions could allow a general-purpose board to configure the outputs in various ways: some as digital outputs, some as dimmer (PWM synchronised to mains zero crossing), some as direct PWM for servo control or LED lighting control).

In the examples below, a weighting of 23 (8) is used for the first switch. The slot value is derived from the DIP switch setting on switches 1 to 5 by multiplying the binary value by 8 and then adding one to result. This gives a maximum base address of 249. A similar configuration is used for the Milford Instruments DMX receiver (1-479).

DIP switch setting for 1 = 8*0+1 (for an 8 channel device configured in 8 channel groups). Note: bits 6,7,8,9,10 are in this case used for other configuration.

DIP switch setting for 9 = 8*1+1.

DIP switch setting for 41 = 8*5+1.

Two things to remember to check is which switch represents the least significant bit of the address, and to note the weighting for this bit (i.e. does switch 0 represent 20 (1) or it could represent some other value, e.g. 22 (4) or 23 (8) ).

Resources

A lot of people find binary manipulation hard to visualise, and some helpful people have built applets for phones, iPods and computers to help people get to grips with this. Some example calculators are available on-line at:

http://www.sabretechnology.co.uk/downloads/dipcalc.swf

http://itunes.apple.com/us/app/dmx-dip/id412828831?mt=8

Prof. Gorry Fairhurst, School of Engineering, University of Aberdeen, Scotland.