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

Putting together the hard ware scare

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!