This is the story of the LED jacket I helped make for Chance the Rapper. The team consisted of Laura, Katrina, Victoria, and myself. Whitney Middleton is Chance’s lead stylist; she commissioned Laura and Katrina, her regular … ahh this is boring.
Whitney asked Laura and Katrina, and they found a lot of purpose-made hardware sold by the folks over at Adafruit. Laura contacted her engineering friend Victoria who contacted me, and I assured them it could be easily done. I sent them a bill of materials and drove up on Tuesday morning with my soldering iron and DMM. After over 500 individual stitches and solder joints, we finished in about 72 hours.
All of us working at the same time
Here are the broad strokes:
Adafruit also makes Neopixels which are small but powerful RGB LEDs that can be controlled by a simple communication protocol described in this datasheet and implemented in this library on Github. The real beauty is that the Neopixels are chainable along the 1-wire data bus, the microcontroller’s memory capacity being the only limiting factor. We bought 160 of them, and ended up using 122.
The layout of the jacket
Power requirements. Each Neopixel is bright, and draws around 65mA at full power, so a fully lit up jacket would be drawing almost 8 amps. I got an RC car lithium polymer battery from amazon that was rated for high current draw. It was also a 7.4 volt battery, meaning it was two stacked lithium polymer batteries in series.
The voltage regulator box supplies 5 V up to 8 A
The wiring took some thought. We were using 30 gauge silicon insulated stranded wire. This was fine for the data bus but each Neopixel needed to be connected to 5V and ground. Rough math was that we could only power about 12 Neopixels with the 30 gauge wire. 18 or 20 gauge lamp cord would have been beefy enough for the whole jacket, but using that thick a wire to each and Neopixel would not have been workable. It was a very tight fitting jacket to begin with, and he is a very dynamic performer. Anyway, the solution was to solder the power bus in groups of ~12 Neopixels with the 30 gauge wire, then have a short run of lamp cord soldered to each small “grouping” of Neopixels. The power bus for each group was also arranged in a ring pattern, which gave us a failsafe in case one of the solder joints (or wires) broke.
The neopixels stitched onto the jacket and the data bus soldered
Why did we solder all the joints and not use stainless steel thread like the Adafruit people recommend? Well, first, there are 3 wire busses running to and from every Neopixel. It’s a rats nest of wires in there and there’s really no way to be sure that exposed wire wouldn’t short. Perhaps if every bus had its own layer and we minimized cross stitching, but soldering each joint seemed like it would take less time. Also, at 8 amps, short circuits were a safety concern. We didn’t want to risk any short circuits.
Turning the thing on after all that soldering, there were only 2 bugs
Programming the thing. The github library takes care of the PIO for the data bus, and also includes a data structure for storing the state of the Neopixels. Once you have your state–RGB color data for each Neopixel along the chain–you refresh the LEDs and viola. There are a whole lot of lighting tricks I programmed. View the code on Victoria’s Github here.