WS2801

ESP8266: Artnet receiver

Posted on Updated on

The other I was playing with a matrix of led. The matrix is made of a stripe of WS2801.

So, here is what I have done.

  1. I flash a new lua based firmware in the ESP8266 using Marcel’s NodeMCU custom build cloud service.
    Add WS2801 and / or WS2812 modules
  2. Wait and download the compiled firmware
  3. Flash it using the tool ESPtool
  4. I use ESPlorer to program the ESP
    1. Create a new ini.lua
    2. Copy the following lines of code.
      This is for a matrix 10×10 “snakelines”

      wifi.setmode(wifi.STATION)
      wifi.sta.config("******","******",1)
      tmr.delay(5000000)   -- wait 1,000,000 us = 1 second
      
      ws2801.init(0, 2)
      tmr.delay(1000000)
      
      ws2801.write(string.char(0,0,0):rep(100))
      
      s=net.createServer(net.UDP)
      s:on("receive",function(s,c) ws2801.write(string.sub (c, 19, 318)) end)
      s:listen(6454)
  5. Use Jinx or Glediator (I prefer Jinx) to drive the matrix and send the Artnet commands to the ESP8266

It works very well.
The code is simple and works well. I haven’t tried on large matrix but I think for larger matrix a fast wifi connection would be needed.