Data line resistors - do we really need them?

tl;dr; yes

longer answer: maybe, maybe not

There are three reasons for having resistors.

  1. Reducing noise
  2. circuit protection
  3. prevent power leeching

So let’s go through them:

  1. Noise: I’m not sure if this is a real thing or not. I think the idea stems from something called impedance matching. Impedance matching is important at high frequencies, but 800kHz is not a very high frequency.

  2. Circuit protection: This one is important if there is any chance of getting battery voltage back through the data pin. Data2 and Data3 are 5v tolerant, so they should be able to handle battery voltages, but Data1 and Data4 are not, and so if you hook them up to a pogo pin connector (where shorts are common) then a resistor is a MUST. (Of course Data1 already has one, so it’s already covered.) For data2 and data3, I would still recommend resistors if you’re hooking it up to a pogo pin connector.

  3. power leeching: Some pixels (but not all) will go into low-impedance mode and draw power from the data line when they don’t get power from the LED pad. Modern versions of ProffieOS will put the pin in input mode when it powers down the pixels, which reduces the scope of the problem, but there are still cases where this happens. Basically; if you see a LED that stays on when it’s supposed to be off, a resistor on the data line might be needed. There is also a possibility of reverse power leeching where the CPU is getting power from the pixels when the CPU is supposed to be off.

Summary:

  • If your data line goes through a connector that could possibly cause a short, make sure you have a resistor.
  • If your neopixels stay on when they aren’t supposed to, make sure you have a resistor
  • if your off switch is on BATT+ and your saber is still drawing some power when off, make sure you have a resistor
  • If none of the above applies, then you don’t need a resistor
4 Likes