Here we try to push E1.31 UDP data received wirelessly via ESP8266 and pushed to NeoPixel in the fastest way possible.

Other projects with E1.31 support:

I also demonstrate how to setup and use Jinx!, ledfx and xLights

GitHub: debsahu/E131_PixelPusher

Minimalistic Async code around Async E131 for ESP8266/ESP32

  • Completely Async
  • Web-interface to set starting universe, unicast/umulticast, total number of universes
  • WiFiManager Captive Portal to get WiFi credentials (Compile with -DUSE_EADNS for ESP8266)
  • Subscribes to E131 multicast
  • Connect RX/GPIO3 to DIN of NeoPixel strip, and any PIN (<GPIO32) specified for ESP32
  • Upload included firmware.bin at http://<IP_ADDRESS>/update for ESP8266, compile your own for ESP32
  • Included relavent lines for APA102/Dotstar LED strip: Comment //#define USE_NEOPIXELS xxx and uncomment #define USE_DOTSTAR
    • ESP8266 Hardware SPI: Uses GPIO14(SCK) for CLOCK and GPIO13(MOSI) for DATA
    • ESP32 Hardware SPI: Uses GPIO18(SCK) for CLOCK and GPIO23(MOSI) for DATA

Libraries Needed

platformio.ini is included, use PlatformIO and it will take care of installing the following libraries.

Library Link Platform
ESPAsyncE131 ESP8266/32
NeoPixelBus ESP8266/32
ESPAsyncWiFiManager ESP8266/32
ESPAsyncDNSServer ESP8266
ESP Async WebServer ESP8266/32
AsyncTCP ESP32
Adafruit’s Dot Star ESP8266/32

Pushing E1.31 UDP Data


  • Download Jinx from here
  • Setup instructions: see video


  • Download and installation instructions for LEDfx are here
  • Setup instructions: see video


  • Download xLights from here
  • Setup instructions: see video