I have a rather large bookshelf that really consists of 6 bookshelves. I have added led lists consisting of 95leds vertically on each side of every shelf meaning there are 12 led lists going down. They are controlled by a dig quad.
On the dig quad I use 3 data line drives which then drives 4 led lists on each side of the shelves.
In these bookshelves, there are around 20 shelves all together which I want to be able to control individually. I think segments would be good here. But 20 shelves with led strips on each side would mean I would have to create 40 segments?
Is it possible to set up each shelf using LEDMAP.json (i’ve tried reading up on this but I’m unsure). Because 40 segments is too many for wled as it maxes at 32?
Or should I just order another dig quad to divide these segments and hope that connecting them via sync would solve the issue?
As an example, I have one shelf with Darth Vader head. It illuminates in red with heartbeat effect.
While this is easy to do, I want full control over all the rest of the shelves to easy change effects or lights etc to suit whats in them.
You can increase the 32 limit with a custom compile. I never tried it but I guess the reason that limit exists is because that is what was tested working.
// heap memory limit for effects data, pixel buffers try to reserve it if PSRAM is available
#ifdef ESP8266
#define MAX_NUM_SEGMENTS 16
/* How much data bytes all segments combined may allocate */
#define MAX_SEGMENT_DATA (6*1024) // 6k by default
#elif defined(CONFIG_IDF_TARGET_ESP32S2)
#define MAX_NUM_SEGMENTS 32
#define MAX_SEGMENT_DATA (20*1024) // 20k by default (S2 is short on free RAM), limit does not apply if PSRAM is available
#else
#ifdef BOARD_HAS_PSRAM
#define MAX_NUM_SEGMENTS 64
#else
#define MAX_NUM_SEGMENTS 32
#endif
#define MAX_SEGMENT_DATA (64*1024) // 64k by default, limit does not apply if PSRAM is available
#endif
you dont even have to mess with any code if you have one with PSRAM
I found the FX.h and waiting to get home to try it out.
More googling on PSRAM. I don’t know if my ESP32 has it (it’s this one QuinLED-ESP32 - quinled.info), or if there is a need for an external ESP-PSRAM32 chip which sounds more complicated than I would like. But looking into it!
Thanks for pointing me in directions I’ve never found before with my google-foo!