Skip to content

ESP8266 unicast E1.31 to WS2811/WS2812 WiFi controller, output up to 1360 pixels (8 ports/universes, 170 pixels per port, 4080 channels)

License

Notifications You must be signed in to change notification settings

jspiva/LedPixelController

Repository files navigation

LedPixelController

ESP8266 unicast E1.31 to WS2811/WS2812 WiFi controller, output up to 1360 pixels* (8 ports/universes, 170 pixels per port, 4080 channels). *The number is theoritical, depending on refresh times this number can be much lower.

The LedPixelController accepts 1 unicast broadcast universe, and up to 8 unicast universes. The controller then multiplexes the data from the UART TXD1 port using an asynchrounous pixel driver that allows writing a universe of data while the E1.31 listens for the next data packets.

Important Settings

  • ssid The name of the WiFi SSID network to connect to. (WiFi Manager is on my todo list)
  • password The password of the WiFi network to connect to. (WiFi Manager is on my todo list)
  • domain The name of the domain the ESP will be apart of.
  • LED_ON The value to set an enabled channel pin to. (LOW or HIGH, default LOW)
  • LED_OFF The value to set a disabled channel pin to. (LOW or HIGH, default HIGH)

Unicast Universes

The table below shows the outputs from the ESP8266 based on the universe input, as this is unicast only, only the least significant digit of the universe is utilized to set the proper outputs. Note the inverted outputs (LOW for Enable, HIGH for disable), this can be switch via the LED_ON and LED_OFF constants.

UniverseD0D1D2D3D4D5D6D7D8
xx0 (Broadcast)LOWLOWLOWLOWDATALOWLOWLOWLOW
xx1LOWHIGHHIGHHIGHDATAHIGHHIGHHIGHHIGH
xx2HIGHLOWHIGHHIGHDATAHIGHHIGHHIGHHIGH
xx3HIGHHIGHLOWHIGHDATAHIGHHIGHHIGHHIGH
xx4HIGHHIGHHIGHLOWDATAHIGHHIGHHIGHHIGH
xx5HIGHHIGHHIGHHIGHDATALOWHIGHHIGHHIGH
xx6HIGHHIGHHIGHHIGHDATAHIGHLOWHIGHHIGH
xx7HIGHHIGHHIGHHIGHDATAHIGHHIGHLOWHIGH
xx8HIGHHIGHHIGHHIGHDATAHIGHHIGHHIGHLOW
xx9 (Ignore)HIGHHIGHHIGHHIGHDATAHIGHHIGHHIGHHIGH

Connecting the ESP8266 to a pair of quadruple bus buffer gates like the SN74HCT125N allows for enabling and disabling of a high speed data line for up to four channels. For each channel of the buffer gates connect the D4/TX1 data line to the input A, then for each channel connect a corresponding ESP output (D0, D1, D2, D3, D5, D6, D7, D8) to the inverted enable /OE. Finally, the output should be connected to both the pixel strand, and to ground through a fairly large resistance. The resistance is necessary, as when the buffer chip channel is disabled it floats, and must be held at ground so the pixels can latch the proper data.

Hackster.io

ESP8266 E1.31 Multiplexing Pixel Controller project write-up.

Credits

Thanks to the code of others that made this possible...

About

ESP8266 unicast E1.31 to WS2811/WS2812 WiFi controller, output up to 1360 pixels (8 ports/universes, 170 pixels per port, 4080 channels)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages