From my previous post I have updated the program to be compiled from Arduino IDE.
The WS2812 data line is connected to D1 from the NODEMCU board.
Config of the Arduino IDE
It looks like it work better than the code in Lua.
This comes from a similar program I did few years ago to run 10 matrices of 10 x 10 pixels. I was using WS2801 led stripes, arduino UNO and ethernet shield.
Everything still runs smooth untill now.
Some photos of matrix installed and the controller running JINX.
From my previous post on Artnet ESP8266, I had some feedback about some trouble. I decided to make it again but with the WS2812.
- Flash the ESP8266 with the correct library. You will need:
Once compiled you will receive an email with a link to download the firmware.
Upload the firmware with Nodemcu flasher and change the path to point to the custom firmware
With Esplorer, upload this program:
I am driving a Matrix (10*10) of 100 pixels.
In the UDP loop, I am extracting the 300 bytes (19 to 318) corresponding to each RGB values of each pixels; 3 * 100. Bytes 1 to 18 are the Artnet header.
The led stripe is connected to PIN D4 of my NODEMCU Board
Forgot to mention that a fast wifi router is needed.
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.
- I flash a new lua based firmware in the ESP8266 using Marcel’s NodeMCU custom build cloud service.
Add WS2801 and / or WS2812 modules
- Wait and download the compiled firmware
- Flash it using the tool ESPtool
- I use ESPlorer to program the ESP
- Create a new ini.lua
- 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)
- 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.