-->
Page 1 of 1

WS2812 driver library using I2S interface (for Arduino IDE)

PostPosted: Mon Oct 26, 2015 2:53 pm
by joda
Hi,

For my first ESP8266 project I needed to drive 100 WS2812 led's (strip). I started off withy NodeMCU doing some Lua programming. I gave up on this due to some performance issues of my application.

As such i moved to the Arduino IDE. Here I had quite some issue with stability as driving ws2812 led's by using bit-banging can be tricky....like disabling interrupt too long can cause resets...

Doing some googling i found some work on using the I2S interface driving WS2812 led-strips....great news...this is what i was looking for..as such i took some initial work (https://github.com/cnlohr/esp8266ws2812i2s) and transformed this into my first Arduino library.

I also added some nice features :

Gamma-correction : create a (more) linear intensity curve

Temporal dithering : virtually create more bits (like 10 bits per R/G/B value) to allow a more smoother intensity profiles & partly compensating for the quantisation effects of the gamma-correction

The library can be found on github : https://github.com/JoDaNl/esp8266_ws2812_i2s
I would say it's an early beta...but usable for first experiments.

I will update & enhance the lib the coming weeks.

Re: WS2812 driver library using I2S interface (for Arduino I

PostPosted: Sun Dec 13, 2015 4:17 am
by St3venAU
Thanks very much for this. This library is exactly what I've been looking for!