Interactive Stranger Things LED Alphabet Wall (Arduino + Discord Bot)

by beka-shvelidze in Circuits > Arduino

58 Views, 2 Favorites, 0 Comments

Interactive Stranger Things LED Alphabet Wall (Arduino + Discord Bot)

Ambient Mode.jpg

Build a physical, interactive Stranger Things style wall that spells out incoming text messages live, features realistic bulb-flicker animations, maintains an ambient low-light baseline, and includes an accelerating "RUN" warning strobe. Powered by an Arduino Uno and bridged to Discord via a Python script.

This project transforms a 96-LED WS2812B strip into an interactive Stranger Things alphabet wall. Unlike basic static displays, this build incorporates several distinct features:

  1. Discord Remote Control: Receives commands from any Discord text channel using the trigger ST!:"YOUR MESSAGE".
  2. Always-On Ambient Glow: Idle letters maintain a dim, cozy baseline light (~12% brightness) instead of staying completely dark.
  3. Realistic Bulb Flickering: Letters flicker rapidly before locked at full brightness and flicker on their way down, imitating vintage Christmas lights.
  4. Accelerated "RUN" Overdrive: Typing ST!:"RUN" triggers a progressively speeding "R-U-N" sequence that dissolves into a high-intensity red strobe.
  5. Isolated Dual-Power Protection: Designed with separated 5V rails and shared ground to eliminate backfeeding risk to your laptop USB port.


Supplies

Screenshot 2026-10-18 162620.png

Item Quantity Purpose

Arduino Uno 1 Main micro-controller handling LED timings and serial commands

WS2812B LED Strip (96 LEDs/m) 1 Reel Individual addressable RGB lights mapped to alphabet letters

5.0V 3A DC Power Adapter 1 Direct external power supply for the LED strip

(optional) 1N5408 Rectifier Diode 1 Drops strip voltage by ~0.7V to ensure reliable 5V logic signaling

1000 µF / 16V Capacitor 1 Decoupling capacitor across strip 5V and GND to smooth power surges

330 ohms Resistor 1 Inline protection resistor on the data line

2-Pin Screw Terminal Block 1 Clean, secure power and wire distribution

3-Pin Screw Terminal Block 1 Clean, secure power and wire distribution

M/M Jumper & 22AWG Wires 2m General circuit wiring

Laptop / PC 1 Hosts the Python Discord bridge script via USB

Perfboard / Prototype PCB 1 For soldering and organizing circruit

Cut/Stripped USB Power Cable 1 (+5V) and (GND) wires stripped and screwed into the 2-pin terminal


Tools and Equipment Needed

  1. Soldering Iron & Lead-Free Solder: For making secure connections on the WS2812B copper pads and terminal leads.
  2. Wire Strippers & Cutters: For trimming and prepping 22 AWG hookup wire.
  3. Precision Flathead Screwdriver: For securing wires inside the screw terminal blocks.
  4. Multimeter: To verify the 5.0V adapter output, check the ~4.4V drop after the diode, and confirm shared ground continuity.
  5. USB-A to USB-B Cable: For flashing code to the Arduino Uno and powering it via your laptop.
  6. Laptop / PC: To run VS Code and host the Python Discord bridge script.
  7. Wood Plate (37x40 cm): For imitating the wall and orginising led strip over it.
  8. Permanent Markers: For drawing alphabet on wood plate.


Apps Needed

  1. Visual Studio Code: For editing and running python scripts for bridgehosting.
  2. Arduino IDE: For editing and uploading C++ code into Arduino UNO.
  3. Discord: For creating discord bot and using its features.

Circruit Assembly and Hardware Wiring

PXL_20261017_134216278.jpg
Screenshot 2026-10-18 172213.png

The wiring utilizes a Laptop-as-Host Bridge layout. Power is safely split so the LED strip draws power from the external wall adapter while the Arduino runs off USB power.

