Colour Stealing Underskirt
2018-Sep-04, Tuesday 02:45 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
I've had an idea for an elaborate electronic skirt for, literally, years now. And no matter how long I waited progress just wasn't being made. At one point I realised that EMFcamp was fast approaching and I needed something for it. So I scaled back my ambitions, found a white tulle/net skirt on sale, and got to work.
I had a few Neopixel strands laying about the house, and found to my surprise that each 20 pixel (2" pitch) strand was almost exactly the width of my skirt. Two strands would completely encircle it. Rather convenient. And I wanted to be able to set the colour of the Neopixels from things around me, so I needed a colour sensor. I also wanted a potentiometer so I could adjust the brightness depending on ambient light, and would need a button to change between modes. Oh, and a microcontroller to make it all work. Which gave me this circuit.
An aside;
If you have a LilyPad Simple you can still make this, with a few caveats. First, with only one Power and one Ground terminal laying out the components can get awkward. Two, the Neopixels will be underpowered. Three, it will only work on battery after disconnecting both the USB cable and the FTDI header.
Push Button Signal -> 5
Neopixels Data In -> 11
Potentiometer Data -> A3
Colour Sensor SDA -> A4
Colour Sensor SCL -> A5
Okay, onto actual construction. I planned to place the electronics on the top of the skirt, near the waistband, at the small of my back. As somewhere to attach them, and hold the battery, I constructed a simple pouch. Turn over the top edges, stitch. Right sides together sew the two halves together around the other three sides. Turn right side out.
I added little plastic snaps to the inside of the pocket, to keep it closed. And to the back of the pocket to attach to the skirt. Then arrange the components, and start connecting.
Being short on time I went with soldering everything, instead of sewing. The Neopixels are attached to the Flora through 3-pin JST cable set, so that the electronics can be removed, for laundry, for packing, etc. The wires need to be just long enough to reach the Neopixel strands. The colour sensor, potentiometer, and button, are all going to sit at the waistline of the skirt, and the wires need to be long enough to reach there, and a bit more to reach items for colour thievery, for example.
For robustness both ends of every wire is heat-shrinked. Groups of wires (i.e. for each component) are then also heat-shrinked together. And the lengths of wire in-between are wrapped with clear wire-wrap. I actually fed the lengths of wire through the wire-wrap and it resulted in uneven distribution. Doing this next time I would wire-wrap the wires before soldering onto components, for neatness. I also used some clear heat-shrink over the entire push button, to make it easier to get a grip on it.
The wires/components are kept in place with little elastic loops at the waistline. And finally I used some white Sugru to reinforce where the wires meet boards (on both ends) as well as offering a better grip.
All that's left then is attaching the Neopixels. I hand stitched the two chained strips either side of each pixel to keep them secure. At the sides where there is excess length of non-pixelated wires I made little button-holes and hid the excess on the inside of the skirt. I did the same with the wires going to the microcontroller.
The code is nothing fancy, just pieced together from examples in the Arduino IDE (after installing the relevant libraries);
Adafruit Neopixels > strandtest
Adafruit TCS34725 > colorview
The tulle/net is wonderful for diffusing the light, seeming almost to glow itself.
But white is very much not my aesthetic. Which is a large part of why I made this an underskirt. You can use this one underskirt with a variety of overskirts to achieve different effects. Here I've used a black crushed velvet skirt with uneven hem so that some of the glowing tulle/net still peeks out. In dark enough environments, there is a side benefit of seeming to exist in a puddle of light on the ground. (Which can be handy when trying to navigate a campsite.) Overall this skirt is fun, but not the most practical. Though I do foresee it coming in handy from time to time.
Parts;
Fabric scraps
Petticoat
Skirt
Potentiometer
Adafruit Flora
Adafruit Neopixel strands
3-pin JST SM Plug + Receptacle Cable Set
Adafruit Colour Sensor
LilyPad Button Board
I had a few Neopixel strands laying about the house, and found to my surprise that each 20 pixel (2" pitch) strand was almost exactly the width of my skirt. Two strands would completely encircle it. Rather convenient. And I wanted to be able to set the colour of the Neopixels from things around me, so I needed a colour sensor. I also wanted a potentiometer so I could adjust the brightness depending on ambient light, and would need a button to change between modes. Oh, and a microcontroller to make it all work. Which gave me this circuit.
Colour stealing circuit
Made with Fritzing
An aside;
If you have a LilyPad Simple you can still make this, with a few caveats. First, with only one Power and one Ground terminal laying out the components can get awkward. Two, the Neopixels will be underpowered. Three, it will only work on battery after disconnecting both the USB cable and the FTDI header.
Push Button Signal -> 5
Neopixels Data In -> 11
Potentiometer Data -> A3
Colour Sensor SDA -> A4
Colour Sensor SCL -> A5
Alternate colour stealing circuit
Made with Fritzing
Okay, onto actual construction. I planned to place the electronics on the top of the skirt, near the waistband, at the small of my back. As somewhere to attach them, and hold the battery, I constructed a simple pouch. Turn over the top edges, stitch. Right sides together sew the two halves together around the other three sides. Turn right side out.
Make little pocket
Photo by chebe
I added little plastic snaps to the inside of the pocket, to keep it closed. And to the back of the pocket to attach to the skirt. Then arrange the components, and start connecting.
Attach microcontroller and components
Photo by chebe
Being short on time I went with soldering everything, instead of sewing. The Neopixels are attached to the Flora through 3-pin JST cable set, so that the electronics can be removed, for laundry, for packing, etc. The wires need to be just long enough to reach the Neopixel strands. The colour sensor, potentiometer, and button, are all going to sit at the waistline of the skirt, and the wires need to be long enough to reach there, and a bit more to reach items for colour thievery, for example.
Soldered and wire-wrapped
Photo by chebe
For robustness both ends of every wire is heat-shrinked. Groups of wires (i.e. for each component) are then also heat-shrinked together. And the lengths of wire in-between are wrapped with clear wire-wrap. I actually fed the lengths of wire through the wire-wrap and it resulted in uneven distribution. Doing this next time I would wire-wrap the wires before soldering onto components, for neatness. I also used some clear heat-shrink over the entire push button, to make it easier to get a grip on it.
Potentiometer and push button
Photo by chebe
The wires/components are kept in place with little elastic loops at the waistline. And finally I used some white Sugru to reinforce where the wires meet boards (on both ends) as well as offering a better grip.
Colour sensor
Photo by chebe
All that's left then is attaching the Neopixels. I hand stitched the two chained strips either side of each pixel to keep them secure. At the sides where there is excess length of non-pixelated wires I made little button-holes and hid the excess on the inside of the skirt. I did the same with the wires going to the microcontroller.
Sew neopixels to skirt
Photo by chebe
The code is nothing fancy, just pieced together from examples in the Arduino IDE (after installing the relevant libraries);
Adafruit Neopixels > strandtest
Adafruit TCS34725 > colorview
The tulle/net is wonderful for diffusing the light, seeming almost to glow itself.
Underskirt
Photo by chebe
But white is very much not my aesthetic. Which is a large part of why I made this an underskirt. You can use this one underskirt with a variety of overskirts to achieve different effects. Here I've used a black crushed velvet skirt with uneven hem so that some of the glowing tulle/net still peeks out. In dark enough environments, there is a side benefit of seeming to exist in a puddle of light on the ground. (Which can be handy when trying to navigate a campsite.) Overall this skirt is fun, but not the most practical. Though I do foresee it coming in handy from time to time.
Skirt
Photo by chebe
Parts;
Fabric scraps
Petticoat
Skirt
Potentiometer
Adafruit Flora
Adafruit Neopixel strands
3-pin JST SM Plug + Receptacle Cable Set
Adafruit Colour Sensor
LilyPad Button Board