Caffeinated Panda Creations

Neopixel cyberfalls

16th October 2014

Recently we've had a lot of interest in our new neopixel-based cyberfalls, so we thought we'd take the time to write a blog to answer some of your questions and give you an insight into how we made them. Enjoy!

So what are neopixels?

For awhile we've been making illuminated cyberfall sets based on el wire technology. El wire is fairly straight forward to work with (though a little tricky in parts - we'll do another blog on that soon!) but does have the limitations of colour availability and requires a special driver (aka an inverter) to run. You're also then limited to on / off / various blinks depending on the capability of the driver.

Much as we like el wire (and we do!) and however awesome it is, we just had to ask the question: "How can we get more awesome?"

Neopixels are, in short, intelligent LEDs. Whereas a normal LED (with a couple of exceptions) are single colour, a neopixel provides a full RGB programmable colour spectrum. Each neopixel in a strip (or a ring, a matrix for that matter) are individually addressable. That means at any one time each neopixel can be programmed to display a different colour or different brightness.

In this set we chose to use 60-per-metre neopixel strips (they're also available in 30- and 144-per-metre strips) which were split into 6 individual strips (of 20, 20, 15, 15, 15, 15 neopixels each). Each strip was then mounted inside a piece of 3/4" tubular crin and secured using mini zipties. This set of cyberfalls is completely black (stealth falls!) - this is because, due to the brightness of the neopixels, we can make them appear any colour we want when they're switched on and neutral at other times.

Driving the pixels

Of course, neopixels on their own are a bit useless - they need something to power and drive them.

For this we chose the Adafruit GEMMA. At arount 28mm across and designed specifically for wearable tech, the circular GEMMA is an ideal size for mounting into the cyberfalls themselves. Due to it's small size the GEMMA can run on average up to around 100 separate neopixels at a time (and this naturally influenced our choice of strips as above).

Obviously we didn't want bear metal exposed in the falls so we encased the board in a panda-designed 3D printed housing which keeps it neat and should provide some moisture protection.

This was then mounted atop a modified version of our pin-based falls attachment system. For extra security, instead of simply gluing in place, we connected the housing and pin via plastic welding - essentially using an old soldering iron (seriously, don't do this with your nice clean new soldering tips as you're gonna get gunked with plastic!) and a little spare PLA plastic filament to melt the parts together.

Each neopixel strip has three connections - +pos, -neg and data - which means three wires from each. All the +pos's common together as do the -neg's before running to the GEMMA, whereas the data connections come together in pairs (which lets us run each pair independently off the GEMMA's three data pins). As you can see from the picture this currently makes for quite a wiring nest in our prototype! We're aiming to tidy up these wires before a proper release version so that they're fair less noticeable - the colour coding was for our benefit - and far more protected :)

As for power? There are two options for powering the GEMMA:

Use a lithium polymer 3.7v battery (we'll be looking into this going forward)

Use USB power (same socket as used to program)

In this case we chose option 2 and used a USB backup phone charger battery as it's compact and has a high capacity (needs to be able to survive a long night of partying!). The downside to this is that the battery is too big to be mounted in the falls and so we've made do with slipping it in a pocket and running the USB cable up to the GEMMA. Looking forward we're hoping to be able to use smaller lipo (lithium polymer) batteries that can be mounted within the falls or maybe a set of cyber goggles to do away with the run-down-your-back wire :)

Making them live!

Now we've got the neopixels and GEMMA wired but that still doesn't make them do anything. Before that can happen we need to write a program and load it into the GEMMA. For this we used the freely available arduino IDE.

Programs for the GEMMA via the IDE are written in c++ using some library functions. We're still finding our way how to get the best from the code but we'll publish it if anyone's interested in checking it out.

Once the program's written it's uploaded via the IDE to the GEMMA (which handily has a built in boot loader) using the USB connection. One major advantage to this simplicity is that theoretically we can update and reload code in-the-field so to speak! Run out of matching glowsticks and can only source another colour? Just reload the program with some different parameters!

How much do they cost and how do I get some?

Ah yes, the important questions! Right now we don't have a clear guide price as they're still experimental and more work needs to be done to standardise and ruggedise the design to specs that can survive the hardest partying.

Price wise we're very roughly looking at a base price around £120.

Currently we have no lead time on sets (for the reasons mentioned above) but if you're interested please get in touch.