This article appeared in Make: Vol. 86. Subscribe for more maker projects and articles!

I love adding special effects to textiles, and programmable LED strips have changed the game — but sometimes a look calls for more of a candlelit cathedral than a rainbow rave! This project uses flickering LEDs to illuminate semi-sheer fabric panels in the style of stained glass. You can upcycle an existing skirt, or sew your own garment from scratch. 

Go for vibrant, jewel-toned fabrics — they pop the most when illuminated from behind. And choose bulb LED strips to flat ones; the light will project up into the whole window instead of out. 

I love the intricacy of the center faux stained glass panel, and this project is infinitely customizable with your own panel designs. Mix and match, tell a visual story, or re-create your favorite glass art. 

This project assumes proficiency with a sewing machine (straight and zig-zag stitches) and, if you’ll make the whole skirt, with finishing a garment: specifically hemming, gathering, and adding a zipper or elastic waistline.

Project Steps

1. Sketch Stained Glass Panels

On posterboard or thick paper, draw a vertical line 5″ shorter than the length from your waist to your desired hemline. This is your maximum stained glass panel height.

Photography by Christina Ernst

Sketch out your stained glass panels as desired and outline with Sharpie. For the dress shown here, I sketched one central arched panel and four different, slightly smaller panels. You can optionally color the posterboard now to keep your pattern pieces organized later.

2. Cut Out Pattern Pieces

Use scissors to cut out every paper shape corresponding to a distinct color of fabric. You’ll also want a background piece the same size and shape as the entire panel (in this case, the entire arch).

3. Cut Out Colored Fabric Panels

Use fabric shears or a rotary cutter to cut a double thickness of organza or crepon for each piece. The double thickness creates much more vibrant colors when illuminated by the LEDs and prevents the skirt from being too sheer. Repeat for every panel on the skirt.

4. Sew Down the Panels

Use a straight stitch in a neutral color to sew down each double thickness of colored fabric onto the background panel. The raw edges will be covered when the black bias tape “lead lines” are sewn on top. Small visual gaps between pattern pieces are okay here since they’ll be covered by the bias tape as well.

5. Trace the Lead Lines

Piece together your original paper pattern pieces and place your sheer fabric panel on top. Use a fabric marker with disappearing ink or a very fine Sharpie to trace over the lead lines, pressing hard to transfer the ink to the fabric. The black bias tape will be stitched over these lines to mimic the look of soldered panels.

6. Sew the Bias Tape

Use a wide zigzag stitch with black thread to stitch the bias tape over all the lead lines you just marked.

The outer edge of the panel should not have any bias tape. Snip any loose threads on the back of the panel so they don’t show through the sheer fabric.

7. Cut the Skirt Body (Optional)

If you’re not using a premade skirt, calculate the size of your skirt panels based on your waist to hemline measurement L and your waistline measurement W. The skirt will be gathered from 3W to W for a nice full silhouette. Cut three panels from your black woven fabric:
one front panel that measures L × (3W/2), and two back panels that measure L × (3W/4). For the skirt shown here, the pieces were one 26″×44″ panel and two 26″×22″ panels.

8. Attach Stained Glass Panels

Decide where on each skirt panel the stained glass panels should be positioned. Cut a hole about the size of a quarter in your black woven fabric in the center of where each panel will go; this will make the next cutout step easier.

Place each stained glass panel face down on the wrong side of your black woven fabric, centering the panel over the hole. Pin in place. Use a short straight stitch to sew along the perimeter of the stained glass panel, including the bottom.

Flip the right side of your fabric face up and insert fabric scissors into the hole. Cut towards the edge of the stained glass piece, cutting as close to the straight stitch as possible to reveal the glass panel.

Cover the raw edge of black woven fabric with zigzag stitched bias tape around the perimeter, excluding the bottom hem.

Repeat for every stained glass panel. Finish the hemline with bias tape. Gather the waistline using two straight stitches. The outer skirt is complete!

9. Prepare the Electronics

Solder power, ground, and data lines between the microcontroller and LEDs. My LED wires have faintly colored print explaining which connection is which. Trim the LED strip to the same length as the hemline of the skirt.

10. Prepare the Lining (Optional)

If you’re not using a premade skirt, sew a skirt lining from the lining fabric with the same measurements you used in Step 7. Turn up the bottom hemline 1½”, or roughly the same height as the LED bulbs. The goal is to make a pocket for each LED bulb, securing it in place and holding it upright.

Use pins to mark little pockets around each LED bulb, then straight stitch along each pin for about 1″. Leave the bottom ½” unsewn to accommodate the LED wire. Hot glue also works as a convenient time saver.

Sew the lining to the outer skirt, with the LEDs in their pockets facing the backside of the stained glass panels. Finish the waistline by adding a zipper, elastic waist, or full bodice.

11. Add a Battery Pocket

Cut a 10″×4″ rectangle of lining fabric, and hem all four edges to create a rectangular pocket.

Stitch the bottom and sides of the pocket down onto the skirt lining where the battery pack will be, leaving the top open for easy access. Place the pocket on the left or right side of the dress close to the hemline to best access the battery pack and to avoid sitting on it. Optionally add a snap or velcro to keep it secure.

12. Insulate Wires

To prevent short circuits, insulate any exposed wires with puffy fabric paint. Use wax paper or a drop cloth to protect your fabric from stains as the paint dries. Alternatively, you can use electrical tape to insulate the wires.

13. Flash the Microcontroller

Download the candlelight code file, candlelight_pixels.ino, from the GitHub repository. This code is a modified version of Neopixel Flames by Simon Cleveland. Using the Arduino IDE, open the file and select Adafruit Gemma 8MHz as the board, and USBtinyISP as the programmer. Gemma does not use a port.

Connect the Gemma board with the USB cable, then upload the code to the board.

NOTE: Not all USB v3 ports recognize the Gemma bootloader. Use a USB hub or USB v2 port if the Gemma will not enter bootloader mode. If you see the error A programmer is required to upload, navigate to Sketch → Upload Using Programmer and use this option to upload instead of the IDE button.

The code is formatted for GRB pixels instead of RGB pixels. If you end up with green flames, switch the g and r variables in the code. Play with the following variables to affect the code in the following ways:

brightness (0-255): a higher value will be more visible, but will drain the battery faster.

r, g, b (0-255): these are the base color values that your flame will flicker away from.

color_delta: the degree to which a flickering flame strays from its base color. A bigger delta will have a more pronounced effect, but could stray into non-fire-toned colors.

Judge your candle flickering effect on the whole LED strip, not just one. What looks good on one LED looks chaotic across an entire strip.

14. Finish and Enjoy

Finalize the code, iron the dress, and insert a battery pack. Twirl and enjoy!

Photo by J.J. Xu

Conclusion

This dress looks and photographs best after sunset or in near darkness. Concerned about battery life? The rule of thumb for power draw is 20mA per pixel. This project’s 2500mAh battery can theoretically support 30 pixels for about 4 hours. If you’re carefully planning for an event, use the worst-case scenario (full white brightness) of 60mA per pixel.

Not interested in lugging around a battery pack and pixel strip all the time? Attach the LEDs, microcontroller, and battery pocket to a velcro-backed fabric strip. Use matching-sized velcro on the hemline of the skirt lining to easily attach or remove electronics.

This article appeared in Make: Vol. 86.

Featured photo by J.J. Xu