CITY416.ruBlagoveshchensk city Arduino community    
news modules projects ideas technology links
 CITY416.RU / projects / DMX512 tester

DMX512 tester


During theatrical equipment repair and tuning, DMX signal source is often required. This tester shoud be able to show DMX data (0-256) on each changing channel (1-512). For greater useability, multiple channel contolling organs are required.

Technical solution

Arduino Duemilanove with Atmega328 microcontroller onboard is used as controlling device. The Arduino have 6 ADC channels, so tester have up to 6 channel controls. If Atmega328 in the TQFP case is used, there can be up to 8 controls.

The information is shown on Winstar Ws1602 LCD display.


The device's DMX can be 1 to 506. It is set by S2, S3 buttons. Current DMX address is shown on LCD.

After address is set, the tester sends data read from R3-R8 potentiometers to DMX output. First DMX channel is tester DMX channel. Next channels are going according to R3-R8 offset. Sixth channel will be base DMX +5.

LCD backlight brightness is set by R1 resistor.

DMX data goes through RS-485 transceiver from Arduino Tx.


5 V cell phone charger is used as power supply (This one goes to Atmega328 on DIY PCB only. To supply the Arduino board, you should use at least 7 V charger). The charger should be able to supply up to 500 mA.

If Arduino board is used, DMX power supply is taken from Arduino 5 V output.

Algorithm and Arduino sketch

After power on, base DMX is 1. It can be changed by S2-S3 buttons pressing. Potentiometers are controlling DMX data at +0..+5 offset from base DMX address. This allows to send data on variety of receiver addresses without base DMX change. LCD shows last changed DMX channel data only.

The sketch requires LiquidCrystal and DMXSerial libraries.

Arduino sketch
Download Arduino sketch - dmx_test.ino

Do not swap RS-485 A and B wires since it cause data to be incorrect.



проектирование, изготовление, монтаж