Page 1 of 1

RGBW Support?

Posted: Tue Jul 30, 2024 12:36 am
by HopWorks
Greets All,

I am dusting off my C++ skills and revisiting the ESP32S3. I have a few development boards, and currently using the ESP32-S3-DevKitC-1U-N8R8 which I feel is a great inexpensive development board to get my feet wet again. Setting it up in VSCODE was almost uneventful, and everything is going great!

So I did the RGB blink example using the onboard RGB LED and want to expand to a strip. But the strip I am using is RGBW with 32 bits of color info (R,G,B,W) per LED. And this is where I hit a snag. The library used in the example is led_strip.h but that is for RGB, 24 bit color info. Is there a library for RGBW ws2812's or an option using led_strip.h with 32 bit color information?

I just wanted to ask before I went after writing my own custom library. It's been a few years since I touched C++ since I became immersed in Python 3. RGBW led devices are important to me because I want to create wifi connected mood lighting controllers but also want to leverage the bright white of the 4th WHITE LED for functional lighting without pushing the RGB led's to even values to simulate white.

I ran into this issue with the AdaFruit Circuit Python libraries also in an older project. I would think that the RGB LED libraries should include color frame bit-width scalability to accommodate future byte-widths because who knows? There might actually be a RGBWWWUI (Red, Green, Blue, Cool, Warm, Daylight, Ultraviolet, Infrared) LED someday for lighting, mood lighting, and plant growth support. :D

Thank you for your valuable time!

Re: RGBW Support?

Posted: Tue Jul 30, 2024 2:54 am
by ESP_Sprite
That code has a led_strip_set_pixel_rgbw function, so I imagine you can use that to set the white component. Make sure to initialize it with LED_PIXEL_FORMAT_GRBW though.

Re: RGBW Support?

Posted: Tue Jul 30, 2024 10:31 pm
by HopWorks
Thanks for the heads up. Unfortunately, with the convoluted setup (for a beginner anyway I should add) for a simple example, I could not find a way to "initialize it with LED_PIXEL_FORMAT_GRBW". And I broke something in the process, not sure what, that I could not recover from. Not even using the versioning to roll back to what worked. Instead, a valid line of code kept being flagged as an error. Even cleaning and rebuilding didn't fix it.
I absolutely loved the configuration scheme for a project, and the other freedoms to do what you need to do. But I could not wrap my head around the complex project framework at this stage of my ascension, so I had to revert back to using Arduino IDE. It makes me sick that I had to do that, because I use VSCODE for everything else I do. At least they added more robust debugging support. That's a plus. I will just have to go through that with the ESP32S3 and hopefully grow past it and will try ESP-IDF again in VSCODE in the near future.
Thanks for the reply and the shared knowledge!! I sincerely appreciate it.

Re: RGBW Support?

Posted: Thu Aug 01, 2024 9:26 am
by Pixellord
Hi,

This is the library that you can use: https://components.espressif.com/compon ... /led_strip

led_strip_config_t is where you can configure the driver to support RGBW.