ESP32 DLED Controller controls WS2812B type digital LEDs using the RMT peripheral of ESP32.
This implementation uses the RMT driver from ESP-IDF
and uses one RMT
channel
for a LED strip leaving the other channels free, under the control of the RMT driver.
Here are some key points of this implementation:
- the control of the LEDs is separated from the control of the
RMT
peripheral; - the other
RMT
channels can be used as needed; - the
RMT
peripheral is used throughESP-IDF
’s own driver.
Right now the negative point is that this code uses a lot of RAM, because of the way the driver and peripheral works. There is a way to add a hook in the driver’s transmission code but considering the multithreading architecture of FreeRTOS this may add jitter creating visual artifacts, depending on application.