SYSTEM GUIDE · CURRENT BASELINE

One show.
Four responsibilities.

Showduino is built as a distributed control system. Each device has a deliberately narrow job so the live show can remain deterministic, diagnosable and independent of the browser.

01 / DIRECTOR

ESP32-S3 Director

800×480 operator touchscreen. Sends requests and displays state. It is not the source of truth for a running show.

ESP-NOW →
02 / COMMS

ESP32-S3 Communications Controller

Dedicated transport bridge between ESP-NOW devices and the Show Engine. No cue logic and no show decisions.

UART 115200 →
03 / SHOW ENGINE

ESP32-P4

Authoritative runtime for timeline, show state, safety gates, cue dispatch and emergency handling.

COMMANDS →
04 / NODES

Specialist ESP32 Nodes

Relay, MOSFET, pixel and audio devices execute commands and return useful state/results.

REPORT ←
Authority stays on the P4: once a show has been loaded and started, losing the Director, a browser session, Wi-Fi or internet access must not stop the live runtime.
ROLE 01

Director · operator control without runtime ownership

The Director is the human-facing control surface. It should make the current production, link state, show controls and emergency state obvious without becoming a hidden dependency.

UI

800×480 touchscreen

A dedicated ESP32-S3 display for live operation, navigation and system feedback.

REQ

Requests actions

Start, stop, pause, resume and emergency operations are requests into the authoritative runtime.

STAT

Shows state

The Director reflects what the Show Engine reports rather than inventing its own parallel truth.

ROLE 02

Communications Controller · transport only

The dedicated ESP32-S3 Comms Controller replaces the earlier C3/SUE bridge concept and keeps the P4 isolated from wireless protocol details.

  • Wireless sideESP-NOW for Director and compatible node traffic.
  • P4 sideUART at 115200 8N1, newline-framed command traffic.
  • ResponsibilityForward transport, basic diagnostics and link visibility.
  • Not responsible forTimeline decisions, safety policy, cue ownership or show state.
ROLE 03

ESP32-P4 Show Engine · the authority

The P4 is where the production becomes a running show. It owns the state machine and is the only layer that should decide whether a live command is currently allowed.

Runtime responsibilities

  • TimelineLoad, order, start, pause, resume, stop and emergency interruption.
  • StateAuthoritative show status and command gating.
  • SafetyEmergency latch and rejection of invalid/unsafe state transitions.
  • DispatchRoutes work to specialist nodes and tracks results as the system develops.

Local services

  • StorageSD-backed production and web assets are the target persistent store.
  • System audioLocal P4 audio remains available for Showduino notifications and emergency/system sounds.
  • I²C expansionPlug-in bus for supported expanders and future hardware overlays.
  • Emergency inputDedicated physical input with latched behaviour and explicit clear rules.
ROLE 04

Specialist nodes · do one physical job well

Nodes are not mini Show Engines. They receive a commanded state, perform the work that belongs to their hardware role and report useful results or faults.

RLY

Relay Node

Discrete switched outputs for compatible effects and equipment.

MOS

MOSFET Node

Solid-state low-voltage switching for suitable loads and effects.

PIX

Pixel Node

Segment-aware NeoPixel effects with a system emergency override model.

AUD

Audio Node

Dedicated show audio playback while the P4 retains separate local system audio.

EMERGENCY BEHAVIOUR

Emergency is an override, not another effect.

The emergency path is deliberately stronger than show playback. It latches, interrupts the show and requires an explicit clear rather than silently resuming.

NORMAL / SHOW STATEsegmented behaviour allowed

Logical pixel segments can show different effects or keep emergency signage markers visible during a production.

EMERGENCY STATEall pixels white

Every pixel line is overridden to bright white. The system does not auto-resume the show when the physical condition clears.

CURRENT SCOPE

What Showduino is concentrating on now

The current system is being completed around the non-DMX core: reliable show runtime, real node control, pixels, audio, storage, diagnostics and a useful authoring workflow.

In the current build

Director, dedicated S3 Comms Controller, P4 Show Engine, relay node, MOSFET node, pixel work, audio node development and Studio/HauntSync tooling.

Being completed

Persistent P4 project storage, first-class output engines, logical device addressing and completion/fault reporting throughout the node path.

Deliberately not current

DMX is not part of the present implementation scope and is not being advertised as a current capability.

Build the show in Studio.

Then deploy it into a runtime that does not need Studio to stay alive.

Open Studio