As someone who grew up in the 80s, I not only appreciated the suspense and horror of the Netflix Original Stranger Things, but also loved how well they captured the look and feel of the time. I knew this show would be the basis of my Halloween costume this year. The Wall scene was one of my favorites and I knew I wanted a costume that had both lights and sound. This Instrucable shows how my costume recreates the Wall scene with synchronized lights and audio from the show.
But first, bear with me as I rant a little before getting into the meat of this Instructable. You can skip ahead and ignore this, I won’t be offended, I have three kids who ignore me all the time.
Why do we create Instructables? Is it to share our knowledge and skills with the world and showcase human creativity? Is it to prove that the Internet can be used for more than narcissistic rants and cat videos? Probably, but I’ll admit I do it for the glory and to stick it to my teenage son to prove that I can get more views than his YouTube Channel where he does science experiments in our basement. Come on, the people want more blinky things and less education on the scientific principles behind common phenomenon. Sheesh! Kids today. So, why did I create this Instructable and more importantly almost not write it up? I’ll admit, I saw the really smart guys at Sparkfun blog about their Netflix Original “Stranger Things” wall and was inspired. I felt guilty about creating an Instructable that kind of copied their idea, but figured why not since they didn’t submit it to Instructables. Plus, I was going to put mine on a shirt as a costume instead of a wall. I spent two weeks soldering and programming the shirt and was about to write up my Instructable when bxl46662 posted his Arduino Controlled wall. Not only did he beat me to the punch, but he was Featured!! You can see my dilemma. Obviously, I swallowed my pride and wrote up my Instructable anyway. Let the Internet decide if my efforts were worthy. I hope you learn something or at least smiled. If you do “copy” my idea, please don’t enter in the same Halloween Costume contests I do! Also, if you have another free moment, throw my son a bone and check out his Channel, you’ll probably learn more there than from me.
Step 1: Gather Your Supplies
Apparently, I did this the hard way as I did not know you can buy individually addressable LEDs in a string already. I've used them in flexible strips and hard shapes like rings, but ended up buying 30 small individual LEDs and soldered them all together. Using these from Amazon will probably save you a few hours of soldering.
- 30 X Adafruit NeoPixel Mini PCB RGB 24-bit Color Breakout LED G43 (come in packs of 5)
- Arduino Nano
- Mini USB 64M bit Serial SPI FLASH MP3 Voice Amplifier Module for Arduino
- USB wire (it comes in four strands, but you only need 3)
- C9 LED Multicolor Christmas Lights - I got these at Lowes in early September, because that is when Christmas starts. I like these because the bulbs are plastic and come off easy. They also come in C7 and C6, but they are too small for the LEDs to fit.
- 10K resistor
- push button
- audio jack
- 1000 µF capacitor
- Male USB plug
- 2 X 5v USB battery packs
- white t-shirt
- black paint
- wig (optional)
Step 2: Preparing Your Lights
This is the most tedious part of the project. The Christmas light come in strings of 25, but I needed at least 28 to show the whole alphabet plus two extra to make the turns for the three rows of letters. I bought two sets of 25 and only used 3 from the second set. They were cheap enough that I didn't have to worry about it.
First, take the bulb off of the base and pull out the LED that comes with the lights. You can discard that LED or save it for another project. Next, yank out the wires from the base and stick a screwdriver in the base to widen the diameter of the base so the replacement wires can fit in better. Also, remove the copper leads that come with the LED.
Now that the base is set, cut about 5-7 inches of your 4 strand wire. I split out the 4th strand (the purple was the least Christmassy so it went) before cutting it into my 7-inch strips. Strip about a 1/8 inch off of each side of the 3 wires. Feed one end into the bottom of the base. I found it best to tin each wire (add a bit of solder to the wire) at this point.
Next, you are going to solder the three wires to the DIN (data In) side of the LED. These LEDs have two sides: IN and OUT. Since we are starting with the last LED and working our way backwards, you will only solder to the DIN side for this one. Subsequent lights will require attaching wires on both ends so be aware of which side you are using. The OUT of the previous LED should be attached to the IN of the next LED and so on.
I also found adding a little bit of solder to the surface mounts of the LED helps get the wires on faster. Also, remember to keep your wiring consistent or it won't work. Red wire to 5V, Black to GND, and Green to the Data (center pad).
Once you have your first LED connected, add some hot glue to the solder and wire to keep it snug and then hot glue it to the base. The bulb should snap right back on.
Next, put the next base through the other end of the wire and make sure the opening of the base is facing the end of the wire. Prepare the wire and next LED the same way, but this time solder the DOUT side. Once that is done, grab a new 7-inch strip of wire, prepare it, string it though the base, and connect it to the DIN side of the LED. Glue it all up and replace the bulb.
Repeat another 26 times.
When you come to the last LED (really the first), you will need to solder the DIN side to a power supply and Arduino. Since I need to be mobile, I like to use USB power packs. This means, I need to cut the end off of an old USB cable and solder the red wire to the 5v pad and the black wire to the GND pad of the DIN side of your LED. There will probably be a green and white wire too, just ignore those and cut them back. You will also need to solder the capacitor across the positive and ground wire. See the diagram in two steps to see how it all fits together.
Step 3: Decorating the Wall
I grabbed a cheap white t-shirt and painted the letters using black latex paint. I had an image of Winona's wall up so I could emulate her drippy font as closely as possible. Before I painted, I draped the t-shirt over a board so it would be easier to paint and the color wouldn't bleed through to the back of the shirt.
Once it was dry, I strung out my light. Starting with the last light in the string, I sewed the base and wire in place above each letter. It was pretty tight in certain places so I had to use some wire to tie up and shorten my strands. I probably should've used shorter strands of wire, but I thought I'd might reuse the strip for a later project and wanted it long.
Step 4: Connecting the Parts to the Arduino
I used an Arduino Nano so I could squeeze it all in a plastic box that would fit in my pocket. Since the Nano only has two Ground pins, I had to make a little breadboard to connect all of the grounds together and then bring it to the Nano. As you can see from the diagram, the ground for the lights, switch, and MP3 module all need to tie together. Even though the lights require a separate power supply with its own ground, you also need to tie that ground to the Arduino. Speaking of the lights power supply, you should also add a capacitor across the ground and positive wires of your power supply. Read Adafruit's best practices guide for the reason as well as some other hints with dealing with these LEDs.
Connecting the MP3 module is pretty straightforward as well. The speaker goes to an audio jack or direct into your speakers. You can power the module directly from the Arduino power pins. Each of the inputs (K1 - K7) on the board correspond to an audio file that we will load in the next step. Connect the Arduino digital pin to the MP3 boards input pin with a jumper wire.
- Arduino D8 -- > MP3 K1
- Arduino D9 -- > MP3 K2
- Arduino D10 -- > MP3 K3
- Arduino D11- > MP3 K4
- Arduino D12 -- > MP3 K5
Add a push button switch with a pull up resistor to start the show. Here is a link to Sparkfun's guide to explain it further.
Step 5: Loading the Code
There are plenty of resources out there to explain how to load an Arduino sketch onto an Arduino so I'll just explain a little bit about what the code does.
First of all, I started with the code from the Sparkfun blog I mentioned earlier. I then edited it to do what I wanted.
There are two part. Once you power up the module, every other light will turn on for a second and then turn off (the "twinkle" function). It will do this until the button is pressed.
When the button is pressed, all of the lights are turned off and the first audio is played by turning the Arduino pin to low, waiting for two seconds, and then turning the same pin to high, which stops that particular audio clip.
The next audio clip plays and this section spells out R-I-G-H-T H-E-R-E in lights. I put in a delay between each light turning on and off in order to keep in synch with Winona.
The next clip plays and spells out R-U-N in lights, which leads to the final clip when the demogorgon makes a lot of racket as it comes through the wall. The lights freak out at this point by blinking very fast.
Once all of that is done, I could not resist an homage to my other favorite Winona Ryder scene by playing My Sharona and having the lights spell out some of the lyrics.
Step 6: Adding the Sound
The MP3 sound module is actually pretty easy to set up. First, make your audio files. I made my audio files by recording the Wall scene with my computer and then creating individual MP3 files. You need to name the files 001.MP3, 002.MP3, etc so the module will play them in order.
Next, just plug the MP3 module into a USB port and your computer will popup a window as a new drive (assuming a MS Windows environment). The module comes with files preloaded so you can just delete them unless you want your shirt to say something in Chinese. Drag and drop your MP3 files onto the module and eject it.
You can test your files by applying power to the module and attaching a wire to ground and one of the input pins (K1 - K7) It should play after grounding the pin.
Step 7: R-U-N!!!
I'm sure I could've done a better job of making the circuit more compact, but the box fits fine in my pocket. I like using 5v power packs because they fit easily in my pocket as well and are simple to recharge. The next step is to convince my wife to dress as Ele for Halloween. I had no luck getting her to dress as Slave Leia when I was Han Solo in Carbonite, but I'm hopeful.