Is there a MicroPython equivalent of the 'rpi_ws281x' library for (ESP32) microcontrollers? (Not NeoPixel) #13783
-
Hello, everyone! I've been having a tough time finding an answer/solution to my current problem: In the past, my project consisted of running three LED panels (256 LEDs each) off of my Raspberry Pi 4B with the rpi_ws281x library. After learning that the more LEDs I try to control the slower their animations became, I got myself my first ESP32 microcontroller (ESP32-WROOM-32D, to be exact.) to control the LEDs via that. However, from what I've found so far, there does not seem to be an rpi_ws281x equivalent library in MicroPython for microcontrollers. The only thing I've found is NeoPixel, but I'm not a huge fan of that library, mainly because I cannot find any documentation that covers all of its attributes and properties (so that I can "translate" my rpi_ws281x code to NeoPixel.) Is there a MicroPython version of rpi_ws281x? I've only found a couple but their code looks to be completely convoluted and confusing. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 3 replies
-
No, there isn't an exact port. rpi_ws281x is hardware specific to the Raspberry Pi. You're going to have to do some porting of your code, especially considering memory limitations of the ESP32 compared to the Raspberry Pi The docs for the standard MicroPython NeoPixel driver: The one feature that's consistently missing from MicroPython NeoPixel is setting brightness/intensity. MicroPython defaults to 100% brightness. The (possibly rather old) Warringer/micropython-rgbled wrapper seems to address this, but not in a way that's compatible with the rpi_ws281x library |
Beta Was this translation helpful? Give feedback.
No, there isn't an exact port. rpi_ws281x is hardware specific to the Raspberry Pi. You're going to have to do some porting of your code, especially considering memory limitations of the ESP32 compared to the Raspberry Pi
The docs for the standard MicroPython NeoPixel driver:
The one feature that's consistently missing from MicroPython NeoPixel is setting brightness/intensity. MicroPython defaults to 100% brightness. The (possibly rather old) Warringer/micropython-rgbled wrapper seems to address this, but not in a way that's compatible with the rpi_ws281x library