Jonathan Warren

Wires Expert GitHub YouTube Blogger LinkedIn

Devil Sticks

Fall 2019 / Winter 2020

A friend who practices Devil Sticks (remember that?!) asked me if I could build a cool light-up version, and I thought that sounded like a pretty cool challenge. I'll be honest: I didn't do a great job of documenting this one, so you're getting a few fun videos and what I remember of the build.

The core concept felt pretty straightforward: use some high-density NeoPixels, make them double-sided, put them in a strong clear tube, and add a diffuser/shock absorption. As always, the devil is in the details! Hehe.

Shopping List

The hardest part of this project (and least documented, sorry!) was getting everything to fit in the tube and be as robust as possible, since this thing is going to get knocked around a lot. I didn't have great tools at the time so I just chipped away at it (quite literally) every evening. I'd wanted the unit to be entirely contained, with just a power switch at one end, and a selection button and charging port at the other.

After many design iterations, I knew I had to keep the battery at one end of the stick and the controller at the other, so the lights would be as symmetrical as possible. Without running extra wiring from one end to the other, I didn't have a great way to charge the battery, and so I ultimately decided to make the battery removable, with an external charger. The downside to this approach is I had to construct a battery holder inside the tube, with a restraint system to keep the battery from popping out. Easier said than done, and what I would have given to have had my 3D printer at that time. You can see in the final video that some whacks are still enough to momentarily disconnect the battery and reset the controller.

Finally, I decided to use heat-shrink to diffuse the NeoPixels and provide some shock absorption for the tube. I sourced the heat-shrink from a local electronics shop, but it was a little too big, and resulted in some bubbling in the final product. If I were to do this again, I'd definitely find the exact stuff I need from somewhere like Digi-Key.

The animations I built were mostly based on the StrandTest example code and some other animations I'd built in other projects, modified to be symmetrical (i.e. not move from one end to the other, but from the middle to the ends). I've shared my code on GitHub.

While I'm pretty confident it's broken by now, it was a fun little project!