Overview
Give your festival coat a glow-up with programmable LEDs and WLED.
In this project, you'll add colorful, animated lights to the fur trim of a coat, then take it a step further with 2d-mapped LED cuffs for even more eye-catching effects.
This project can be as simple or as ambitious as you want to make it. If you're new to wearables or WLED, start with the fur trim for a very approachable, no-solder, no-code beginner build. You'll learn the basics of adding LEDs to clothing, wiring them to a controller, and choosing effects from WLED without needing to write any code.
Adding lights to the cuffs bumps the project into intermediate territory. You'll arrange the LEDs into small 2D matrices and configure WLED's 2D mapping features. This part requires some soldering and wire splicing, and a little more software setup.
Do just the trim or build the whole thing—the result is a festival-ready coat that's bright, customizable, and easy to control from your phone.
Materials for Fur Trim Only - Easy No-Solder Project
The difficulty of this project can vary depending on the coat you're working with. It's easiest to use a coat that already has fur trim and lining. White fur will transmit the lights best, though other light colors will work too. Black is beautiful but also fairly opaque, so stick with light colors for this project.
Use the Adafruit Mini Sparkle Motion with the Pre-soldered Terminal Block for a no-solder project.
For power, plug into a USB battery power bank. I like this one since it has a charge indicator, an onboard flashlight, and it is beefy enough to run my coat all night long and also charge up my phone at the same time.
You'll Also Need
- A seam ripper
- A needle and thread
- A plastic bodkin to help with threading the lights into the coat
Materials for Fur Trim + Cuffs - Intermediate Project
If you want to add 2d-mapped lights to the cuffs, and are comfortable with a soldering iron, here's what you'll need.
Get all the products listed above. However, if you're comfortable with soldering, choose the Mini Sparkle Motion (without terminal blocks) instead. This is the same board but made for a more permanent installation.
This board is a slightly better choice for festival wear. The wires can pull out of the terminal blocks, making your coat turn off mid-party, which is no fun at all. Soldered wires are more secure, and secure is always a better choice for wearables if you've got the skills.
We'll run wires from the controller to the cuffs. Get two sets of connectors, one for each cuff, and two lengths of ribbon cable.
The cuffs on my coat are pretty wide, giving me space to set up the lights in a 2d matrix. This means I can run horizontal or vertical animations on the cuffs, adding a lot of cool effects to the coat. Glue dots fix the lights to fusible fabric interfacing, creating a transparent matrix with the lights that can be stuffed inside the cuff.
Page last edited August 18, 2026
Text editor powered by tinymce.
Wiring Diagram
For the beginner version: the three wires from the light strand will connect to the three screw terminal ports on the Mini Sparkle Motion as follows:
- Red to +5v
- Green to 32
- Black to G
For the intermediate version: the first strip is wired the same way, but two parallel strips on pin 33 are added. The +5v and G pins will be shared between all three strips. For the data line, the two cuffs will be wired to the same data pin (33), so will always sync up automatically.
The project will be powered through the USB port on the Sparkle Motion -- plug in your USB cable and then the battery.
Page last edited August 18, 2026
Text editor powered by tinymce.
WLED Installation
This page will guide you through how to install WLED on the Mini Sparkle Motion.
The Mini Sparkle Motion has a USB to serial chip which may need a driver installed before you can install WLED. Head over to the How to Install Drivers for WCH USB to Serial Chips tutorial, and download and install the new driver.
Install WLED
These next steps require a Web Serial-compatible browser. As of this writing, that means Google Chrome, Microsoft Edge, Firefox 151 or Opera “desktop” browsers. Other browsers (Safari, older versions of Firefox, Explorer and anything mobile) won’t work.
Visit https://install.wled.me/
Plug your microcontroller into your computer with a known good USB cable. Click "Install" and select the port for your board.
Depending on the USB-to-serial bridge chip on the board, you might see one or two serial ports. On Mac, for instance, there might be both “/dev/cu.usbmodem[number]” and “/dev/cu.wchusbserial[number]”. Use the “wchusbserial” one.
After successful installation, enter your WiFi network name and password when prompted. This must be a 2.4 GHz WiFi network; ESP32 does not support 5 GHz networks. If it can’t connect, then as a fallback WLED will create its own 2.4 GHz WiFi access point.
If you don't see the "Connect to Wi-Fi" prompt, you'll need to set up your WiFi network using AP (access point) mode. Open up your WiFi settings and look for a WiFi network called WLED-AP. Connect to this network using the default password wled1234. The WLED interface will pop up in its own browser.
From here, go into Config/Wifi Settings and enter your WiFi credentials near the top. Give your project a name in the mDNS field a little further down the page. Now you can type in "projectname.local" (where "projectname" is your mDNS name) into any web browser on the same wifi network to access your microcontroller.
You can also scan the QR code below to open access point mode.
For more help and troubleshooting tips visit the Getting Started page on the WLED knowledge base.
WiFi Setup
Head to the WiFi Setup screen under Config and create a good URL so you can control your project from any web-enabled device. Call it something you'll remember, that's easy to type into any web browser on your WiFi network in order to connect to your project.
In Safari or Chrome on your phone or computer, type in this web address to access the WLED interface: http://projectname.local (where "projectname" is whatever you put into this field).
Check out the Additional Settings page for more info on accessing your project. WLED has an "access point mode" that doesn't require a WiFi network for when you're out on the go. It's also helpful to download one of the WLED apps to help manage and organize your projects.
Enable AudioReactive Mode
Do this first before setting up your LED preferences with your GPIO number.
Click on "config" and head to the USERMODS tab. Scroll down a bit and you'll find the AudioReactive section.
If you want audio reactive functionality, click the box to enable. Even if you don't want the audio modes turned on, enter the settings and the Digitalmic section as follows:
- Type: SPH0654
- Pin I2S SD: 9
- Pin I2S WS: 10
- Pin I2S SCK: 23
The other pins are unused.
Reboot your Sparkle Motion Mini for changes to take effect.
Next, head to the LED Preferences tab under the Config menu.
Scroll down to Hardware Setup. Put your total number of LEDs into the Length field (put is a placeholder number if you're not sure yet), and change GPIO to pin 32, the GPIO NUMBER associated with the LED data pin on your Mini Sparkle Motion. Make sure to select the correct Color Order for your LEDs as well. My pixels have a color order of BGR. You know you've got it right when your pixels come on in a warm yellow.
If the GPIO number appears in red and won't let you select it, check the previous step: this board is configured with pin 32 assigned to the microphone, so you need to change it there before you can set it up as your LED GPIO.
If you're adding the cuffs, click the + button under the LED outputs section and add a second strip.
Since we'll have a 2d matrix for the cuffs, list them first in this area. Change ouput 1 to pin 33 and add the number of LEDs in one cuff.
Set output 2 to pin 32, and add the number of LEDs in the fur trim. Set the color order for both.
Now you can use any computer or handheld device to control your LEDs.
Make sure your device is on the same WiFi network as your board. Navigate to your custom URL (projectname.local/ ) in a web browser. You'll see a color picker above a whole bunch of color palette choices.
Choose a color, choose an effect, and watch your lights animate and glow!
Save your favorite combinations as presets, create playlists, control the speed and intensity of the animations, and lots more. This web app is incredibly intuitive and easy to use.
Head over to the WLED wiki at https://kno.wled.ge/ to delve into all the particulars.
Troubleshooting
If your lights didn't come on, here are a few things to try:
- Head back to WLED and check your pinout configuration under LED Preferences. Be sure the pin number is the correct GPIO for the attachment point you used.
- Check your wiring! Be sure you connected to the IN end of the LED strip. These strips can be inconsistent so this is a pretty common problem. Use an alligator clip to try connecting the data wire on the other end (the power and ground wires should work from either end).
- Try re-uploading the WLED software.
- If the lights come on but you can't control them: i.e. you type in "projectname.local" into your browser and it won't connect, make sure you're on the correct WiFi network. If you're on a different network than the one you set up the sofware on, you won't see the WLED connection.
- If your lights came on in blue or green instead of yellow, your color order is wrong. See below to fix.
- If only half your lights came on, be sure you've got the correct number in the "length" field under LED preferences.
- If your lights came on in a variety of weird colors and looking like a 1950s diner interior, you may have the wrong LED strip type selected. RGBW strips and RGB strips are not the same, so be sure you've got the correct strip type or you'll get very odd behavior.
- If your microcontroller hangs or keeps rebooting, or gets really hot, you may have the power and ground lines switched. Unplug right away and check: this is a fast way to brick your controller.
Page last edited August 18, 2026
Text editor powered by tinymce.
Electronics Assembly
These lights have a male connector on the IN end and a female connector on the OUT end. The strands are directional -- they won't work if you hook up the wrong end.
Cut the female connector (from the OUT end) off your light strand, leaving a couple inches of wire attached. Leave the strand at full length for now. You'll be able to cut it to length later once it's installed in the coat, so you get the exact right number of pixels.
The cut connector will attach to the Mini Sparkle Motion to plug the lights in using the IN end / male connector.
If your strand doesn't have a connector, you'll want to add one. Check out the Seed Pixel Überguide for instructions - it can be tricky to figure out which wire goes where.
Strip a little bit of shielding from the three wires on your female connector and attach them to the Mini Sparkle Motion's screw terminal as shown: red to +5v, green to 32, and white to G.
Fur Trim + Cuffs Version
I found it easiest to finish installing the fur trim first so I could cut the LED strand to the correct length before wiring up the cuffs. Keep track of the "in" end of the strip when you cut it - you'll want to wire your ribbon cable and connectors to this IN end.
Measure the distance from your cuff, up the sleeve, across the shoulder and to the back of the hood and cut your ribbon cable to this length. Pull off one of the 4 wires on the strand - we only need three for this project - keeping the striped wire connected.
Solder the IN end of your LED strip to this length of wire, matching the striped wire on the ribbon cable with the banded wire on the lights. This is the power wire.
Solder your male JST connector to the other end of the ribbon cable, to plug into the Mini Sparkle Motion.
Make two of these, one for each arm.
Take a moment to trace your power wire from the striped wire on the lights, through the striped wire on the ribbon cable, and then note which wire on the connector is connected to this power wire. Plug your female connector into the male connector and keep tracing that power wire through. Make sure that's the one you plug into +5v on the Mini Sparkle Motion.
Many connectors are color coded, which should make lives easier - but not all connectors are color coded in the same way. Just because the wire on your connector is red does NOT mean it's the one connected to the power wire on the lights. Check and double check that you've got the wires in the right orientation before you solder.
You want 3 female connectors attached to the Mini Sparkle Motion: two soldered to pin 33 (one for each cuff) and one soldered to pin 32 (for the fur trim). All three of the power wires from the connectors will go to +5v, and all three ground wires will go to G.
The best way to achieve this is to splice all three power wires together to one red wire, which then connects to the +5v hole on the Mini Sparkle Motion. Splice the three ground wires from the connectors to one black wire, which will get soldered to the G pin. Splice a green wire onto two of the middle connector (data) wires and connect this one to 33.
For neatness, I soldered a short white wire onto the remaining middle connector wire so all wires are roughly the same length, and connected it to pin 32. See the wiring diagram page if you're confused.
Plug the Mini Sparkle Motion into the battery using the USB cable and see if your lights come on. If you haven't installed the software yet they'll come on in rainbow. If you've already installed the software and all goes well, they will come on in a warm yellow color.
If they come on in a different color, head back to the WLED Installation page and find the instructions for fixing the Color Order.
Troubleshooting
If your lights don't come on or behave the way you expect, here are a few things to try:
- Make sure your battery is charged and the switch is turned on - you should see some battery indicator lights on the side of your battery showing charge level.
- Try re-uploading the software
- Make sure your GPIO pin is set correctly in LED Settings -- it should be 32 and/or 33. If you don't reboot the board after setting up the audio reactive stuff, sometimes this won't get saved even if you set it up right.
- If the lights still don't come on, your strand may be wired a different way. Sometimes these strands come with the male on the OUT end and female on the IN. Try switching the connectors around to plug in the other end of the strand.
Page last edited August 18, 2026
Text editor powered by tinymce.
Fur Trim Assembly
To make it easier to thread the wires through the fabric. I used a plastic bodkin. I zip-tied the connector to the bodkin, making it easy to feed through the fur.
You want to place the first and last LED in the strand right in the center back, so it's easy to set up symmetrical animations. Use your thread ripper to make a hole in the seam at the center back of the hood or neckline of your coat.
Thread the light strand through the fur trim with the bodkin. I made another hole in the trim near the bottom of the coat - one that was big enough that I could get my whole hand inside to help coax the lights along.
Pull the strand all the way around the coat, until the connector comes back out the same hole.
Wiggle the lights until they're right at the outside edge of the trim. On my coat, the inside seam of the trim is sewn to the lining, but the inside trim seam doesn't connect to the outside trim seam, so the lights can pull away from the edge and into the center of the coat. If this is the case with your coat, add a few hand-sewn bar tacks here and there, connecting the outer and inner trim seams so the lights stay in place.
My coat has an inside pocket that's just perfect for holding the battery. If yours doesn't have this, I recommend getting a scrap of fabric and sewing one in there where you can reach it. I used my thread ripper to make a small hole in the fur lining and the bodkin to thread my USB cable up through this hole to plug into the Mini Sparkle Motion in the back of the hood.
Once you're happy with the placement of the lights, trim the strand to length so the first light and last light meet in the back of the hood. Use heat shrink and hot glue or silicone tape to connect them together, enclosing the bare ends of the cut wire to waterproof the line.
This silicone tape is wonderful stuff. It's used for irrigation repair and fuses to itself in a waterproof seal. After a few hours it becomes one solid piece of silicone that needs to be cut off to be removed. It does a great job of holding everything in place and keeping dust and water out of your electronics.
Use your needle and thread to sew up any holes you ripped with the thread ripper.
Page last edited August 18, 2026
Text editor powered by tinymce.
Cuff Assembly
Measure the size of your cuffs. Mine are around 12 inches around and 8 inches high.
Cut two pieces of fusible interfacing to this size for each cuff, so, 4 pieces in total.
Use glue dots or pins to lay out the lights in a zig-zag (serpentine) pattern on the sticky side of one piece of interfacing. I like using the 3d glue dots because they go on quickly and diffuse the light beautifully.
Try to get the lights in an even square grid pattern, though if they're shining through thick fur this isn't too important - it'll look best with lots of lights so if you want to sacrifice the evenness of the pattern to squeeze in one more row of lights, go for it. My grid ended up with 7 lights across and 5 down. Once you're happy, trim off the rest of the light strand.
I laid out my left cuff with the lights facing upwards and the wire entering from the upper left. Then I laid out the right cuff as a mirror image - with the lights still facing upwards I have the wire emerging from the upper right.
Both cuffs are connected to the same data pin so they'll play the same animation. By reversing the layout on one cuff, I get an automatic mirror effect between the two cuffs.
Place your second piece of interfacing sticky-side down on top of the light grid. Iron the pieces together. Be careful going over the glue dots - I focused on ironing between the rows of lights rather than right on top of them to minimize melting the glue. Be sure to iron all around the outside edge as well.
Plug your light strands in via the connectors and test to make sure all the lights are working before you install them in the coat.
Write down how many lights you have and in what configuration. You'll need this number (35 lights, set up in a 7 x 5 grid, in my case) to set up the 2d matrix.
Make a small hole in the cuff seam with your thread ripper. Slip the grid of lights up inside the cuff and wiggle them around until they're laid out nicely, with the edges of the matrix aligned with the sleeve seam.
Sew a few bar tacks through all layers at the corners and edges to keep the matrix from shifting.
Thread the wire extension up through the sleeve between the lining and coat, across the shoulders and into the hood. Plug the connectors in to the Mini Sparkle motion - use the two connectors soldered to pin 33.
Page last edited August 18, 2026
Text editor powered by tinymce.
WLED 2d Matrix
WIth your Mini Sparkle Motion board plugged in via a known good USB cable, go back to Config > LED Setup and make sure the number of LEDs in each strip reflect the actual number that ended up in your coat. If you're not sure how many lights are in your trim, take your best guess here then head to the Effects tab and choose a Solid animation. Change the colors a few times and see if your whole strip changes. If it does, keep lowering the number in LED Setup until the last LED doesn't change - this is an easier way to dial in the number without having to feel around and count with your fingers.
My fur trim had 85 lights total.
The cuffs were easier to count: I have 35 LEDs per cuff. Since both cuffs are wired to the same pin, pin 33, the number in LED Setup is still just 35 even though there are actually 70 lights in both cuffs together.
Get these numbers as accurate as you can before setting up the 2d matrix.
Matrix Setup
WLED has a handy 2d-matrix setup feature that will take care of the mapping for you on a rectangular matrix. Make sure the matrix / cuffs are listed FIRST in LED Setup. Then use the Segments tab to treat the fur trim on pin 32 as a regular 1-dimensional strip.
Go back to Config and choose the 2D Configuration tab.
Change the dropdown to read 2d Matrix, and additional options will appear. Even though there are two cuffs, they're acting as just one panel so keep the Number of Panels as 1.
Set up your layout numbers to match the number of rows and columns in your cuffs. You can also change orientation here - my pixels start in the upper left corner and finish in the lower right for my left cuff, and are laid out right-to-left for the right cuff. I'll choose the orientation of the left cuff to put into the configuration here and the right cuff will mirror it automatically.
Next, head to the Segments tab. The first segment should have auto-populated to define the size of your matrix. Rename this segment "cuffs" using the pencil icon near the top.
Add a new segment and call it "Fur Trim". Initially it gives you a 2d matrix X and Y coordinate, but if you enter the number of the first LED after your matrix - in my case, LED #35 (the matrix starts with LED 0), the layout of the box changes back to a 1d strip segment and will auto-populate the number of LEDs based on your entry in the Config / LED Setup screen.
If you want the left and right sides of your fur trim to mirror each other, click the "mirror" box at the bottom of this segment. This will find the middle LED and reverse the animation on the second half of the strip automatically.
I love the way this looks so I have the box checked for most of my animations. You can uncheck it for different presets if you'd like an around-the-world style chase animation - the segments can be modified for each preset.
Matrix Effects
WLED has a hefty number of matrix effects that appear in the list when you've got your 2d matrix set up. Click the little square in the "filters" popup in the search box to see only the 2d matrix effects. Many of them can be customized with speed and intensity sliders, or different color palettes. Go wild!
The cuffs and fur trim can run different animations at the same time. First click the checkbox on the segment you want to affect, then select your effect and color for that segment.
Once you're happy with your animation mode, save it as a preset in the Presets tab. The segments can be set up different for each preset, so save often! The best rule of thumb is to always start by setting your segment before choosing your effect or color.
Page last edited August 18, 2026
Text editor powered by tinymce.
Create Presets
Once your lights are working, it's time for the fun part: creating light animations using WLED presets. This is easy and intuitive in WLED.
- Select your segment. Make sure the little checkbox is checked for the segment you want to affect.
- Choose an effect from the list. 2d effects have a little grid icon, and sound reactive effects have a music note icon.
- Choose a color palette or create your own custom palette using the color wheel or the Color Palette creation screen.
- Play with the sliders at the bottom of the Effect Mode column to customize the effect - speed up or slow down, change the color bar width, intensity, etc.
Once you're happy with one segment, uncheck it and check the other segment's box, and repeat the steps. You can also check both segments to apply the same animation to the whole project.
5. When you find something you like, click the +Preset button in the Presets tab and give your preset a name, then save it. You can reorder them using the "Save to ID" field.
6. Create a playlist from all your favorite presets. You can choose the amount of time each preset plays, and change the transition time between presets. Select the "apply at boot" box to have your playlist start up automatically.
Sound Reactive Modes
In the effects search box, you can check the box next to the musical note to filter for sound reactive modes. There are modes that work using volume and modes that use frequency. Play around to see which you like best.
More info about how to configure the sound modes can be found here in the Starlite Groove Tutu tutorial.
My favorite for this coat is PS Springy - give that one a go!
Page last edited August 18, 2026
Text editor powered by tinymce.
WLED AP-Mode
WLED software is great when you're within range of WiFi. But I want to be able to control the coat when I'm out dancing at a festival, out of reach of any of my known WiFi networks. WLED has this capability!
You can use Access Point mode (AP-MODE) to control your costume pieces when away from civilization.
In Access Point mode, the Mini Sparkle Motion creates its own miniature WiFi network. It's got a limited range - your phone needs to be within a couple feet of the controller to join. This network isn't connected to the internet, but you can connect your phone to it locally and access the WLED controls.
Head to Config --> Wifi Setup. Scroll down until you find Configure Access Point.
By default this field is populated with WLED-AP. Change this to your project name. I like to add -AP to my network name so it's clear that it's an access point network.
The default password is wled1234. It's a good idea to change it to something you'll remember - WLED is widely used so it would be easy for anyone who's familiar with WLED to log in. Once connected, someone could potentially see any WIFI credentials stored on the device, and erase or reconfigure the settings.
Change the AP opens dropdown to Always.
Click save, and then take a look at the available WiFi network options using your phone. Wait a minute or so and your named network will appear in the list. Join it, and the WLED controls will pop up.
Take note that having AP opens "Always" selected will make your battery life suffer! If that board is constantly broadcasting a mini WiFi network, it will use up a lot of power.
If you're concerned with battery life, keep "only at boot" selected. The AP mode network will appear for just a few minutes after boot-up so if you want to change modes on your project, turn it off and on again and then quickly join the WiFi network and make your changes.
Once you join your board's access point, you will get a popup window with your WLED controls. Success! Now you can control this board without relying on your home WiFi.
If you don't get a popup, you can connect manually by heading to 4.3.2.1 in your browser.
Learn more about how all this works at the WLED knowlege base at https://kno.wled.ge/
You can also sync multiple instances of WLED together - so if you have light up shoes or a hat, you can make them sync with your coat.
Click the "nodes" button under the Info tab to see a list of all the instances of WLED on a particular network and their respective IP addresses.
Page last edited August 18, 2026
Text editor powered by tinymce.