Each bottle has a strip of Skinny NeoPixels or a strand of NeoPixel Dots inside. I used the dots in the larger bottles and the strips in the smaller ones, depending on what would fit easily through the neck of the bottle. I soldered connectors onto each bottle - a male connector for the power and ground wires and a female for data IN and data OUT. This way the bottles are interchangeable, so I can move them around and switch them out for troubleshooting or aesthetic reasons.
The same exact wiring applies if you're using dots:
Being 100% consistent with wiring all the bottles is essential to keep your sanity for this project, especially as you start adding more bottles. If even one bottle is wired up differently, you could easily fry the whole system, so be consistent!
I'll go through a step-by-step process for wiring up the strip. If you're using NeoPixel dots, the connections will be exactly the same but you'll be soldering to wires instead of pads.
Start by cutting your 1m, 4-strand ribbon cable in half. This is just the right length to hang the bottles close to the tree. If you want lower hanging bottles, adjust the ribbon cable length accordingly -- you want the wire to reach up and over the branch so you can hide the connectors.
Cut your NeoPixel strip to length. I have about 12 pixels in every bottle, give or take. This is a great time to use up those leftover bits from other projects.
Solder one end of your 4-wire ribbon cable to the strip as shown. The fourth wire is soldered to the data OUT pad at the OUT end of the strip.
Separate the wires at the other end of your ribbon cable and strip 1/4" of shielding off.
Slip your heat shrink connectors onto a male and female 2-pin JST connector. Connect the four wires as shown. Don't shrink the heat shrink down just yet -- just twist the wires securely together. We'll test before securing.
Note: These connectors were salvaged from the ends of a NeoPixel strip so they're nicely color coded in white and black. You may have connectors that have two black wires, making it a bit harder to tell which is which. If you have that kind, it's a good idea to slip a bit of colored heat shrink, or some colored electrical tape or other marker to one wire so you don't get mixed up and solder anything backwards. It doesn't matter which wire you mark as long as you're consistent on every single connector.
Test each strip or strand before securing the heat shrink and sealing the ends of the NeoPixels. To test the strip:
- Load the code from the previous page onto your Circuit Playground
- Plug the strip's female (data) connector into your Circuit Playground's A1 connector
- Plug the strip's male (power) connector into a female connector with exposed / stripped ends
- Attach alligator clips from the exposed female connector to Circuit Playground's VBAT and G pads, as shown
- Make sure none of the un-shielded wire connections are touching each other!
- Plug your Circuit Playground (with code loaded) into power with a USB cable or battery
If all is working, hooray! You can now slide the heat shrink connectors over your wire joints and use a heat gun to seal the connections. You can also fill the ends of the silicone tubing with hot glue to secure the solder joints to the pads. Now it's time to do the next bottle. Make one for each bottle you plan to hang.
This method does NOT test the data OUT connection from each strip, but as long as the solder joint looks good and the strip lights up, you know you're 90% good with all the wires soldered to the right places, and you can pretty much move on.
If the strand does not light up, here are a few things to check:
- Do you have the code correctly loaded onto the Circuit Playground? Try uploading it again and make sure you're calling A1. If you're still not sure, try loading a simple rainbow "test" animation.
- Are any of the unshielded wires touching each other? They can cause a short if they touch.
- Did you mix up the wires on the connectors? This is very easy to do! If the Circuit Playground crashes or resets itself you may have power and ground switched. If the board seems fine, but there's just no light, you may have soldered to the OUT end of the pixels instead of the IN end. Power can flow either way but data must flow from IN to OUT.