user46621: I am wondering if anyone has ever connected the output of their LED strip back to the Arduino to read and make sure the strip is functioning correctly, kinda like checksum functionality.
I am using the FastLed library and it doesn't appear that this has been done.
The reason why I want to do this is because when an LED breaks on the strip, it causes all of the following LEDs to flicker wildly. I need to be able to shut the LED strip off immediately if it starts flickering because my device is being used as a visual therapy aid in a school.
I am using an Arduino Due with WS2812B LED strip.

user42539: Look at timing on sheet 4 of the datasheet, and the times on sheet 3
A Low bit is 400 +/- 150nS wide Low followed by a 800 +/- 150nS wide High
A High bit is 850 +/- 150nS wide High follow by a 450nS wide Low.
To do what you suggest with a checksum, you'd have to send the checksum (minimum of 3 bytes to fake the data for an extra WS2812B for example) first, and see if the 24 bits were received correctly while at the same time the last 3 bytes were being sent out.
A Due might be fast enough to do that. I don't think a 16 MHz Arduino could.
Checking power level is not really feasible, as many strips get power attached to the beginning, middle, and end of a strip to ensure uniform brightness and to keep the strip's power traces from overheating from excess current flow.

46621: <p>I am wondering if anyone has ever connected the output of their LED strip back to the Arduino to read and make sure the strip is functioning correctly, kinda like checksum functionality.</p>

<p>I am using the FastLed library and it doesn't appear that this has been done.</p>

<p>The reason why I want to do this is because when an LED breaks on the strip, it causes all of the following LEDs to flicker wildly. I need to be able to shut the LED strip off immediately if it starts flickering because my device is being used as a visual therapy aid in a school.</p>

<p>I am using an Arduino Due with WS2812B LED strip.</p>
 42539: <p>Look at timing on sheet 4 of the datasheet, and the times on sheet 3</p>

<p>A Low bit is 400 +/- 150nS wide Low followed by a 800 +/- 150nS wide High</p>

<p>A High bit is 850 +/- 150nS wide High follow by a 450nS wide Low.</p>

<p>To do what you suggest with a checksum, you'd have to send the checksum (minimum of 3 bytes to fake the data for an extra WS2812B for example) first, and see if the 24 bits were received correctly while at the same time the last 3 bytes were being sent out.</p>

<p>A Due might be fast enough to do that. I don't think a 16 MHz Arduino could.</p>

<p>Checking power level is not really feasible, as many strips get power attached to the beginning, middle, and end of a strip to ensure uniform brightness and to keep the strip's power traces from overheating from excess current flow.</p>
