How to Build It

Configuring Arduino as a Pixel Controller for xLights

This build is to get people started for the first time with a very simple controller.  It works with 50 pixels (using data pin 29 on Arduino), but probably supports up to 150 pixels (50 pixels each on data lines 29, 30, and 31 with three universes).


Parts List

Here is what you’ll need to build animated lights controlled via xLights on a computer/laptop: 


  1. Connections

Arduino to NIC

               50           S0

               51           ST

               52           SCK

               53           CS

               5V          5V

               GND       GND


Arduino to lights

               Vin         5V

               GND       GND

               29           Data

The lights should have three wires.  Typically red is 5V, the middle wire is data, and the white/black wire is ground.  If you look through the bulb’s clear cover, the circuit board may indicate the wire order easily. 

Be sure that you connect the correct “data input” end of the string to the Arduino; the string ends are not reversible.  The correct end is usually indicated with an arrow on the bulb’s circuit board, pointing to the bulb.


  1. Install Arduino IDE v1.6.5r2  (download here)
    1. Delete Libraries\Ethernet folder
    2. Download and unzip here
    3. Copy DMXControllerWs2811 folder to Arduino Examples folder
    4. Move DMXControllerWs2811\UIPEthernet folder to Arduino Libraries folder


  1. Arduino sketch
    1. Edit global.h in \Examples\DMXControllerWs2811
      1. #define UNIVERSE 1
      2. #define MAXBULBS 50
      3. #define IP_BYTE_1 169
        #define IP_BYTE_2 101
        #define IP_BYTE_3 200
        #define IP_BYTE_4 203
    2. Connect USB cable
    3. Open DMXController example
    4. Set Port and Arduino type (Mega 2560)
    5. Upload sketch to arduino


  1. Connect Ethernet cables from Arduino and computer to switch


  1. Configure Windows IP address
    1. IP address:
    2. Mask:
    3. Gateway:
    4. Ping test


  1. Install xLights
    1. Download here
    2. Set “show” directory


  1. Configure xLights
    1. Add E131 button
    2. Network type: E131
    3. Method: Unicast
    4. IP address:
    5. Starting universe #: 1
    6. # of Universes: 1
    7. Last channel: 150
    8. Description: String1

Last modified on Wednesday, 06 December 2017 01:59

1 comment

  • Rob

    posted by Rob

    Tuesday, 05 December 2017 11:23

    you have the proper link for the jumper cables. But your note says male to male. Not Male to Female

Leave a comment

Go to top
JSN Boot template designed by