testbericht zum WS2812

Hi. I found this thread looking for people using OctoWS2811 (the library I released a few days ago). Sorry about the English reply... I don't speak German. :frowning:

One difficulty with using an ATMEGA1284P is the interrupts must be disabled while the WS2811 output is generated. Each WS2811 LED requires 30 microseconds. If you update 240 LEDs, the interrupts must be disabled 7.2 milliseconds.

During those 7.2 millseconds, the ATMEGA1284P can not reliably receive more than 2 bytes of serial data, because the AVR USART has only a two byte buffer. If your Due transmits with a baud rate faster than 2777 bits/sec, it must not send during those 7.2 milliseconds. You will need to connect another signal from each ATMEGA1284P to the Due, so it can know when the ATMEGA1284P is "blind". If the Due waits until after the 7.2 millisecond blind time, then this system should be able to work.

I designed OctoWS2811 to solve these types of problems. The CPU remains free for your use, and interrupts are enabled while the WS2811 LEDs update, so you can receive serial communication or use other libraries which require interrupts.

Of course I hope you'll consider Teensy 3.0 for a future project. If you already have the Due and ATMEGA1284P chips, hopefully this message will at least help design your program to avoid frustrating data loss during those blind times while interrupts must be disabled.