NeoPixel color data must travel from the “in” end of the strand to the “out” end. Examine the backs of the pixels very closely. Printed on the PCB, you might see either some data direction arrows, or the words “IN” and “OUT” between pads. The weatherproofing epoxy makes things murky and you may need to look at several pixels before finding one. This is important! If you connect the microcontroller to the wrong end, the lights won't work.
If you have multiple LED strands, plug them into each other to create one long überstrand.
Each strand should have a pair of extra wires with exposed ends, for connecting power. Only one of these pairs is required. The rest should have their exposed tips trimmed flush or covered with tape or heat-shrink tubing to prevent electrical shorts.
For 1 to 3 linked strands, let’s use the pair of wires at the end. For longer strands, choose a pair near the middle.
Connect a female DC power adapter using the screw connectors, being super extra careful to follow the polarity markings stamped on the DC jack:
- + (plus) connects to the strand’s red wire
- – (minus) to the opposite wire
You may need to strip away a little extra insulation from the wires to make a good connection with the terminals. Tug a little on each wire to make sure it's firmly in place.
To connect the microcontroller at the “input” end of the strand, I soldered up this little adapter cable using a 3-pin JST plug (to the LEDs), a 2-pin JST cable (to the Circuit Playground, Flora or Gemma board) and one end of an alligator jumper cable.
Don’t just follow the picture, take a good look at your actual hardware and be super extra careful to get the connections right:
- The RED wire from the LED strand should connect to the RED wire on the 2-pin JST plug. (If using an all-black 3-pin JST cable, as shown here, carefully follow the wires from the LED strand all the way through.)
- The OPPOSITE wire from the LED strand (furthest from the red wire) should connect to the BLACK wire on the 2-pin JST plug.
- The MIDDLE wire should go to the ’gator clip, which can then be clipped to the appropriate pad on the microcontroller board.
If you don’t have these exact parts on-hand, it’s usually okay to improvise.
For example, if you don’t have or are unwilling to sacrifice an alligator cable, you can solder a wire directly to one of the pads on the microcontroller board. This is easily removed later by re-melting the solder and you can then use the board in other projects.
If you don’t have a 3-pin JST plug, and you’re 100% okay sacrificing the “output” end of your LED strand, you can cut that plug off and use it as an input-end adapter. Do this at the mid-point between the plug and the last pixel, so there’s enough wire to be useful. Was your DC jack connected to the extra power wires there? That’s okay! Remember, the strand can accept power from either end.
The wiring diagram and code both show the NeoPixel data connected to digital pin 6. If using Circuit Playground or Gemma M0, the number and sequence of pads is different, and you’ll need to modify the code to reflect what pin has the NeoPixels connected. It’s fairly early in the sketch:
Double-check all your connections: 5V, ground and NeoPixel data. If you have a multimeter with a continuity beep function, the “–” (minus) terminal on the DC jack should beep in response to any “GND” pad on the microcontroller board.
If everything looks good, connect a power supply and watch the pretty light show!