There is a video for this project here on my YouTube channel that features a very strange opening sequence.
You could say that I'm a little obsessed with Stranger Things. When I first watched the first season last summer, I marathoned it in one sitting. I've since watched it multiple times, usually with other people trying to spread of the gospel of what I consider to be one of the most well-done thrillers in modern times and possibly ever.
So with the impending season 2, and also impending viewing party I'm hosting, I knew that I wanted to make my apartment a bit strange. Last year I did a NeoPixel Christmas light alphabet wall, one of the more infamous tableaus from season 1, but I was basically following someone else's tutorial and only did minor edits to the code to have it match up with my NeoPixel configuration. The code was written with the FastLED library and I ran it on an Arduino. It had form and was functional but I knew that I wanted to kick it up a notch this year.
I decided to use a Trinket m0 board from Adafruit and program the alphabet wall with Circuit Python. If you've been putting off experimenting with Circuit Python because you're super comfy with the Arduino IDE then I encourage you to jump out of your comfort zone and dive into Circuit Python. I truly wish I had earlier. Once you get the hang of the file system and Python syntax then it's smooth sailing and dare I say easier than the Arduino IDE.
Part 1I wrote a few routines for the alphabet wall to spell out different things from the show. These include "I'm here", "help", "run" and a new addition this year "Eggo" since waffles have a significance for the show and were also really big in the recently released mobile game (told you I was a big fan). I also have some non-word routines to break things up. I'm using the Rainbow_cycle example from Adafruit to get some multi-colored light action. I also have an all red routine where I quickly up the amount of red being written to the NeoPixels to give it a fade effect. And then finally I have a routine called glitch. In glitch I have the entire string light up white, followed by a couple of individual NeoPixels quickly lighting up colors one by one to give an impression that the lights are going haywire.
I define all of these before the loop and then call them in the loop to go on forever. I also wrote a quick function called clear that basically turns all the RGB values to zero. I call that in between each routine and also at some points during the main routines. The code is available on my GitHub and linked below in this write-up.
Like I said though, I wanted to kick it up a notch. The other Christmas light-centric effect in season 1, also related to the alphabet wall, was all of the lights that Joyce puts up around her home to try and talk to Will and also be made aware of when the Demogorgon is lurking nearby. I decided to try and recreate this on a much smaller scale by setting up 200 NeoPixels to wrap a bit haphazardly around my apartment, leading from the living room to the kitchen and ending at my laundry room, which is a tiny and somewhat creepy closet, perfect for an upside down portal to hide.
To control these lights I'm using a Metro m0 Express board also from Adafruit and the code was also written in Circuit Python. There is a bit of twist with this portion of the project though. I wanted the effects of the NeoPixels lighting up one by one to lead across my apartment to be triggered by the actions of people walking around. I decided to make a piezo net, basically five piezo sensors soldered together so that they act as one large sensor. I have the net under a small throw rug and whenever someone walks across the rug the light sequence is triggered to start up.
For housing, both portions of the project are fairly bare bones. For the alphabet wall, I just have the three wires from the NeoPixels (5V, Data & GND) going into a breadboard where the Trinket m0 is. I'm able to power the Trinket with the USB port on the back of my TV though, which is right next to the alphabet, so it gives the impression of a very clean setup.
For the larger portion of lights, again I just have the wires from the NeoPixels and the piezo sensors going directly into the Metro m0 Express board. To keep things clean, I have the Metro hiding inside an Eggo waffle box, which is another reference to the show. The wires for the components can feed out one opening and then the power cable can feed out the other. There's an outlet nearby so it also looks very clean.
This project is fairly simple but also super effective. I can also say from experience that if these effects are going off while viewing Stranger Things then the creepiness factor increases by 100x. The nice thing about this type of project too is that it's easily adaptable to different lighting orientations and you can easily write different routines for it. I do want to experiment a bit more with different types of sensors to trigger the lighting effects. I kept it simple with the piezos for now, but perhaps for season 3 I'll journey into motion sensors or even an IoT component.
Comments