As the Christmas holiday approaches while our bus is parked in Tucson, I found myself inspired to create an Arizona inspired e-textile project that can function as this year's Christmas hat.
I still remember the colleagueship that Jill Dawson, Leah Joly and I felt back in 2014 when we encouraged each other through the process of learning how to create with code via e-textiles Leah
made an Ugly Christmas Story, Jill
created a Rudolph Hat with a temperature sensor, and I created
a singing Santa Hat with a tilt sensor in the pom-pom.
And while I still have plenty of LilyPad supplies, I decided to see where the Microbit might take me in playing with eTextile. This felt like a great opportunity to learn how to increase my confidence with Microbit controlled neopixels.
I started with a straw hat that I had purchased to walk around the desert with; the decorative holes were begging for sewable LED's.
I started thinking that I would place 7 color changing NEO Pixel lights on the hat.
and considered where I might want to sew them on my hat.
I also experimented with where I might want to place my micro-bit and battery pack
so it would be comfortable and secure.
Out came the alligator clips so I could attach the neopixels to the the microbit
and play with controlling them with block code (via MakeCode). This was actually the first time I have used neopixels in a project. I always felt intrigued but intimidated by them.
Thanks to the
Adafruit Uberguide to Neopixels, I started to understand them better.
I felt comfortable sewing conductive thread to the Ground and Power pads in extexile
but adding a third conductive trace through the DATA IN and the DATA OUT pads was new to me.
It still baffles me how so much data can pass through a single piece of conductive thread through a series of neo-pixel lights.
After some frustrating and unpredictable results when I experimented with the wiring, the code and neopixels, I came to the conclusion that that alligator clips don't grab the neopixel pads reliably causing some erratic results. It was also really hard to spot possible short circuits with so many wires in play.
Eventually I felt like I understood the circuit paths and started to use conductive thread
to sew 7 neo pixels onto a piece of black ribbon.
Unfortunately the final results didn't light up.
No matter how hard I looked I couldn't spot the problem.
Eventually I started to cut apart the black ribbon, but on a hunch, I tested the
circuits after each cut.
My hunch paid off, and after sacrificing two neo-pixels, the 5 remaining neo-pixels lit.
I reworked my design to one with the 5 working neo-pixel strip and moved on.
The next challenge was thinking how I might attach the three strands of thread to the microbit without shorting out the circuit from loose conductive thread moving around under my hat. I almost reached for some thin insulated wire and some small screws.
But I convinced myself to try to come up with a plan that used the supplies in my sewing basket.
The plan I came up with was to use conductive thread to sew a piece of fabric onto the microbit - then add snaps to the fabric that were connected to the microbit via conductive thread.
This would make the microbit removable to be used in other projects if needed.
It also kept things soft and flexible.
Of course I tested to snaps in my basket to make sure they were conductive before sewing them on.
I hit another obstacle when I came to attach the threads from the black ribbon to the snaps.
The data pad on the neopixel was in between the PLUS and MINUS on the neo pixel.
Meanwhile the microbit had the plus and minus connectors both to the right of the Pin 0,1, 2 options.
I could not see anyway to not cross the conductive thread without insulating them.
I finally decided to make cloth channels for each piece of thread. This insulated the thread while keeping everything soft and flexible. It was not pretty, but it worked. I also chose fabric scraps that created a way to color code the (now hidden) wire to match Ground (black fabric scrap), Power (red fabric scrap) and NEOPIXEL data (multi-colored fabric scrap)
I'm almost embarrassed to post this one picture, but I reminded myself that this was really a proof of concept prototype level project, and it was okay to forgo beautiful for functionality and focusing on my aspiration to learning to code and control neopixels.
I tacked the black ribbon with just a few stitches - and when I was convinced that that the circuit worked with no shorts, I applied a layer of nail polish to any exposed thread as an insulating layer. Crossing my fingers that this would prevent shorts from happening as I moved around wearing my hat.
I grabbed some good old white thread, a glue gun, and velcro and did a quick job securing everything in place before heading over to play with code.
I added the NeoPixel extensions and the Make Code command and started with a simple animation of a little red dot making its way through the 5 neopixels leaving them lit orange as the red dot moves through the loop.
I was ready to continue playing with code, but the two empty pins on the microbit called for something.
I decided that my prototype might make a good teaching tool if I added some more straightforward LED's to the design. So I grabbed a black ribbon and some red and white holiday decorations and added a festive looking band to the hat. I added two simple sewable LEDS which I attached to PIN 0 on the microbit. This would allow me demonstrate the code needed to control straightforward external LEDS as well as NeoPixel LED's
I made sure they worked by adding a couple simple code snippets that would turn the little LED sequins off and on with button A and B
And voila a physical computing project that has me vested enough to experiment with
Microbit code.
But wait -- there is one more pin left open.
I can't let that go unused.
Considering that I also aspire to gain more creative confidence with sensors --
I think that this seems like the perfect use for that open PIN.
I've received some interesting suggestions from my online network.
More experimenting ahead --
but first a little pedagogical introspection~
I truly believe that physical computing is integral to engaging and motivating a more inclusive culture in creating, making, and computational thinking.
One only has to look towards the work of Seymour Papert to see the value of physical computing towards giving students powerful thinking tools.
According to Papert, “The role of the teacher is to create the conditions for invention rather than provide ready-made knowledge.” (1993). By giving our students the opportunity to learn math through coding, and a chance to design their own algorithms to solve problems, we are providing them with “tools to think with over a lifetime.” (Papert, 1980)
The hours I spent giving birth to this object has me vested to persevere through some of the challenging thinking that comes with learning to control my object.
Sure it might seem be a lot less time consuming to use a digital platform to teach algorithms, syntax and computational thinking. But who do we lose along the way? Who shows up?
I truly believe that the use of physical computing to create confidence and interest in computer science would result in a more diverse culture in computer science education and related workforce.
But more importantly - building and controlling aa personally meaningful physical object will give students "tools to think with over a lifetime." (Papert, 1980)