4 2d panels with 2 esp32's

Hello,

I’m setting up 4 2d panels, each one 8x128. I’d like to use 2 ESP32 controllers, each one controlling 2 panels. I’m able to setup the 2 controllers and make them sync via udp.

-----   -----   -----   -----
|   |   |   |   |   |   |   |
| 1 |   | 2 |   | 3 |   | 4 |
|   |   |   |   |   |   |   |
-----   -----   -----   -----

Panels 1 and 2 are connected to controller 1, and panels 3 and 4 to controller 2.

I’ve set up the 2D mapping on panels 1 and 2, so that they are side by side. For example, the Colored Bursts effect show the lines ending at the edge of one panel and continuing at the next. I’ve set up the 2D mapping on the other controller as well.

The problem is: I can’t combine all 4 panels this way. Instead of lines going from panel 2 to panel 3, the effect in panels 3 and 4 is a copy from 1 and 2. Is it possible to do what I want? I couldn’t figure out the proper 2D configuration and segment configuration to do that.

I want this: (ignore the dots. Imagine that the diagonal line is a line rendered by ColoredBursts.)

.   1 2 3 4
.   \
.     \
.       \
.         \

I got this:

.   1 2 3 4
.   \   \
.     \   \
.       
.         

Hello to Epoyart. To implement your idea, you need another ESP32 controller. one controller must be a MASTER, 2 controllers must be a SLAVE.
you need to connect the controllers to the same LAN. so that each organization has its own IP address.
For example:
Master: 192.168.1.10
Slave_1: 192.168.1.11
Slave_2 192.168.1.12

Then you must specify the virtual LEDs in the ESp32(Master) LED settings.
Slave_1: 192.168.1.11 64 led - matrix 8*8
Slave_2 192.168.1.12 64 led - matrix 8*8
then
in the 2D configuration, specify how many panels and how they are located.

After these settings, by changing the effects to the ESP32 master, you will get a full effect on the SLAVE devices.

IMG_0381 (1)
There are 4 ESP32 pieces here. they are synchronized using the MASTER ESP32

Thanks. Your 4 ESP32 pieces look great!

I’m aware I can sync from a master via DDP. I have 4096 LEDs in total, so I can’t do all the processing (sin/cos calculations) in the master, otherwise I get less than 20 fps. I wanted to split the workload. I gave up with the spatial coherence and I’m just making the right side mirror the left side. It was a little change in artistic vision :slight_smile:

1 Like

4000LEDs should be doable on a single ESP, depending on what exactly you want to run. 0.16 will have many speed improvements over 0.15 but it uses a lot more RAM to achieve that.

I ran tests on an ESP32 S3 (same speed as classic ESP32) and got 30FPS with 8000 virtual LEDs on most effects.

That’s good to know! I have a custom “plasma-style” effect that has 6 cosine computations per pixel (I was able to optimize that to 4 but I can’t do less than that). I’ll try it out in about a month. The reason I want to split the workload is to make it infinitely scalable (just add more esp32’s), as long as the effect just needs per-pixel computations. But I’ll look into using a centralized master too.

in that case the speed improvements won’t help, math functions cannot be made faster.