How to make a Stranger Things message wall
- String of 25 Christmas lights that are the C7 size.
- 25 C7 replacement bulbs
- 25 ft. length of stereo audio cable (or some other cable with at least 3 wires in it)
- Addressable RGB LEDs (at least 26, but more is better. They usually come in a string of 50)
- Micro controller ( I used an Arduino nano, but any micro controller or single board computer will work)
- Bluetooth module ( I used an HC-05)
Step 1: prepare C7 christmas lights
In this step you will need to hollow out at least 26 c7 bulbs. I went through a lot of trial and error trying to figure out the best way to break open these bulbs and hollow them out. I settled on using some large pliers. The glass can be sharp so please wear gloves. I broke about half of the bulbs that I tried to open so buying that second box of 25 replacement bulbs came in handy. Once you have all of the bulbs hollowed out, take the same large pliers and yank off all the green base (sockets) from the main power cable. Obviously make sure that the cable is not plugged in while you do this. Next use pliers and some sort of cutting tool to remove all the plastic inside the sockets. Your goal should be to hollow out the sockets so you can slip an LED in there. I ended up using a band saw to cut the sockets in half, discarding the lower half with all the plastic that's in the way. Once you have all the sockets hollowed out, use a hot glue gun or some other adhesive to attach a bulb onto each socket.
step 2: prepare addressable RGB LEDs
The WS2812B LEDs I bought came in a string of 50, but I only needed about 26 so I cut the extra off using some wire cutters. The big problem with these LEDs was that there was only about 3 inches of cable between each LED. If I was going to hang these on the wall with large letters I wanted more like 12 inches between each LED. To fix this problem I separated each LED and cut a bunch of 10 inch "extension cables" from some stereo audio cable. Each LED has 3 signals; 5V, Ground, and Data. I soldered the 3 signals to the audio cable to extend the space between the LEDs. I used some heat shrink tubing to ensure electrical isolation. Any shorting of these signals would result in the data not transmitting, or worse, ruining the LEDs. Once all the extension cables were soldered in place, I was left with a string of 26 LEDs about 26 feet long. I used some more hot glue to attache the C7 bulbs from earlier to the LEDs. This made the assembly appear like a regular string of Christmas lights as seen in the show.
step 3: connect micro-controller and Bluetooth module
Addressable LEDs need to have some sort of micro controller or single board computer to send serial data out which lights up each LED to the desired color. I chose to use an Arduino Nano, because they're cheap and easy to use. I found the FastLED library and was up and running fairly quickly. I wrote some code that reads the serial UART port (TX and RX pins) and translates the message into single letter blinks. I could test the code by just typing in messages in the serial monitor built into the Arduino IDE. I wanted this project to be interactive so I connected an HC-05 Bluetooth module to the serial UART port which allowed me to send messages from my phone.
step 4: write smart phone app to send messages
There are several apps in the android app store that can send serial data to a Bluetooth module. I chose to create my own app using MIT app inventor. I'll be honest I used to be scared of trying to "code" my own android app, but MIT app inventor makes the process really simple. The browser based software has drag-and-drop code blocks that look very similar to SCRATCH (probably built from the SCRATCH programming language). The app allows the user to connect to the Bluetooth module and send messages. Pretty straight forward.