Hello
Here is the story of building a 4m x 1.60 m led panel 123 *48 leds
I started first with smaller boards 20*15 then 20*30 just to have an idea of what it possible. And use couple of controllers (Arduino uno, due, mini, pro, esp8266,esp32)
it was also the occasion for me to see how complicated it could be ad to create basic functions on top of the FastLED library .
https://github.com/FastLED/FastLED
https://github.com/hpwit/ledtable
so I have reprogrammed the GameOf Life, Tetris added some basic functions like display a message or draw a line or display a bitmap using gamma color correction to have a good display
I term of pure building I have improved my skills in soldering or define the right wiring. like adding a resistor on the data line or a capacitor in parallel of the strips to avoid destruction.
https://learn.adafruit.com/adafruit-neopixel-uberguide/best-practices
I wanted to go bigger but how big ?
1) Which Controller ?
For large projects everybody was proposing the teensy3.x thank to its parallel output it had proved to be a perfect tool for this task.
But I wanted Wifi and Bluetooth. so I decided to go for the esp32 that I had experience with and which is a very powerful board 2 cores at 240Mhz
2) Which Leds ?
I am using ws2812 leds which are 'slow' the refresh rate of 1000 of them is 33FPS. which when you had a bit a processing before it becomes pretty slow.
- Either go for clock driven led like APA102
- go parallel output (a technic which allow to push data to several strips at the same time. I.e we could split our 1000 leds in two groups which could allow us 66FPS then.
I have decided to go for the second choice. At the time I was building my panel the parallel output for ESP32 was not existing yet. So based on some previous work on the ESP8266 I had it working for 8 parallel outputs.
But because I wanted to ensure a good frame rate >70 FPS I have made a 16 parallel out put version.
In the current FastLED library (link above) you have for the esp32 the 8 parallel output implemented using DMA which is not sensible to interrupts but limit the number of outputs. My version can do more output but more sensible to interrupts ( you'll need a dead pixel at the start of each strip)
https://github.com/hpwit/fastled-esp32-16PINS
3) What size ?
Well my wall is 4.5 meters. so 4meters should be good :) then because of the power required and the refresh rate,I have decided to go for 120*48 (16 groups of 3*120 leds) using 30led/meter for a max output of 345A or 1728W ... (60mA max per led).
I have decided not to light up more than 1/4 of the max brightness otherwise it's anyway way to bright.. and went for 240A=>1200W.
Because the board was going to be very long and data lines would have to go on each side of the panel I have decided to add 74HC245 that boost the signal without asking the ESP32 to output current. I was able to send the data without distortion up to 7 meters.
the first controller board
4) The Panel
I had to create a 4x1.60 meter board that I have made of MDF (1.8cm thick). but of course those do not exist as the maximum size is 2.4x1.20m I bought 3 panels had them cut so I could create the right size. One more panel in the back to hold everything together.
the panel is paint in black, using metallic black spray which was cheaper than paint , easier to apply and nice shiny finish.
=> the construction weights about 80kg ...:) so I had alos to create a support for it.
I went for construction wood the entire frame on wheels :) easier to move. I actually hung...
Read more »
hello my name is Albert, I need your help, I can't figure out your exampleArtnet project. I have a matrix on ws2812b 80x48. I work with jinx artnet. what I need to change in exampleArtnet for the screen to play. yes, I see that the transmission from jinx comes to esp32 but the screen does not display anything