Skip to content
MQTT and E1.31 pixel driver for ESP8266
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
PinkyLEDs Add device information for mqtt discovery and add version numbering Aug 10, 2019 Update Aug 10, 2019
example.yaml Create example.yaml Jan 28, 2019


MQTT and E1.31 pixel driver for ESP8266 on D1 mini

Originally forked from: This was expanded to add buttons to control on/off, colour selection, and effect selection (at the request of my daughter who likes to have as many ways to control anything as possible!!)


  • LED driver
  • MQTT control and status using Json messages
  • Physical button control
  • MQTT discovery for Home Assistant for easy set up
  • MQTT group topic to allow control of multiple boards with single MQTT message
  • Last will and testament MQTT messages to show online status
  • Original sketch effects and DrZzs custom effects (from this video) included.
  • Home Assistant "white value" slider can be used to control effect speed
  • E1.31 Unicast control (ie Xlights) - (note can ONLY be selected via MQTT)
  • Support for Home Assistant flash function
  • OTA updates
  • Status indication at boot... red - powered up, amber - wifi connected, green MQTT connected

To set up, edit the config.h file to suit your setup, and upload via the Arduino IDE.

It should be possible to run this on other ESP8266 boards, but other changes may be needed

Additional libraries which you will require are:

  • ESP8266 Boards Version 2.5.0 (installed to arduinoIDE in boards manager)
    • NOTE FastLED library is currently NOT compatible with ESP8266 boards version 2.5.1 or above
  • ArduinoJson version 5 (I'm using version 5.13.5) (Will not work with version 6)
  • PubSubClient version 2.7
  • FastLED version 3.1+ (I'm currently using 3.2.6)
  • ESPAsyncE131 version 1
  • ESPAsyncUDP (required by ESPAsyncE131)

Thanks to the original authors, DrZzs for additional effects, for color palettes and anyone else I've missed!

The example.yaml is provided as a guide if you choose not to use discovery

Buy Me A Coffee

You can’t perform that action at this time.