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 commandRed + 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 defaultYellow Blinking: # of blinks indicates the system mode/brightness cycled to
-
Purple Blinking: Error occurred
Ada
Steve Pomeroy
pauliusbau
mircemk