-
-
Notifications
You must be signed in to change notification settings - Fork 3.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ESP32-C6, -C2, -C5, -H2, -P4 are not supported #3078
Comments
Correct observation. |
Similar for other very brandnew chips: -C2, -C6 , -C61, ESP32-H2, -H4, or ESP32-P4, or -C5. To put it into some context - market availeability of ESP32-C6 was announced just 3 weeks ago on Jan 6, 2023. Knowing espressif, I bet it will take at least 2 years until stable development environments and open source libraries are ready for any "serious use" on -C6. We should put it on the backburner, until stable support is availeable from the core libraries we need, for example: For now, we have enough troubles to make -S3/-S2/-C3 work. So don't expect support for other new models this year. |
Supporting those newer chips requires updating to the esp-idf v5.1. From what I've seen, the migration documentation is pretty good. A potentially valuable bonus is that some of the newer chips, like the S3, now support DMA over the RMT interface. From my experiments, enabling DMA reduces the CPU usage during a transmission to 0.01% compared to about 18% using PIO. I believe this would also reduce the chances of a rogue interrupt causing a glitch proportionally. I'm not sure if this project bumps up into those limits or has a problem with interrupt-caused glitches, but if so, that might be another reason to consider it. |
A project as big as WLED needs manpower to support various chips, not just development environment. |
Sorry, but what you propose is not enough for WLED. We have a long list of dependencies, including (but not limited to) arduino-esp32, and NeoPixelBus. All dependencies (libraries / frameworks that we use with WLED) need to be upgraded to support new chips. For some (like NPB) explicit support must be added by developing new code. it's not just about dropping in a new framework, then be happy. I fully concur with @blazoncek - any real help (personal commitment for coding & testing) would be much appreciated.
Edit: Not sure about quality of the migration document, it is definitely "pretty big" . Espressif announces a huge number of "breaking changes", some important APIs were either deprecated, or already replaced with something completely other. It means a lot of work to go from esp-idf 4.4.x to esp-idf 5.1. |
I'm not a user of WLED but also write LED drivers for ESP32, and I'm not making requests, demands or suggestions that you do anything at all. I was sharing information I'd learned about the new features in ESP-IDFv5 that might be relevant to someone else writing LED driver code on ESP chips, since it offers a significant performance improvement. I was excited by my discovery and thought the people working on this project would be too. Your project is impressive and I hope you find the help you're looking for. |
Thanks for your willingness to share. As such there is (almost) nothing (apart GPIO numbers related stuff) in WLED core code that is chip specific. Libraries as NeoPixelBus or LittleFS and AsyncWebServer are the ones that would need to add support for the above mentioned chips before WLED can support them as well Though some usermods may use particular HW but those are optional and not all support every chip. |
I've been over to the NeoPixelBus repo and looking at Makuna/NeoPixelBus#598 it seems they're already looking into it. |
It's been some time since this issue has been created, have there been any advancements with the libraries and such to make the new chips work? |
Not enough advances, unfortunately - it looks like my old "at least 2 years" estimate was quite accurate.. If NeoPixelBus would be able to utilize the new RMT driver in esp-IDF 5.1.x, we could make an attempt to get WLED running on the -C6. Maybe this will happen during the next year. For other new chips - nothing in sight. |
The new RMT support is in the NeoPixelBus/Core3 branch. Still not configured to use the new boards yet. Still waiting on an updated IDF to fix issues others have seen with it. |
Sorry to be that guy, but is there an rough estimate on how long it will take? I'm looking to invest in to these boards, once support is added. Thanks |
As you are "that guy" you probably guessed the answer 😉 A bit more seriously - there is no schedule for supporting the -C6 in WLED. Personally I have a fork that compiles for -C6, but there is still a looooong way to go. From experience with other "new boards" like the -S3, I would expect that we'll need around two years from "experimental" to "WLED runs stable on this MCU". The same was true for -S3, where we started "experimental support" in mid 2022. Same for possible support of the "C61" and P4". OK P4 might even take longer because there is no support from arduino-esp32 or other libraries yet. So if you're looking at a project or other business case, I'd say don't bet your money on the -C6. If you need ZigBee, you could be faster by taking a ZigBee "daughter board" (e.g. XBee module) and then you'd program a usermod that communicates with the daughter board. |
What happened?
Unable to flash WLED firmware to ESP32-C6-DevKitC-1 v1.1
To Reproduce Bug
Just try to flash wled firmware to any ESP32-C6 chip
Expected Behavior
I guess we need two versions of firmware
Install Method
Binary from WLED.me
What version of WLED?
WLED_0.14.0-b1
Which microcontroller/board are you seeing the problem on?
Other
Relevant log/trace output
Anything else?
No response
Code of Conduct
The text was updated successfully, but these errors were encountered: