I think I had this idea of stuffing LEDs down the stripes of track jackets many years ago but the technology wasn’t there at the time. I was probably assembling my LED matrix hoodie and wanting a way to keep the LEDs captive and straight. With the package size of addressable LEDs shrinking we now have ones that are small enough to to fit inside factory sewn stripes. My friends and I have built a few of these now and I wanted to share some of the techniques we use to make a hopefully robust glowing jacket. (tl;dr at the end)
First let’s cover the LEDs: Addressable LEDs are everywhere these days and easy to work with. You’ll commonly find them from vendors on flexible circuit board strips that are 12mm wide and with 60 LEDs per meter. The LED has red, blue, and green elements so it has full color output when mixed. The WS2812/SK6812 control silicon is built in so you don’t need a separate chip. The package is called a 5050 because it is 5x5mm.
What’s happened in the last year though is that the package size has started to shrink. I found 3535 LEDs on strips that are only 5mm wide and that’s what made me pull the trigger on this project.
The jacket I picked is the adidas Originals Superstar Track Jacket. I wanted this one because it features the iconic trefoil logo and calls back to the 80’s b-boy b-girl era. What we’re really looking for is how the stripes are attached. The white stripes are sewn on top of the black base jacket using two parallel rows of stitches 8mm apart. This creates a fabric tube that we can insert our LEDs into.
I completed work on my first jacket in June. I took the 3535 LED strips, cut them to an appropriate length of 43 LEDs, made a slit inside the jacket at the top of each stripe, and then inch wormed the LEDs down the length. Lit up, this made for a solid proof of concept, but there were some serious reliability issues and fixing those are what this project journey is really about.
Types of failure
The first failure was the ends of the strips. Working the strip down the length using your fingers created a lot of fatigue on the actual strip to the point that it would break the copper traces. The repair for this is to cut a slit at the bottom of the sleeve and pull the offending chunk out to be removed or resoldered. The second failure was from normal arm movements. The flexible PCB would develop breaks that spanned the entire circuit board width. These could be repaired by adding a solder bead across the solder pads on both the front and back of the strip. And yes, it always failed at the copper pads. I think this happens because it has the thinnest cross section; the rest of the strip is covered in solder mask front and back but not the solder points between each LED. The final failure happens at the factory strip solder joints. The flexible LED strips are actually manufactured as giant rectangular sheets that are cut into thin strips that get soldered end to end to make a reel of LEDs. Those overlapping solder joints actually fail at a higher rate than our hand soldered repairs. Of note though is that we’ve never had an LED leg pop off of a strip.
Here’s what we did to improve survivability of the strips in the jacket: First we added polypropylene strapping to the back of the strip. You’ll find this strapping often in white on cardboard boxes acting as reinforcement. You can get it in a cheap 300ft reel from McMaster and apply it to the strip using the adhesive already on the LEDs. The polypropylene is wider than the LED strip but it’s easy to tear it down to the right width thanks to its grain direction. You definitely don’t want it oversized since there’s no room to spare inside the stripe. Next thing to be done is to cover the strip in clear 6mm polyolefin heat shrink tubing. This adds another layer of resilience while also making it easier to slide the LEDs into the stripe. Make sure you have a heat gun with solid temperature control! The plastic strapping melts at a higher temperature than the heat shrink but if you hit the temperature the strapping will constrict, kinking the LEDs. The final part of our jacket LED strip module is the pigtail. We’re using 3 wire JST SH pigtails. They’re much smaller than the standard JST SM style connectors that ship with LED reels which saves on weight and they deliver plenty of current for what we’re doing.
Now comes the installation. You need something sharp to cut the fabric. I use fabric scissors which are just any pair of scissors that hasn’t been used to cut paper ever. EVER. The delicate knit of the jacket will unravel without treatment so I use Fray Check Seam Sealant to prevent the raw cut from coming apart. To complete this recipe for success you need one final thing: mineral oil. This was discovered by Dave, if you lubricate the exterior of your heat shrinked LED strips, they’ll slide a majority of the way into the stripe before you need to start hand manipulating them to the bottom. This is the clencher of the project. If this assembly method hadn’t been discovered, I doubt I’d be recommending people attempt this since before lubrication it took almost an hour per stripe to assemble.
Controlling the LEDs can be as straightforward as any other project. In my first build, I created a harness that wired the 6 JST SH connectors to 1 JST SM input. I connected that to one of my Teensy LC breakouts and tested the jacket with my standard demo code. The strip design should be strong enough at this point that they’ll survive the install and everything should just work but you should have definitely checked them before shoving them in the jacket.
Now tying six inputs together isn’t nearly as interesting as driving the strips separately. I purchased Adafruit’s ATSAMD21 based Feather board and their NeoPXL8 breakout. I liked the size of the boards and hadn’t worked with the MCU so I wanted a new experience. It worked easily and didn’t require me to use bulky RJ45 connectors. But that got put on the back burner since another opportunity came up.
Adelle Lin and Matt Pinner reached out after seeing my original jacket prototype. A few years ago they developed the Tiny Gang, a set of LED jackets that could talk wirelessly with each other, displaying patterns in unison. They wanted to make jackets in my style and our deadline was the totally not Blade Runner popup bar in November. The original Tiny Gang used Xbee radios which are easy to use but not very economical so I suggested they try the ESP32 instead which has a wifi radio. The new TrackStar code designed for SparkFun ESP32 Thing is now in the tinygang repository. They also made the suggestion of using white velcro on the LED face to attach LEDS in an easy to remove fashion.
We had 7 people with jackets at the event both Superstar style and also in mesh. It was a smashing success. You can find more photos of the jackets in the wild by Pinguino Kolb.
Now the whole point of this post: You should make your own!
(Amazon links are affiliate)
adidas Originals Men’s Superstar Track Jacket
This is the jacket I used. Others will work but the stripe construction might be slightly different (e.g. narrower).
SK6812MINI-3535 LED strip 60pixels/m 4m/roll
We used 43 pixels per jacket stripe, but if you only used 40, one $24 roll would be enough for the jacket. Ray Wu is an AliExpress vendor I’ve had a lot of success with.
3/8″ wide polypropylene plastic strapping
Stick this to the back of the strip and then trim it down so it doesn’t overhang the sides.
6mm clear heat shrink
Put this over your LED and strapping combo but take care when shrinking so you don’t accidentally shrink the strapping.
JST 1.25mm 3-pin pigtails
Use this for your LED strip ends and building your harness. I’m not sure what the proper name of this connector is since JST doesn’t actually make a wire-to-wire connector in this pitch.
Fray Check Liquid Seam Sealant
After you cut the slit in the back of each jacket stripe, apply this to keep the knit from unraveling.
Apply this to the outside of the heatshrink to assist in inserting the LEDs into the jacket.
That’s it for assembling the jacket. Use whatever LED control you prefer!
The tinygang github has everything you need to join the crew with an ESP32.
While this design is fairly robust there are things that could change to make it more reliable. Could we get custom LED strip manufactured 700mm long? That would eliminate factory strip junctions. We could eliminate the cut points so the whole strip is covered in solder mask. We could also use slightly thicker copper. The IP67 silicone coating on LED strips is one of my favorites, but I haven’t seen it in this size yet. They make 2020 LED strips at 144/m and 120/m densities on even narrower strips. The high density will surely look cool but I haven’t tried them yet.
On the control side, I’ve yet to dive into controlling the strips separately. I’d love to try getting text scroll working along with many other things.
I hope you build one. Send me updates at @eliot.