Show HN: Making a flexible "neon" t-shirt with LED filaments

原始链接: http://scottbezek.blogspot.com/2026/10/making-flexible-neon-t-shirt-with-leds.html

相关文章

原文

Earlier this year I had the perfect excuse to experiment with some flexible LED filaments that had been sitting in my “interesting parts” bin for years -- the company I work for was putting on a neon-themed event, so obviously I had to custom-build some LED neon attire! The only problem was this was announced less than a week in advance.... This is how I designed and assembled a wearable neon shirt in just a few days.

A rough parts list, in case you want to try something similar:

  • Led filament
    • Lots of colors and lengths available. I recommend Adafruit - you’ll pay a bit more than AliExpress, but it’s convenient and they do a lot of great open source work so I’m always happy to support them!
    • 2x 600mm warm white 12v
    • 3x 300mm red 3v
    • 1x 1200mm red 24v
  • Electronics
    • USB battery bank
    • ESP32
    • Some way to step up/control the voltage for the LEDs
      • Boost converter
      • Constant-current led boost driver e.g. TPS61169 
      • ULN2003A transistor array breakout board 
  • Black t-shirt
  • Black thread 
  • Some kind of stiff fabric as a backing/stabilizer (I used scraps of cross-stitching fabric)
  • Tissue paper (for tracing)
  • Heat shrink tubing

The start: basic tests

LED filaments, if you’re not familiar, are long strips of hundreds of tiny LEDs on a flexible strip, encased in a thin silicone diffuser only about 1.8mm in diameter! 

 

They’re mass manufactured for neo-retro “Edison” lightbulbs, so that means they’re also readily available for DIY projects. Adafruit calls them “noods” or noodles and it’s an apt name - they feel like glowing cooked spaghetti!


The first order of business was to figure out how to attach the filament to a shirt, and make sure it would actually look good. By itself, the cotton t-shirt doesn't have much structure and would be too soft and flexible to support sewn-in filament shapes without bunching up, so I decided to borrow some craft supplies from my wife for a quick test: some cross-stitching fabric (“Aida cloth”) as a stiff substrate, and an embroidery hoop to hold everything steady and evenly tensioned while sewing.

Taking a short piece of blue LED filament and some black thread I tried sewing it down to the shirt and stiff backing fabric with a few different curves.

 

Actually, I jumped ahead here. I didn't free-hand sew the filament to the shirt, I wanted to practice tracing a particular shape, so I started by drawing a curved line on tissue paper, then sewed the filament in place with some loop stitches every few centimeters along the line. The idea was to rip off the tissue paper after sewing. It worked well, though was a bit tedious.

 

The design

Now that I’d validated a basic technique I had to actually design my "neon." One of the main constraints with these LED filaments is that they can't be cut to length - one end is positive and the other negative - and there’s no way to shorten them without completely breaking them.

This meant the path for my neon design needed to fit one of the discrete sizes. On the back of the shirt I wanted a llama using a single 24v 1200mm long red filament. I started with a continuous path in Inkscape (looping back and over itself as needed), then used Inkscape’s “Measure Path” feature to check the length and scale it until it was just about the right length.
  

For the front of the shirt, I wanted cursive neon text with a Vegas-inspired border. I chose the open font Playwrite België Vlaandere, and again manually traced a single path over it and then scaled it to fit an integral filament length. This time I planned to use multiple 300mm 3v filaments (more on this later) to hit the ~900mm path length.

Sewing

In order to transfer the designs to the t-shirt, I printed them out on printer paper, then laid tissue paper on top and traced the path with a marker. Just like my original test, I taped the tissue paper to the shirt, taped some cross-stitch fabric to the inside of the shirt, and then started sewing the filament in place.

The cursive text on the front of the shirt is where things really got interesting. I wanted the "V" and "a" to be separate letters rather than joined together, so I used a small piece of black heat-shrink tubing to black out the connecting stretch of filament – very similar to the “block out” paint used on real neon signs.

The other challenge was the filament length – to get the scale I wanted, the path ended up being closer to 900mm, but I only had 300mm filament in my box of hoarding, and no time to order new filament, so I decided to try soldering 3 filaments in series. There’s a small gap that doesn’t glow between each, but since it’s between letters it looked alright!


The borders were pretty simple – each side used a 600mm warm white filament with some of the easiest sewing so far - mostly straight!

Once everything was sewn and tested it was time to remove the tissue paper template. I carefully tore the tissue around each thread and used tweezers to help remove it from between the letters.

 


Electronics & wiring

To power the LEDs, I needed a way to connect the filaments to wires on the inside of the shirt. I soldered a short length of enameled copper magnet wire to each, then poked it between the weave of the shirt fabric

On the inside of the shirt, the stiff magnet wire was soldered to thin flexible ribbon cables (and the joints covered in duct tape to cover sharp edges), with the ribbon cables running down the side of the shirt from the armpit to my pocket. I kept the ribbon cables loosely in place with some loops of thread along the side of the shirt, using blue tape to help stiffen the fabric. 

 

   

Due to the time crunch, I couldn't order the LED drivers I wanted, so I had to get creative with what I already had on hand. I used the TPS61169 constant-current LED driver for the text on the front (the three 3v 300mm filaments in series), with the PWM input controlled by the ESP32 for neon flicker emulation and animations.

For the llama on the back of the shirt, I needed to boost the voltage to power the 1200mm 24v filament from the 5v USB supply. Another TPS61169 constant-current boost driver would have been ideal, but I only had one and it was already in use for the text. Instead I used a cheap AliExpress constant-voltage boost converter, and a pair of resistor in series with the filament to get a relatively stable supply. 


Finally, each half of the border was a 12v 600mm filament, but I was out of good options for stepping up the voltage. However, since these were accents rather than the main focus, I decided to just under-drive them from the 5v USB, using a ULN2003A transistor array to allow the ESP32 to PWM dim them.

All of this was squeezed into a small 3d printed enclosure, with a USB C port to connect to the ESP32 breakout board and power everything from the battery bank, and a slot where the ribbon cables could pass through to the shirt, complete with zip-tie strain relief.

The result

It was quite a whirlwind going from idea to execution in just a few days, but it turned out even better than I expected! Coworkers loved how it looked, and everything held up really well at the event.


Of course, the whole thing is quite silly and that was kind of the point. It's not a practical garment, and wasn't meant to be, but I found it to be quite a fun artistic challenge with things I already had in the parts bin. And in case you're wondering, no, it's not machine-washable. Nor hand-washable, really.

 

联系我们 contact @ memedata.com