Neopixel Resistor Question

I was just reading on this tutorial on Adafriuit, Best Practices | Adafruit NeoPixel Überguide | Adafruit Learning System

It says

Place a 300 to 500 Ohm resistor between the Arduino data output pin and the input to the first NeoPixel. The resistor should be at the end of the wire closest to the NeoPixel(s), not the microcontroller. Some products already incorporate this resistor…if you’re not sure, add one…there’s no harm in doubling up!

Could someone explain why "The resistor should be at the end of the wire closest to the NeoPixel(s), not the microcontroller"?

It might have something to do with REFLECTED WAVE but since I have no experience with Neopixels I can't be sure.

All right thanks.

The Arduino pin is an output, it has about 30 to 40 ohms impedance to ground or Vcc, so its never going
to be troubled with voltage spikes generated by reflections. The neopixel is an input, high impedance,
and appears to have rather inadequate protection diodes so is easily damaged by reflections from an
unterminated cable (most cables have characteristic impedances of 100 ohms or so, which is a gross mismatch
for a high-Z logic input, so reflects a 2 x Vcc pulse)

Reflected wave ( in differential RS-485 systems like CAN , MODBUS, DEVICENET etc. ) has nothin to do with voltage spikes. The termination resistors (120 ohm) are there to prevent Reflected Wave due to impedance mismatch which corrupts the digital signals . Omitting the termination resistor doesn't cause voltage spikes. It causes corrupted data. As I stated, I am not familiar with Neopixel but the OP stated the location of the series resistor was critical. RS-495 termination resistors are Parallel ( Across the bus, from CAN Hi to CAN Lo ) , NOT SERIES , so there is a big difference. Perhaps I shouldn't have ventured a guess. Apparently I am not even in the ball park..
I'll refrain from further comment..

A reflection from an open circuit is a voltage spike! OK its only double the incident voltage,
but that's still a spike from the neopixel's point of view... If it's pad protection circuitry was adequate
it would tame the spike completely, rather than being damaged by it. Adding a resistor limits
the current that causes the damage to the neopixel pad (doesn't suppress the reflection, its still
an open circuit).

With typical ribbon or twisted pair the characteristic impedance is around 100 ohms, so in a 5V system there
is 50mA max available to do damage to the neopixel, but adding 500 ohms reduces that to <10mA.

All you need is a few m of CAT5 or coax, a clocked logic output and a reasonably fast 'scope to see
such reflections

I have never had problems plugging the neopixel input straight into the board. But, if this resistor is best practice - go nuts! Maybe it only becomes a thing if you have a long wire between the arduino and the neopixels. IIRC, any conductor has a small amount of inductance, so a long conductor will probably do odd things to 800kHz signals.

A reflection from an open circuit is a voltage spike! OK its only double the incident voltage,
but that's still a spike from the neopixel's point of view..

MarkT,
In the following video, the reflected wave is not seen as any increase or "spike" in the amplitude of the
test signal. If you play the video to it's end and don't touch your mouse or keyboard , another video will begin about how to measure cable impedance and correct it with proper termination. In neither case is any increase or spike seen in the amplitude of the original signal. Both videos are consistent with my understanding of "Reflected Wave" and neither video supports you comment above. I am not saying you are wrong. I am simply saying we are not on the same page and are talking about two different things.
Whatever you are talking about is not something I have witnessed and is not supported by either of the videos.

REFLECTED WAVE YOUTUBE VIDEO

But that transmission line isn't being driven by a voltage source. And the signal at the receiving
end is what we care about anyway.

Just hook up an Arduino output to a long twisted pair and look at the open-end with a scope,
not the transmitting end.

This is what the signal on the data line looks like with and without a resistor.

1 Like

Grumpy_Mike:
This is what the signal on the data line looks like with and without a resistor.

I think GrumpyMike has won the thread.

The trace suggests that an appropriately-valued capacitor after the resistor might make the signal better still. Not sure what values would be right.

1 Like