DMX Start Address

All my controllers and most other DMX controllers used in the Christmas Lights hobby don’t use switches to set the start address like most commercial applications.  As far as I can see, there are two main reasons for this:

  1. Our controllers are not moved around an lot, where you need to be able to set the address regularly
  2. we want to economise on space.

Removal of the switches does require another mechanism to set the start address.  the least cost option is to use Vixen.  Create a simple 2 second sequence and use the first 2 or 3 channels to transmit a known level as required by the particular controller.  Just remember to set Vixen to absolute levels and the sequence  to repetitive.  I have used the method for a couple of years.

I also have  a neat test set featured in Elektor’s June 2002 Portable DMX Tester.  This unit not only displays the DMX Received but also transmit values input through the GUI.

This year I am added a fair number of controllers as well as changing the display around.  To enable fast Stat address resetting I created my TinyTxDMX testset.  It doesn’t have any bells and whistles, it can’t RX DMX, it can’t tell you anything cause it doesn’t even have a LCD display.  But it is small, small enough to fit in your pocket and reliable.

TinyTxDMX Test Set


As can be seen, there isn’t much to this.

X1 is an RJ45 and outputs DMX data.

S1, S2 & S3 are Binary Coded Decimal switches that are used to set the Start address

S4 is a push button switch to wake it back up.

H1 is a LED that flashes every second  to show it it awake.

X3 is used to change the start address scheme.



Update1 – July 2012

The PCBs came back from the Fab House.

Zero defects found – I still get a warm and fuzzy feeling with I find out I did it all right.

First Prototype soldered

Rev 1 of the firmware is loaded and works a treat.









DMX Tx Firmware

Henne’s Tx code

The transmission code is completely based on Hendrik Holscher ‘s code found in ApNote 113.

What is interesting about Henns code is the use of multiple baud rates to build up the DMX protocol.  A breif description follows:

  1. The Break portion – set Baud rate to 90.9K baud
  2. StartByte – set Baud rate to 250K baud
  3. Delay by IBG uS
  4. start transmitting the data at Baud rate of 250K baud

Start Address Schemes

Two start address schemes are implements.

Add Ch1 and Ch2

For start address 1 to 255

  • Ch1  = start address
  • Ch2 = 0

For start address 256

  • Ch1  = 0
  • Ch2 = 255

For start address 257 to 512

  • Ch1  = start address – 256
  • Ch2 = 255
send decimal values over 3 channels
  • Ch1  = Units
  • Ch2 = Tens
  • Ch3 = Hundreds

Project Files:

Tiny Tx DMX Schematic

TinyTx DMX C code

Tiny Tx DMX Gerber Files

This entry was posted in AVRs, DMX, Light Controllers, TOT - tools of the trade. Bookmark the permalink.