Just read this
"if you’re in a dry or static-prone climate, don’t connect the NeoPixel DIN line directly. Use this simple circuit instead:
Put a 330 Ohm resistor between Arduino pin 6 and DIN on the strip (a slightly larger resistor like 500 Ohms is fine, if that’s what you have around).
Put a 100K resistor between DIN and GND.
(This is a simplified diagram; the actual NeoPixel strip has a plug on the input.)
You can do this even if you’re not in a dry climate. Better safe than sorry."
What are your thoughts - is this required? Why?
I’ve never used this before and I’m wondering if that made my Infinity Mirror Clock to malfunction.
Although I don’t use long strips, I’d probably use a very similar wiring setup if I did. May be add a 1,000uf capacitor between Vcc and Gnd as well.
I highly doubt the resistors are the cause of malfunction. I would bet that your issues were directly related to the lack of heat dissipation in the clock. Heat is what kills electronics over an extended period of time.
I’m not sure what that’s supposed to accomplish… It’s basically just a voltage divider that’s very-slightly reducing the voltage of the DIN signal, right? In a dry climate, I’d think you’d mainly worry about static, and to protect against that, you’d probably want a diode, capacitor, or maybe an inductor?
My understanding of why you want to put a resistor in the data line is two fold:
First to help reduce “ringing” from signal edges and reduce data signal glitches.
Second, to help prevent damage to the MCU pin or first pixel by limiting current on the data line if there’s a short circuit, or a voltage leak from the power line to data line through the pixel because ground is unhooked.
I’ve seen resistor size recommendations ranging from 110 to 470 ohms. I’ve used 470 ohm resistors on the end of the data line just before the first pixel. I’ve also seen them placed at the beginning of the data line at the MCU pin, but I think you want them next to the first pixel to best help with reducing “ringing”.
Static buildup that ends in a short can charge a circuit in a way not originally intended or at voltages beyond a component’s rating. A resistor would help reduce current flow and maybe prevent static from damaging something. Maybe. Static discharge in small electronics is bad stuff.
I’ve never read about about tying the data line to ground through a resister, but I guess the point would be to allow static buildup to dissipate to ground, and not build up.
What @marmil said is quite correct. I actually met with the WorldSemi chip designers back in late 2013 when I was working on a big LED project, and discussed ESD problems with them. The internal ESD diode on the WS2812 die was decreased in size during 2013 (presumably to increase yield per wafer), and we had a noticeable decrease in working strings from our production line.
I’d recommend the first input in a string should be protected via a 330 ohm series resistor. This will reduce current in a static discharge, and also significantly decreases ringing (which affects signal integrity, and could even affect life expectancy). The pulldown will help dissipate any charge buildup. Note that the resistors should be mounted at the input to the first LED in the string string, not on the output of your controller. Later LEDs in the string are better protected as their input isn’t left floating if you unplug the string from the controller.
Including the series resistor along the whole chain along with a small capacitor to GND (I use 330R on DI, and 75R & 220pF on DO) will provide a big reduction in EMI, but that is usually only a concern to commercial products. I’m dissapointed that none of the LED strips/strings on he market seem to include this - it wouldn’t add much cost, and in many cases the standard setup wouldn’t pass FCC/EMI regulations with a “dynamic” display in operation.
Here is a schematic showing my LED string design.
These were built as 50 LEDs on a 7m “string”. With the extra components it passed FCC testing with flying colours. Note that without the series resistors or output capacitor it failed compliance testing, as it acted as a massive antenna radiating EMI, although it was really only a problem during high frame rates.
Thanks. That makes sense.
Thanks @marmil and @Kean_Maizels for the info!