Though the circuit isn’t complex, it needs to fit into a very tiny space. You’ll need sharp tools in good shape, wire in multiple gauges (26 ga for power, 30 ga for signals), stinky adhesives and — most of all — patience and perseverance.
Also, heads up: this requires really solid soldering. Poi get dropped, they collide and they smack into things. The plastic soda capsule that’s so useful against moisture and playa dust does nothing to reduce physical shock. Cold solder joints — where solder beads up on the surface, not flowing smoothly between parts — will not withstand shock. Connections will break (often invisibly) and your poi will misbehave or stop working entirely, and you’ll be sad. The Adafruit Guide to Excellent Soldering demonstrates some good solder joints vs. duds.
Okay! No more doom & gloom, let’s get on with this thing!
The circuit consists of two 16-pixel DotStar strips, the Trinket microcontroller, LiPoly battery and packpack, and a single button and switch. Charging and programming are through the USB port.
If you don’t already have the DotStar library for Arduino installed, skip ahead to the “Code” page for a moment and set that up, then return here. Go ahead and download the poi software as long as you’re there.
If you peer closely at the LED strip you’ll see the + and – connections are labeled, and arrows show the direction of data from “in” to “out” … but these 144 LED/m DotStar strips are packed so tightly, there’s no space for “data in” or “clock in” labels!
Manufacturers make production changes from time to time…so rather than give you a specific pinout, it’s best if you decipher it and make a note for yourself to refer to later…
Use jumper wires and a spare Arduino if you have one, else you can solder temporary connections to the Trinket board.
+ and – connect to 5V and GND on the Arduino (or USB+ and GND on Trinket).
Load up the the strandtest example sketch included with the DotStar library.
Change the 'NUMPIXELS' value to 64 (enough LEDs for two poi). Just below this, you’ll see 'DATAPIN' and 'CLOCKPIN'. If using a Trinket, change these to 1 and 2. Then connect wires from the two defined pins to the two free connections on the strip. Press the upload button to transfer the code to the Arduino board.
If the strip lights up, fantastic! Now you know the positions of the clock & data pins relative to + and –. Write it down!
It’s normal for just the first section of the strip to cycle colors, not the whole thing, and you’ll see one white pixel at the end of the lit section.
If the strip does not light up, either switch the two wires, or switch the two numbers in the code (and upload again). If it still doesn’t light up, try connecting at the opposite end of the strip (you might also need to try the clock/data swap again at this end).
If no combination seems to work, start a new thread in the Adafruit Forums for help. Please try to provide at least one photo that clearly shows your connections between the strip and Arduino, and any other relevant information you can provide (computer operating system, version of Arduino IDE, etc.).
When it works and you have your notes, disconnect all the wires.
Now open the 'poi' sketch (if you didn’t download this before, skip ahead to the “Code” page for the link). Select Tools→Board→Adafruit Trinket 16 MHz, plug a USB cable into one of your Trinket boards and then press the Upload button. Repeat with the second board. This pre-loading step will make it easier to test the electronics later before everything’s sealed up.
Before we do any soldering, let’s lay out all the pieces to familiarize ourselves with the plan…see where every piece fits and do any last-minute cleanup of the 3D printed parts.
- The flat areas on the insert are where the LED strips will go, with the input pads toward the tip.
- There’s a slot at the tip where the Trinket board will nestle.
- Another slot mid-way holds the LiPoly backpack. The edge of this board needs to sit juuuust flush with the edge of the insert…if it protrudes, there’s probably still some plastic cruft still to be scraped away in the slot. The battery connector should point “down,” toward the base.
- The battery slots into the base, with the wires pointed “out.” Be sure there’s no stabby plastic residue in the slot…file it smooth if necessary.
- Switch and button were already test-fit, you know where those go.
Prep work done! Flick on your soldering iron for the next phase…