Beginners Guide to Making a LED Festival Coat

This is v2 of a series on making wearables, using PixelBlaze, designed for people who want to get started quickly and easily, with limited soldering and coding skills. I’m intentionally writing this guide to be as simple and cheap as possible for a beginner – in many cases, adjusting what I actually did for a version that would work if you own almost no supplies or tools at the start of the project.

The end result up front (with terrible GIF compression on the colors):

I also posted this video on Instagram.

The very short version:

  1. Put screw terminals on a PixelBlaze.
  2. Glue strings of LEDs in a grid pattern in between the outside and inner lining of your coat.
  3. Map the LEDs as a 2-D grid.
  4. Experiment with 2-D patterns.
  5. Power the whole thing off a 5v USB battery pack.

A full tutorial from start to finish:

  1. Find a coat with an inner lining, a white exterior, and an inner breast pocket. You’ll be diffusing the LEDs through the coat. Carefully seam-rip open the lining to add the LEDs, and add a pass-through hole for the wires between the inner jacket pocket and the lining.

  2. Set up the PixelBlaze, solder the screw terminals to your PixelBlaze v3. Then “tin” (apply a bit of solder to) the ends of your wires you’re going to screw into the PixelBlaze. Any cheap soldering iron can work for this (but this is a nice one I own), as can basically any solder. For this, leaded solder is easier to work with than lead-free solder. Bonus: Consider a 3-D printed case for the PixelBlaze to make it more durable.

  3. Use a standard 5v USB cell phone charger battery pack that has an on-off button and can output 2.1 amps at 5 volts. This is your power source for the project – LiPo batteries are harder to work with and AA battery packs don’t have enough juice. Note that the button to turn a 5v battery pack on and off can — or often is — badly designed; test it. My coat is running off this pack; 5000 mah at 3.7v = 3700 mah at 5v and in testing it lasted from Sunset to 2 AM clamped to 40% max brightness or so, with patterns that don’t turn on a lot of LEDs at once. A USB Power Tester will help you here — try to keep your power draw under 1.0a at 5v.

  4. Attach initial wires to your LEDs. Self-Solder Heat Shrink Butt Connectors are amazing for joining two wires without soldering. To use them, you’ll need a heat gun. Use some basic 22 gauge, silicon-coated, stranded electronics wire, in 3 colors, one of which is red. (It can all be one color, but it’s really helpful to have your positive (hot) wire be red, so you don’t accidently fry anything by mis-wiring it. Convention is Black or White for the ground, and then a non-red color for the data. (and a 4th color for the clock, if you have a clock line).

  5. Test! Power everything, run a test pattern, check the LEDs are working.

  6. Lay out your LEDs in 2D zig-zag grid pattern inside the coat. LEDs on waterproof strands are the way to go. Skip the fragile wires without a full coating, skip the strips of LEDs. This is a product that’s MUCH cheaper on Alibaba Express than domestic suppliers, with better selection. Someone else on this forum recommended these which I used in this project, with the 5 cm pitch, from Ray Wu’s store, who’s well known in this community, and I love it. I’m testing these on a future project. This is findable on both Amazon and on Adafruit, in smaller amounts, for example this. Avoid strings that are just epoxy coated bare wires, not fully weatherized silicon coated wires; the coating will wear off and you’ll get shorts.

  7. Add heat shrink tubing at any connection point or strain point, including on top of joints made from the self-soldering tubes, and use the heat gun to shrink it.

  8. Test! Power everything, run a test pattern, check the LEDs are working.

  9. Attach your LEDs to the inside of the outer layer of the coat with hot glue. Get a decent hot glue gun that has a high and low temp setting, and nice / name brand hot glue sticks. Pay careful attention to not cause them to “pull” at the armpits, sides, etc – anywhere there might be strain. You don’t want or need to glue every LED, because that’ll cause issues with strain relief — just enough to keep them lined up the way you want.

  10. Test! Power everything, run a test pattern, check the LEDs are working.

  11. Map the LEDs; Take a photo of your LEDs, on, wired up, and use the amazing 2d mapper web app to create a 2d map of them. Note, you may need to invert, rotate, etc your photo first. I’m using 290 LEDs in this project. Pixels

  12. Insert the map into the Mapper tab of the LEDs, and remember to hit Save.

  13. Program with whatever patterns you’d like. Note that many 2D patterns have scale issues where they don’t look great with fewer pixels, further spread apart. Play around and experiment. To my taste, most patterns available are too “busy” or rainbow-y, and are better with slower animations and fewer colors. To me, this is what separates “ok” from “great” projects — and the new palette functionality can make any existing pattern look totally new.

  14. Conserve power. Start by clamping the max brightness (and thus max power) to 60% or so, because the perceptual brightness doesn’t require pushing the full power through the project. Focus on patterns that don’t light up the entire project at once with white hued colors. You need less brightness than you’d think, almost always.

  15. Get ready for the real world. Make sure all your wires are tucked away, re-attach the lining of the coat, set up the PixelBlaze to be its own WiFi network so you can control patterns and brightness on the go, have a wonderful time.

And a second video, with a different pattern to finish this off:

(Also in the Instagram post)

Finally – a few thank yous: @Sunandmooncouture creates works of wearable art I can only dream of. This is inspired by this project of theirs: and they gave me advice on what LEDs to use. @zranger1 solved my problems with how to use Palettes in novel ways, in the thread linked above and created a whole new Pattern template for all of us. @wizard for rolling out Palettes, which inspired some of this project.

– Zachary Reiss-Davis (@ZacharyRD), June 2023.


Excellent tutorial, thanks.
How do you manage if the pattern starts to draw too much power because you put the luminosity too high and it exceeds the powerbank capacity ?

In my experience, the powerbank will cutoff (depends of the 5V regulator inside), then you have to press the button to re-activate it. But since it reopens the last pattern on the Pixelblaze, it cuts off again due to the power draw and you’re stuck in a death loop until you disconnect the LED, adjust the Pixelblaze then reconnect the LED (not foolproof). I can’t find any way to limit the power draw at Pixelblaze level unless reducing the luminosity overall, which is not the best especially if you have a pattern with a lot of LED on, then a pattern where you only want to flash at a full power a few LED.

How do you handle this ?

First off – if @wizard made a “max power draw - estimated” function in Settings, I’d love it. However, the max brightness option does the job to a decent extent here if you track your power consumption in testing, and are careful to stay well under your power envelope in this situation. You can, of course, also change the max brightness of any given pattern as well in the code itself.

A cheap USB power meter like I linked in my original post is really helpful here – My goal is to keep my draw for my patterns under 1a and I am using a 2.1a USB output, and I won’t put any patterns on a wearable which are going to break in this way.

290 pixels, at max brightness, white, is… around 17 amps (60ma * 290 pixels = 17400ma = 17a). That’s… a lot. It’ll trip MOST power supplies no matter what you’re doing. The two patterns I show in my demo videos are both under 1a when running in that video – aka roughly 5% of max power.

There are lots of ways of powering wearables that can do a lot more amperage; @Sunandmooncouture 's coat that I referenced in my build uses some of them, you’ll see tons more in the LEDs are Awesome Facebook group, and Adafruit also has tutorials. However, I am going for “subtle and tasteful” not “super bright” and I’m going for “foolproof off the shelf parts” not “complex power delivery requirements” in this tutorial.

I also recommend this guide – Overview | Sipping Power With NeoPixels | Adafruit Learning System – it’s written for the Arduino Circuit Playground, but all the ideas in it are 100% applicable and I think should be required reading for anyone dealing with LEDs with non-wall power.