← Back to Setup

LED Strip Guide

How to build and connect an LED ring light for use with MyPhotoBooth

Overview

The LED strip provides automated lighting effects during the photo booth experience. It connects to the booth computer via USB and is controlled through Chrome's Web Serial API — no extra software needed.

What You Need

Wiring

Connect the WS2812B strip to the Arduino Nano:

Arduino Nano     WS2812B Strip
────────────     ─────────────
Pin D2 ──[330Ω]──  DIN  (data in)
5V     ───────────  5V   (or external 5V supply)
GND    ───────────  GND  (common ground)

For longer strips (16+ LEDs), power the strip from a separate 5V supply rated at ~60mA per LED. Connect the supply GND to both the strip GND and the Arduino GND (common ground).

Important: The data pin is D2. If you use a different pin, update LED_PIN in the firmware.

Arduino Firmware

Upload this to your Arduino using the Arduino IDE or PlatformIO. You'll need the Adafruit NeoPixel library installed (Arduino IDE: Sketch → Include Library → Manage Libraries → search "NeoPixel").

Adjust LED_COUNT to match the number of LEDs on your strip.

The firmware includes 5 rainbow sub-patterns that auto-rotate every 10 seconds: smooth rainbow, fast spin, glitter sparkles, RGB fade, and Knight Rider scanner.

// Key settings at the top of the sketch:

#define LED_PIN    2     // Arduino pin connected to DIN
#define LED_COUNT  43    // Number of LEDs on your strip
#define BRIGHTNESS 160   // Max brightness 0-255

// Serial: 115200 baud
// Commands: RAINBOW, WHITE_HOLD, WHITE_TAIL, BLACKOUT
// Replies:  ACK RAINBOW, ACK WHITE_HOLD, etc.

The full firmware source is available from your booth provider. Flash it once and the Arduino remembers it permanently.

Serial Protocol

The booth sends plain-text commands over USB serial at 115200 baud, each terminated with a newline (\n):

The Arduino replies with ACK RAINBOW, ACK WHITE_HOLD, etc. to confirm each command. Unknown commands get ERR <command>.

On power-up the Arduino sends READY and starts in warm white hold mode.

Connecting to the Booth

  1. Flash the firmware and plug the Arduino into the booth computer via USB.
  2. Open the setup page in Chrome or Edge (Web Serial is not supported in Firefox/Safari).
  3. Click the LED button in the header bar.
  4. Tick Enable LED, then click Connect.
  5. A browser dialog will list available serial ports — select the Arduino (e.g. USB Serial CH340 or Arduino Nano).
  6. Use the test buttons (Rainbow, White Hold, White Tail, Blackout) to verify everything works.

The browser remembers the port grant, so the strip will auto-reconnect on future page loads — no need to click Connect again.

During a Photo Session

The booth controls the LED strip automatically — no manual intervention needed:

Troubleshooting