+--------------------------+
| 5.0V 3A Power Adapter |
+------------+-------------+
| (+) | (-)
v |
[1N5408 Diode] |
| |
+-----+------+
| |
+----+-----+-----+
| 1000µF Cap |
+----+-----+-----+
| |
+------------------+ +-------------------+
| 5V | GND | GND
v v v
+-----------------+ +-----------------+ +---------------+
| WS2812B Strip | | WS2812B Strip | | Arduino Uno |
| 5V Power Pad | | GND Pad | | GND Pin |
+-----------------+ +-----------------+ +---------------+
^ | Pin 6
| v
| Data In [330 Ω Resistor]
+--------------------------------------------+
  1. Power Isolation: Connect the 5.1V positive wire from the adapter through the 1N5408 diode (silver stripe facing the LED strip) directly to the strip's 5V power line. Do NOT connect the charger’s 5V line to the Arduino 5V pin.
  2. Shared Ground (Critical): Connect the negative (GND) wire from the 5.1V power adapter to both the LED strip GND and an Arduino GND pin.
  3. Decoupling Capacitor: Place the 1000 µF capacitor directly across the power adapter screw terminal (Positive terminal to capacitor +, Negative terminal to capacitor -).
  4. Data Protection Line: Connect Arduino Digital Pin 6 through a 330 ohms resistor to the DIN pad of the WS2812B LED strip.


Flash the Arduino Firmware

Install the FastLED library in the Arduino IDE (Sketch -> Include Library -> Manage Libraries).

Connect your Arduino Uno via USB, select your board and COM port, and upload the code.

Discord Bot and Host Bridge Setup

1. Register the Discord Bot

  1. Go to the Discord Developer Portal and create a New Application.
  2. Navigate to the Bot tab and click Reset Token to generate a secret key.
  3. Scroll to Privileged Gateway Intents and enable MESSAGE CONTENT INTENT.
  4. Navigate to OAuth2 -> URL Generator, select bot scope and permissions Send Messages, Read Messages/View Channels. Use the generated link to invite the bot to your Discord server.

2. Configure Host Dependencies

Open your command terminal and install Python libraries:

pip install discord.py pyserial

3. Deploy the Host Python Script

Create a file named discord_bridge.py on your laptop, insert your COM port and bot token, then run it in VS Code.

Downloads

Calibration and Customization

Adjusting Physical Pixel Mapping: If your letters are physically arranged at different LED indices, adjust the numbers inside letterMap in the Arduino sketch.

Modifying Color Schemes: Change individual entries in colorMap to alter individual bulb colors across your display.

Operating the Wall

Ready wall.jpg

Before powering up, ensure your hardware setup is complete:

  1. Connect the Arduino Uno to your laptop via its USB-A to USB-B cable.
  2. Plug the external 5.1V DC power supply into the wall socket to energize the LED strip.

Option A: Remote Control via Discord Bot

This mode allows anyone in your Discord server to send messages to the wall remotely over the internet.

  1. Open Visual Studio Code on your laptop and load your discord_bridge.py script.
  2. Click the Run button in the top-right corner to start the Python bridge.
  3. Check the VS Code terminal window at the bottom to verify you see:
Connected to Arduino on COMx
Discord Bot Logged in as YourBotName
  1. In any text channel on your Discord server where the bot is present, send commands using the trigger syntax:
  2. Spell Text: ST!:"RIGHT HERE" --> Spells out the phrase with realistic flickering transitions over the ambient low-light baseline.
  3. Trigger Warning Sequence: ST!:"RUN" --> Triggers the accelerating R-U-N cycle followed by the red strobe effect.

Option B: Direct Offline Control via Arduino Serial Monitor

If you want to test the wall locally, troubleshoot without an internet connection, or run the project without opening Discord or Python, you can send text directly through the Arduino IDE.

  1. Open the Arduino IDE on your laptop.
  2. Ensure your board is selected under Tools --> Board --> Arduino Uno and your COM port is active under Tools --> Port.
  3. Open the Serial Monitor by clicking the magnifying glass icon in the top-right corner (or press Ctrl + Shift + M on Windows / Cmd + Shift + M on Mac).
  4. Configure the two dropdown menus at the top or bottom of the Serial Monitor tab:
  5. Baud Rate: Set to 115200 baud (matches Serial.begin(115200) in firmware).
  6. Line Ending: Set to Newline (sends the \n character required by the code).
  7. Type your command directly into the input bar and hit Enter:
  8. Type HELLO --> Spells out H-E-L-L-O letter by letter.
  9. Type RUN --> Initiates the high-intensity red flickering strobe override.
  10. Type RUNNING OUT --> Spells out full phrases with natural space pauses.


Good Luck contacting the UpsideDown!