Dancing LED Goggles
Introduction: Dancing LED Goggles
Besides an amazing variety of art in all shapes and sizes, Burning Man has an abundance of music, blinky lights, and dust. While these goggles might not be a work of art, they certainly contribute to the enjoyment of Burning Man’s audio/visual overload while keeping the dust out of my eyes. The best part of them is, if I squint one eye, I can actually see out of them! The fate of Burning Man 2021 is still up in the air so if I can’t use these dancing on the Playa, I might just take them night skiing.
While I’ve been using individually addressable LEDs (commonly called NeoPixels) for a while now, my programming skills have always fallen short of creating some really cool interactive designs. I once made a shirt with an LED grid for my son that was able to display a variety of different colored designs. He wanted them to change in synch with different songs for a dance routine. It was tedious, but I hacked it together. He then wanted something more reactive, like those graphic equalizer shirts that were popular years ago. I’m sure there are some great Instructables out there, but I never got around to it and have felt his disappointment since. It is never good to let down your child, especially one practiced in the art of guilt.
Then I found the PixelBlaze v3 with the Sensor Expansion board on CrowdSupply. It is an LED driver board that is so simple to use it allowed me to “program” a graphic equalizer type display on my goggles in minutes. I use “program” in quotes because all I had to really do was select one of the already created patterns and wirelessly load it on my PixelBlaze. There was some configuration required, but nothing as complicated or arcane as I typically experience with boards that have such specific functions. No figuring out MAC addresses or typing out IPs and configuration codes. Let me walk you through my set up. With a tad more time and skill, you can create your own patterns, but the selection is decent to get started.
Supplies
* PixelBlaze v3 + Sensor Expansion board
* Ski goggles
* WS2812B 144 LED/meter (you only need 100 LEDs so 1m will do fine)
* LiPo battery switch
* Wire (I used stripes out of some old CAT5 cable)
* Black acrylic (for optional lens frame)
* Soldering iron
* Hot glue gun
Step 1: Step 1: Build LED Matrices
First I built out my two LED matrices, one for each eye. 51
I chose the WS2812B “NeoPixel” LEDs that come in 144 LEDs per meter. Each LED is 7mmX 12MM so a 5 X 10 matrix is almost square, but still fits easily on my goggles. I cut 10 strips off my roll, each with 10 LEDs, and began soldering. This was the most difficult part since the pads are pretty small and if you don’t cut them exactly in half, it is tough to solder your connector wires onto the tiny pad. To make it easier, I would tin (add solder) to both the end of the wire and the pad before soldering them together. Using a thin gauge solder helps too.
It might seem obvious, but worth mentioning, that you solder your connections by following the arrows. Your 5V power, ground, and data wires from the PixelBlaze should go on a pad with an arrow pointing down the strip (“in”). At the end of your strip, the arrow is pointing “out” so you solder the wire on the “out” 5V to the 5V “in” pad on the next strip. Same for the “out” GND to “in” GND and “out” Data to “in” Data. Keep snaking your connector wires until you have 5 LED strips stacked on top of each other and then start with the second matrix. Make sure the last “out” set of wires is long enough to provide some spacing for the next matrix to be positioned properly.
Another soldering note. I started my matrix in a Cartesian fashion with LED 0 at the bottom left corner. While PixelBlaze can handle this (I’ll show you how in later steps), they recommend you follow computer graphic methodology with the first position at the top left and work your matrix down. I had already soldered mine together when I realized that and was thankful that it was not required. The flexibility of the PixelBlaze saved me a lot of time.
Because of my questionable solder job, I made sure I tested each strip before going any farther. I connected the wires to an Arduino and ran the simple test program on each strip of 10. 635