7
\$\begingroup\$

Adafruit's best practices for their Neopixel LED strings say:

Place a 300 to 500 Ohm resistor between the Arduino data output pin and the input to the first NeoPixel.

What is the purpose of this optional but recommended resistor?

\$\endgroup\$
5
\$\begingroup\$

http://learn.adafruit.com/adafruit-neopixel-uberguide/power claims "can help prevent voltage spikes that might otherwise damage your first pixel".

In conjunction with the other warning about connecting ground first, I think it's there to prevent current flowing through the clamp or parasitic diodes between the data line and the positive power rail. It limits the current into the pin. Potentially if you have the data line connected but the positive power rail disconnected, it might attempt to power the LED through the data pin and burn it out.

It will also very slightly mitigate damage from static charge building up on one end of the data line while disconnected, and it will act as a termination resistor reducing "ringing" from signal edges. Normally termination resistors are smaller, though.

| improve this answer | |
\$\endgroup\$
  • 1
    \$\begingroup\$ On my scope it visibly reduces slew rate and removes ringing i.e. forms a RC low pass filter. \$\endgroup\$ – ChrisR Jun 29 '16 at 14:29
  • \$\begingroup\$ Where are you looking, between the resistor and the drive pin or between the resistor and the Neopixel input pin? If the goal was to make a low pass filter with the capacitance of the input pin as the C, wouldn't it make more sense to the the R between the data line and ground rather than in series with the C? \$\endgroup\$ – bigjosh Feb 12 '18 at 19:54
  • 1
    \$\begingroup\$ That's it's own question. \$\endgroup\$ – Passerby Feb 12 '18 at 20:50
0
\$\begingroup\$

This plays an important role in limiting the current into the Arduino's data pin. Without this resistor, you could potentially have a short that will cause a current spike and overload your pin, potentially damaging your board.

I actually had this happen on a different microcontroller I was using that had lower current limits than the Arduino. Forgot the resistor and my data pin overloaded and blew a fuse in the board.

Do use the resistor!

| improve this answer | |
\$\endgroup\$
  • 2
    \$\begingroup\$ The NeoPixel data input pin is high impedance and does not source or sink a significant amount of current (typically less than 1uA). Where do you think the short would be? \$\endgroup\$ – bigjosh Dec 29 '14 at 18:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.