Skip to content

DMX Output

DMX output

Version Info

As of version 0.9.2 WLED supports DMX output via MAX485. This is great for controlling DMX LED PAR lamps with WLED patterns.

features and limitations

  • up to 15 DMX channels per fixture
  • channels can be set to dimmer (brightness), red, green, blue, white, 0, 255
  • supports channel spacing between fixtures
  • outputs a DMX channel map
  • one universe (512 channels)
  • type of fixture

software setup

For the DMX feature to work, you'll need to compile WLED from source. It's not a big deal, you can do it! Here is the Quick Start guide. There you'll find the section "i want to modify WLED".

  1. make sure, you can compile the latest version of WLED without any issues. Then continue.

  2. Once that works, in wled00/wled.h you need to change the line //#define WLED_ENABLE_DMX to #define WLED_ENABLE_DMX Yes, you just remove the //, which enables the line and therefore DMX support.

  3. Once you successfully uploaded the sketch to your board, you'll find a new entry "DMX Output" in your settings menu.

  4. Grab the manual for your lamp and maybe some snacks, look up the dmx channels and set everything up accordingly.

hardware setup

The DMX output required the use of a MAX485 transceiver connected to the TX-pin of the ESP in order to produce DMX output.

I am currently working on an open source PCB design to go along with this feature.

For information about the use of DMX with ESP8266, you might like to read this tutorial by Robert Oostenveld. Note this is just background information about the hardware and you do not need any of the code listed here when using WLED output.

If you need to use another pin for output than the TX-pin, you'll need to change this in the ESP-Dmx library itself. This setting is located in src/dependencies/dmx/ESPDMX.cpp on line 31.


If you have further questions about this feature, you can reach me via github (@jwingefeld), ICQ (30914656) or via WLED Discord (JvPeek).

other references