← Halloween 2026

Evangeline's Lost Ledger

Library Spec ready

Read-only RFID auction-lot mystery — paddle at an easel plays a clue video; the central Ledger Desk validates the chosen fate. Each lot self-contained, played in parallel.

On this page

Overview & player flow

Choose an auction lot, tap its RFID paddle at the matching easel — a clue video plays about the object's fate. Go to the Ledger Desk (central validators) and tap the paddle at the reader for the fate you believe is correct (Step 1). Phase 2 (still being defined): spend limited evidence credits to determine why it happened, then a short physical deduction puzzle. Each lot is self-contained; players run different lots simultaneously.

Local-first: paddle → clue video works with the show network off. Networking is additive.

Identity & readiness
FieldValue
Device classeslost_ledger_easel (×8) · lost_ledger_desk (×1)
Easel instanceslost_ledger_easel_01_08 (identical, interchangeable)
Easel controllerESP32 (decided — Brett's original said Arduino Mega; superseded)
Desk controllerESP32; 5 readers likely via I²C mux (TCA9548A candidate — bench-test first)
Per easelRFID reader + ESP32 + BrightSign HD223 + vertical display + BCD thumbwheel
Spec statusAuthoritative (Brett 42-pg clean sheet); Phase-2 method undefined
Prototype statusNot yet built
Open questions12 (see below)
Firmware
⚠ Placeholder — no firmware built yet Mock layout only. Real version/hash/download/changelog get filled once builds exist. Interchangeability requirement: all 8 easels run the exact same firmware + same BrightSign presentation + same SD media; swap any unit with no reprogramming.
ImageBoard targetVersionDownload
Easel application (RFID → PLAY_LOT_xx)ESP32 v0.0.0 Placeholder Placeholder
Ledger Desk controllerESP32 v0.0.0 Placeholder Placeholder
Changelog
⚠ Placeholder changelog Format example only — no real releases yet.
Build list / BOM

Supplier part numbers are Placeholder until sourcing is locked. Component list is real (from the clean sheet + ESP32 decision).

Per easel (×8, identical)

QtyComponentRole / notesSupplier P/N
1RFID reader (NFC MODULE V3)Bench-test interface/voltage before freezingPH
1ESP32Reads UID → looks up lot → triggers BrightSignPH
1BrightSign HD223Plays clue video; holds all 8 CLUE files + idlePH
1Vertical displayHDMI from BrightSignPH
1ESP32→BrightSign trigger interfaceProve electrical design on real HD223PH
10–9 BCD thumbwheel selectorStation identity _01…_08PH
PSUs (controller / reader / BrightSign / display) + harnessIdentical across all easelsPH

Ledger Desk (×1)

QtyComponentRole / notesSupplier P/N
5RFID answer readersPositions = SOLD / RETURNED / REFUSED / WITHDRAWN / MISSINGPH
1ESP32 desk controllerRuns 5 readers (likely I²C mux) + desk audioPH
1Audio playback + speakerPlays lot-specific CORRECT audioPH
Wiring & service / harness
⚠ Placeholder — pending prototype Service diagram + wire harness/formboard (cut lengths, pinouts, labels) produced from the reference easel, then frozen. None exist yet.

Easel signal path (real)

RFID paddle → RFID reader → ESP32 → (UID → lot lookup)
→ PLAY_LOT_xx → BrightSign HD223 → HDMI → vertical display

Identical wiring on Easels 1–8. Desk: 5 readers → (I²C mux?) → ESP32 → audio → speaker.

Game logic

The 8 auction lots

LotItemPaddleClueCorrect audio
LOT_01Blackwood Family Signet RingBlueLOT01_CLUE.mp4LOT01_CORRECT.mp3
LOT_02Silver MirrorRed-bandedLOT02_CLUE.mp4LOT02_CORRECT.mp3
LOT_03Mechanical SongbirdTBDLOT03_CLUE.mp4LOT03_CORRECT.mp3
LOT_04Mourning PortraitTBDLOT04_CLUE.mp4LOT04_CORRECT.mp3
LOT_05Garnet NecklaceTBDLOT05_CLUE.mp4LOT05_CORRECT.mp3
LOT_06Ivory-and-Ebony Chess SetTBDLOT06_CLUE.mp4LOT06_CORRECT.mp3
LOT_07Brass Astronomical OrreryTBDLOT07_CLUE.mp4LOT07_CORRECT.mp3
LOT_08Sealed Apothecary CaseTBDLOT08_CLUE.mp4LOT08_CORRECT.mp3

Only Blue = Signet and Red-banded = Mirror are locked. Paddle colors 03–08 are a genuine TBD (not invented).

RFID principle

Easel behavior

Ledger Desk (central validators)

Media manifest
Easel clue videos:  LOT01_CLUE.mp4 … LOT08_CLUE.mp4   (all on every BrightSign)
Easel idle:         LEDGER_IDLE.mp4
Desk correct audio: LOT01_CORRECT.mp3 … LOT08_CORRECT.mp3   (non-interchangeable)
Desk wrong audio:   WRONG.mp3   (may be shared; must not reveal the fate)
Trigger commands:   PLAY_LOT_01 … PLAY_LOT_08
Show-control / tunable values (future)
⚠ Placeholder — future show-edit mode Illustrative parameter names/ranges — Placeholder, not wired.
ParameterTargetRangeDefault
wrong_lockout_ms PHDesk0–3000010000
desk_volume PHDesk audio0–3024
idle_video PHEasel BrightSignfileLEDGER_IDLE.mp4
Open questions — bench / shop checklist
  1. Bench-test NFC MODULE V3 with ESP32: IC, voltage, I²C vs UART, address, library.
  2. Confirm ESP32 comfortably drives reader + BrightSign trigger + BCD + show net (decision holds "unless technical reason").
  3. Read real tags → capture stable UIDs → populate UID→lot table.
  4. One ESP32 → one HD223: prove deterministic PLAY_LOT_xx trigger.
  5. Prove same easel firmware plays any lot based only on paddle UID.
  6. BCD thumbwheel changes station identity without reflashing.
  7. ESP-NOW telemetry while local RFID→video keeps working with net off.
  8. Desk: 5 readers on one ESP32 — test I²C mux if addresses conflict.
  9. Confirm paddle colors LOT_03–08 (content).
  10. Final 8 correct fate values (content sheet).
  11. Lock down Phase-2 method (evidence credits + physical deduction) — do NOT invent answer banks / DBs / paddle writing / progress tracking.
  12. RFID reliability with final scenic materials (metal/foil/orientation/distance).