Close
0%
0%

Theater Cue Lights

Simple DIY cue light system for the stage manager to signal crew and actors

adaAda
Similar projects worth following
101 views
0 followers
A low cost open-source cue light system for small theaters to easily implement, initially designed for my own high school theater that couldn't afford a commercial system. The project features a controller for stage manager and receiver modules placed where needed. The controller has three buttons - red, green, and blue - used for calling cues, with three different cyclable system modes for versatile functionality.

Cue Light System

This project is a wireless cue light system designed for theaters, film sets, or any backstage environment where silent, reliable visual cues are needed. The system consists of a controller and one or more receivers, connected via RF. It supports over-the-air updates (OTA) via Wi-Fi (both ArduinoOTA and ElegantOTA), and features robust serial frame validation using CRC8 checksums.

Features

  • 3 System Modes
    Cycle through 3 system modes that best fit your use case.

    • Mode 1 - Single Color: Swap between red, green, and blue leds. Auto-sleep after 5 seconds

    • Mode 2 - Toggle: Toggle each led on/off independently.

    • Mode 3 - Hold: LEDs turn on while button is held down. Avoid actions where red is simultaneously held with another button to avoid triggering long-press shortcuts.

  • RF Communication with CRC Validation
    Messages are framed with a start byte, payload (device, red, green, blue, brightness), CRC8 checksum, and end byte. Messages are sent on events, then periodically broadcast messages at intervals of 500ms with 50ms jitter.

  • LED PWM Brightness
    Brightness of LEDs can be adjusted by cycling through PWM presets.

  • Device Auto-detection
    Each board automatically detects whether it should act as the controller or receiver based on a pull-down pin at boot.

  • Web-based OTA
    The device hosts a minimal, responsive web interface using ElegantOTA and AsyncWebServer for browser-based firmware updates.

  • ArduinoOTA Support
    For CLI or IDE-based updates, ArduinoOTA is available with serial debugging and error callbacks.

Controls

  • Long Hold Button Controls
    Long hold push button combinations for 3 seconds to trigger command

    • Red + Green: Cycle through 3 system modes (single, toggle, hold)

    • Red + Blue: Cycle through 3 preset receiver led brightnesses (5%, 15%, 30%)

  • RGB LED Indicator
    RGB LED on controller indicates which receiver LEDs are on by default

    • Yellow Blinking: # of blinks indicates the system mode/brightness cycled to

    • Purple Blinking: Error occurred

CuelightsAD.zip

Controller and receiver PCB and schematic AD files

x-zip-compressed - 542.43 kB - 02/09/2026 at 18:38

Download

BOM.xlsx

BOM for controller and receiver, including links to all separately purchased components

sheet - 15.60 kB - 02/07/2026 at 18:16

Download

  • 2 × ESP32-C3-Supermini Chip One for every controller and receiver module
  • 2 × HC-13 RF Module One for every controller and receiver module
  • 1 × RGB LED RGB LED indicator for controller
  • 3 × Push Button 3-9V 3 push buttons on the controller- one for each color
  • 3 × LED 5V 1W 3 Panel Mount LEDs on the receiver- one for each color

View all 17 components

  • 1
    Step 1: Order Components

    Print PCBs for the controller and receiver linked in files through JLCPCB, PCBWay, or any other preferred manufacture.

    Order all other components listed in the components section through TaoBao

  • 2
    Step 2: General Assembly

    Solder pins onto the ESP32 and RF module and connect them to the PCB's header pins.

    Solder a connector wire into GND and 5V 

  • 3
    Step 3: Assemble Controller

View all 5 instructions

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates