CITY416.ruBlagoveshchensk city Arduino community    
news modules projects ideas technology links
 CITY416.RU / projects / DMX controlled LED light

DMX controlled LED light


LED light with DMX512 control is required for theater. Numer of channels - 5 (common brightness, R, G, B, Y), with simultaneous control of all or each individually.

Technical solution

Arduino Duemilanove with Atmega328 MCU and DMX receiver with 4-channel key is used. To keep lower price of device, DMX address is stored in FLASH part of MCU memory and can't be changed untol reprogramming. To change address, modify it in the sketch.

LED strips are used as light source.


DMX512 signal is received on RS-485 transceiver SN75176, connected in receiver circuit. Output of transceiver is connected to Arduino RX pin.

Arduino receives data and set PWM levels on TIP122 transistor keys. Each key is switching appropriate LED strip of 4 colors (red, green, blue, yellow). Internal 5V out of Arduino is used for RS-485 power supply.


Industrial 5A 12V switching power supply is used as device power source. Assembled without errors, the device should working without any tuning.

Algorithm and Arduino sketch

Five DMX channels are used for control. First of them define common brightness coefficient, and each color channels are multiplied by it. Four other channels set brightness level of each color.

For sketch compilation, DMXSerial library should be put in Arduino IDE library folder.

Arduino sketch
Download Arduino sketch - dmx_led.ino

Note:RX wire from transceiver should be disconnected from Arduino board during programming. Otherwise, Arduino bootloader is unable to work due to receiver data on RX pin. Program the microcontroller via ISCP port to eliminate jumper or switch between RX pin and transceiver.

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

The DMX address is hard-coded and can not be changed until reprogramming.



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