I just finished some major improvements to the ESP32 support for FastLED. It should handle up to 8 strips now (the maximum for the RMT peripheral) with no problem. I still have not implemented fully parallel output, but my new changes should make it trivial. You can try it out on my branch of FastLED: https://github.com/samguyer/FastLED
Please let me know if you have any suggestions, problems, successes, questions, etc.
Also: you can now run FastLED.show() on core 0, leaving core 1 for the WiFi and your other logic. Ping me if you want example code (this capability is not built into FastLED).
@Ben_Delarre : I am only relying on code in the esp-idf framework, so it should work without the Arduino wrapper. I think a few people have used it with the platformio system.
@Sam_Guyer Thanks Sam! Will definitely be using this soon. I seem to always be hungry for more pixels and higher frame rates
And definitely would be interested in either an example or some coaching on designating the core for FastLED.show() as well as designating pins - idea being to be able to drive 8 outputs while keeping the pins free that I’d need to read an SD card. Was going to work with Yves on this too as soon as I get some free time
This is great, thank you. Indeed ESP32’s RMT support makes clock-less strip support pretty trivial, and it’s great to read that you are very close to having parallel output support, which would make the ESP32 a good placement for teensy v3 if you need parallel output and higher frame rates.
@chad_steinglass : I have a version of the FastLED “Demo reel100” that spins off a special task on core 0 to do the showing. I don’t think you need to worry about pins – the six pins that are used for reading SD cards cannot be used for anything else anyway.
@Sam_Guyer Thanks Sam Though I didn’t see an updated demo reel file on your Github? perhaps Just user error and I’m looking in the wrong place. No rush at all as I have several project plans in my queue before I think I’ll crack the upper limit of the 8266 and will need to graduate to the ESP32!
Thank you for the DemoReelESP32 example, @Sam_Guyer ! I was having a hard time getting anything running on my Wemos Lolin32 v1.0.0. Even the most basic sketches were constantly resetting with “Guru Meditation Error: Core 0 panic’ed (Interrupt wdt timeout on CPU1)”. Your example is running perfectly so far. Thanks!
@Sam_Guyer , getting this error randomly and infrequently…
/Users/ficeto/Desktop/ESP32/ESP32/esp-idf-public/components/freertos/./tasks.c:4837 (xTaskNotify)- assert failed!
abort() was called at PC 0x40086a14 on core 0