Happy Halloween everyone! This year, we’re handing out some spooooky Stranger Things lights powered by a Raspberry Pi. I believe this is the most feature-rich Stranger Things script out there.
Demon-strations
Terrifying Features
- Highly randomized
- 3 routines
- 3 bulb lighting effects
- Web-based interface for adding words
- Virtually infinite amount of auto-generated phrases
- Compatible with Python 3 and the latest AdaFruit Neopixel library
Spooky Components
- Raspberry Pi
- WS2811 LEDs (addressable fairly lights) (preferably 100 count[dracula])
- 5V 5A Power Supply
- 3D Printer (optional)
- C7 Bulb make file (optional)
- Python code
Putting together the hardwarescare
For starters, you’ll need a raspberry pi with wireless capabilities and a power supply for it. Purchase WS2811 LED lights. I’d recommend getting 100 count, so that’s 2×50 LED strings. If you purchase a different number, make sure to adjust the python script accordingly.
Connect the 2 LED strings together with the JST connectors. They simply click into place. At one end of the combined string, connect the data and ground wires to the GPIO ports on the raspberry pi. The default GPIO port is 18.
Now connect the other end of the combined string to the power supply. The one I linked to has a nice screw-on adapter, so no soldering is needed. Screw the power wires from the LED into the adapter and connect the adapter to the power supply.
When connecting any of the LED wires, please refer to the LED schematics to ensure you’re using the correct positive, negative, and data wires.
Now that your raspberry pi is connected to the LEDs and both have their own separate power supplies, you can turn both on. For safety, it’s best to always turn off the raspberry pi before the LEDs.
Optionally, use a 3D printer to print out C7 bulbs. These bulbs fit right over the LEDs, to give them that classic 80s Christmas bulb look. Ideally, use transparent filament, although I used white and it works perfectly well. I’d suggests printing 2 shells at 0.2mm.
Use a marker to write out the alphabet on a wall. Tape the lights in place. Attach the bulbs, if available.
Setting up your raspberry pi
Install Raspbian if you haven’t already. Make sure you have Python3 installed. Follow the instructions for installing the Adafruit_Blinka library. The Adafruit page also provides more details for wiring up the raspberry pi and testing that the NeoPixel library is working.
Now clone the Stranger Things Lights github repository. The main file is stranger.py. Start by checking the PIXEL_PIN, LED_COUNT, ORDER, and BRIGHTNESS settings. You’ll also almost certainly need to adjust the ALPHABET. You may want to also change the COLORS, as I don’t think I did a great job of it.
You’ll also want to set up the stranger-server, so that your guests can send their own messages. Refer to the instruction in the git repo.
The results
When everything is set up and the script is ran, it will randomly perform a number of actions.
The main action is spelling out phrases. It has a number of predefined phrases, as well as a virtually unlimited amount of automatically generated phrases to choose from. It can also display phrases entered into the server (see next section). The automatically generated phrases spout off a bunch of spooky nonsense like:
ancient mystery
revolting poltergeist
toxic slugs
vault of the sadistic shapeshifter
evil jerkwads
cult of the cryptic rattlesnake
etc
Occasionally, it will also perform the “Turn all on, then off” routine, or the “Run” routine.
Lights turned on will sometimes randomly have one of three effects: soft flicker, hard flicker, or pulsate.
Stranger Server
The stranger server is extremely straight-forward. Just enter a phrase and hit I’m Feeling Unlucky!