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

DMX controlled LED light with changeable address


LED light with DMX512 control is required for theater. The device should be able to receive data from whole of DMX address space, and store address in EEPROM.

Numer of channels - 5 (common brightness, R, G, B, Y), with simultaneous control of all or each individually.

Technical solution

Arduino Duemilanove with Atmega328 microcontroller onboard and 4-channel key DMX module are used for drive controlling device.

TM1637 4-digit LED display is used to show address. The controller makes possible drive LED display by two wires, making circuit less complex. LED strips are used as light source.


DMX signal passes through SN75176, MAX451 or ADM485 RS-485 transceiver, and goes to Arduino Rx.

Appropriate channels of DMX data change PWM levels on transistor keys. Each key drives the 12 V LED strips.


12V 5A industrial regulator is used as power supply. 7805 regulator with heat sink is used as DMX transceiver and LED display power supply. Assembled without errors, the device should working without any tuning.

Algorithm and Arduino sketch

The device's DMX address is stored in first two bytes of Atmega EEPROM. In receive mode, the address is shown on LED display. To change address, user can press Mode key to enter address change mode. In this mode, letter A is also shown on the display. To save current address, user should press Enter key. To cancel storing, user can press Menu key again. Up and Down keys changes the address, and holding the key increasing change step.

The device uses 5 DMX channels - first controls total brightness, each other - brightness of appropriate LED strip. DMX address can be changed and either stored or not stored. Changed and not stored in EEPROM address stay in RAM until the device is shut down. If some of address bytes is equal to stored in EEPROM, it won't be overwritten. This increases EEPROM resource. Number of channels can be up to 6.

The sketch requires TM1637 display, EEPROM and DMXSerial libraries.

Arduino sketch
Download Arduino sketch - dmx_led2.ino

Note: Arduino won't flashing during RS-485 transceiver is connected to Rx. While uploading sketch, disconnect it.

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



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