Hey,
was having trouble combining 4 HUB75 Matrices into single Output:
i have daisychained 4 64x64 pixel HUB75 panels together and initially configured in LED Hardware as single 64x64 pixel Matrix. This configuration was succesfully driving 1 panel while the other 3 mirrored the output of the first panel correctly. (rotation to be fixed afterwards currently just testing)
Then i tried to configure the LED Hardware as 4x HUB75 panels with 2Rows by 2Columns and went on to set the 2D Config to a single 128x128 Matrix. The Output of this attempt was unsuccsesful and the panels were full blackout.
I have also tried to set up each HUB75 panel as a single output in LED Hardware Config(not using Rows and Cols rather than 4 individual setups) and offsetting them in 2D Config by
0x0y
64x0y
64x64y
0x64y
also resulting in blackout screen.
Any help or questions welcome 
You can try my fork, dev branch, if you are compiling yourself.
Unfortunately I cannot provide binaries for Waveshare board as I do not have one for testing.
My fork features dynamic Hub75 configuration without need for recompilation if parameters change (everything is configurable, in settings including controller pinout selection, panel chains shift registers and more).
BTW 2D setup will require 1 panel of 128x128 regardless of how many actual panels you use.
If you want more information please check WLED Discord, dev and beta channels.
Hey this looks awesome! Unfortunately i am not experienced enough to compile the flash myself, but i will definitely give it my best attempt.
In addition to the post i have noticed that my LED cache seems to be full using 4x 64x64 panels which does confuse me a little.
This puts the firmware in “playing it safe mode” and i am unable to generate an output.
Maybe somebody has an explanation for me about why my board doesnt have enough capacity since i thought i bought a powerful enough driver board for my application.
here are some config screens:
One question
@blazoncek what does your led cache look like when running 4 panels?
also does somebody know if lack of PSRAM utilisation for framebuffer affects the SRAM usage negatively?
was wondering that bc my PSRAM seems to be fully empty.
Thanks for the tip on128x128 panel size for 2d thats helpful to my understanding
Greetings!
128x128 is pushing ESP to the limits. Only S3 with at least 2MB of PSRAM can handle it (which you have). The problem is not amount or available RAM but computational power.
There just isn’t enough juice in that CPU for anything beyond 12 FPS in best case.
And I am talking about my fork where I optimised a few things. Upstream will need some additional work.
This is build environment for Hub75 capable binary I use. You’ll need to adapt for your particular board.
[hub75]
build_flags =
-D WLED_ENABLE_HUB75MATRIX
-D NO_GFX
-D NO_FAST_FUNCTIONS
-D NO_CIE1931
-D S3_LCD_DIV_NUM=20
lib_deps =
https://github.com/blazoncek/ESP32-HUB75-MatrixPanel-DMA.git#c3d21ff3c54c4530e123c553be7b2707b9b093c5 ;;#fixes-3011
lib_ignore =
[env:matrixportal_esp32s3]
; ESP32-S3 processor, 8 MB flash, 2 MB of PSRAM, dedicated driver pins for HUB75
extends = env:esp32s3_4M_qspi
;board = adafruit_matrixportal_esp32s3
board_build.partitions = ${esp32.large_partitions}
board_build.f_flash = 80000000L
board_build.flash_mode = qio
board_upload.flash_size = 8MB
build_unflags = ${common.build_unflags}
build_flags = ${common.build_flags} ${esp32s3.build_flags} -Og
${hub75.build_flags}
-DARDUINO_USB_CDC_ON_BOOT=1 ;;-DARDUINO_USB_MODE=1 ;; for boards with USB-OTG connector only (USBCDC or "TinyUSB")
-DBOARD_HAS_PSRAM
-D WLED_WATCHDOG_TIMEOUT=0
-D ARDUINO_ADAFRUIT_MATRIXPORTAL_ESP32S3
-D I2CSCLPIN=17
-D I2CSDAPIN=16
-D BTNPIN=0,6,7
-D BTNTYPE=2,2,2
-D DATA_PINS=4,1,0,0 ;;4==32x32, 1 panel, no shift register; no chain
-D PIXEL_COUNTS=1024
-D LED_TYPES=TYPE_HUB75MATRIX_PORTAL
-D STATUSLED=13
-D WLED_DISABLE_ESPNOW
-D USERMOD_AUDIOREACTIVE
-D SR_DMTYPE=0 -D I2S_SDPIN=-1 -D I2S_CKPIN=-1 -D I2S_WSPIN=-1 -D MCLK_PIN=-1 ;; Disable to prevent pin clash
lib_deps = ${esp32s3.lib_deps}
${esp32.AR_lib_deps}
${hub75.lib_deps}