RGBW Support?

HopWorks
Posts: 8
Joined: Mon Sep 03, 2018 8:56 pm

RGBW Support?

Postby HopWorks » Tue Jul 30, 2024 12:36 am

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!

ESP_Sprite
Posts: 9757
Joined: Thu Nov 26, 2015 4:08 am

Re: RGBW Support?

Postby ESP_Sprite » Tue Jul 30, 2024 2:54 am

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.

HopWorks
Posts: 8
Joined: Mon Sep 03, 2018 8:56 pm

Re: RGBW Support?

Postby HopWorks » Tue Jul 30, 2024 10:31 pm

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.

Pixellord
Posts: 13
Joined: Wed Feb 15, 2023 8:58 am

Re: RGBW Support?

Postby Pixellord » Thu Aug 01, 2024 9:26 am

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.

Who is online

Users browsing this forum: No registered users and 159 guests