Question about shift registers and neopixels

Short version with just the question:
Since neopixels have shift registers built in(if I understand correctly), is it be possible to connect a neopixel to the serial out of a shift register or does it have to be added as an output of the shift register?

Long version with the intended application and reason I am trying to use serial out rather than an I/O:
I am trying to create an application using an arduino to control up to 15-20 "devices". The goal is to create a DIY kit to manage a queue. Each device will consist of a button(tact switch button), 2 digit 7 segment LED's(TOS-5161AS-B), and a RGB led(Flora RGB Smart NeoPixel is what I am thinking). I am new to using arduino's and have novice skills in programming languages.

Based on my understanding, this would require the following out of the arduino for each "device":

  • 5v
  • ground
  • 1 input from switch
  • 8 outputs per 7 segment for 7(16 total)
  • 1 output for neopixel

Total: 20 "connections" to the arduino with 18 I/O's used per device

If I use 2 shift registers(74HC595) it appears I can reduce the number of outputs from 16 for the 7-segments to 3. This leaves me with the following per device:

  • 5v
  • ground
  • 1 input from switch
  • 3 outputs for 7 segments
  • 1 output for neopixel

Total: 7 "connections" to the arduino with 5 I/O's used per device

At this point, from my understanding, I could use something like an RJ45(since it has 8 pins) cable to connect each device and "connection" to the arduino. But, I would love to cut 1 more I/O from the arduino if I could and potentially use RJ11 instead of RJ45 to save space and make "stringing" each device to the arduino easier with a thinner cable.

If what I wrote so far is wrong, then the question doesn't matter. Please correct me if my understanding is incorrect so far :slight_smile:

All that to ask this question. In order to move from 5 outputs on the arduino to 4(3 outputs for LED's and an input), I think I need to add a third shift register and 8 outputs when I only need 1. However, since the neopixels have shift registers built in(if I understand correctly), would it be possible to connect a neopixel to the serial out of the second shift register instead of adding it to the output of a third shift register?

gsagentx:
Since neopixels have shift registers built in(if I understand correctly), is it be possible to connect a neopixel to the serial out of a shift register or does it have to be added as an output of the shift register?

Not unless you are using a PentiumTM or better processor to drive it.

Neopixels are critically timing dependent.

This is the WS2812 datasheet, that neopixels are made of.
You can see from the timing of the clock signal needed that the steady stream of data from a serial port will not be adequate for creating the timing needed.

WS2812B_preliminary.pdf (347 KB)