← Halloween 2026

The Reserve

Wine Cellar In the show

Eight independent barrel wine-mysteries. A player's key starts their barrel's false memory; bottles and a Drawing Room object are checked at stand-alone NFC stations; three correct bottles back at the barrel reveal the real memory. Running since opening night (2026-10-10).

→ Barrel ESP32 pinout (readers, BrightSign, staff button). → Bottle & object tag lookup — searchable reference for physically tagging bottles/objects. Full audit + audio cross-check is in content/.

On this page

Overview & player flow

Start at 1 of 8 barrels → the player's key plays a false memory that names Bottle 1 → check Bottle 1 at a wine bottle room station (gives a seller record and an investigation sheet) → the sheet leads to three objects in the Drawing Room; the right one, checked with Bottle 1, names Bottle 2 → Bottles 1 + 2 at a wine bottle room station name a Library book → an insert in the book identifies Bottle 3 → all 3 bottles back on the original barrel → the real memory.

BarrelStory
1The Toast That Never Happened
2The Guest Who Was Never There
3The Warning That Came Too Late
4The Last Bake
5The Missing Painting
6The Applause That Never Came
7The Empty Chair
8The Conservatory

8 separate barrel games, intentionally NOT interconnected: no central computer decides anything during play, no station talks to another, and tags carry identity, never progress. Every station judges only the tags on its own readers against its own built-in answer table.

Patron walkthrough (for Brett)

One full loop, from the patron's point of view, alongside what the hardware is actually checking at each stop. Useful for talking through the whole game with Brett in one pass.

  1. Barrel — opening videoType A Sets their key on their barrel. A false memory plays, ending on a clue pointing to a specific wine bottle. Key_Player_N on any of the 3 readers → BrightSign plays that barrel's clue video
  2. Wine bottle room station — Bottle 1Type B Finds Bottle 1, brings it with their key to any of the 3 stations. Correct: a seller record code; they take the investigation sheet with that code. key + Bottle 1 (same player) → audio clip; wrong → "not correct" clip + 10 s lockout
  3. Drawing Room — Bottle 1 + objectType C The investigation sheet describes three objects hidden in the red Drawing Room. The player picks the one they think is right and sets its small blue tag on one pad, their bottle on the other. Correct: the station names Bottle 2. Bottle 1 + DroomObj_correct (same player) → clip; wrong object → clip + 10 s lockout (bottle can stay down)
  4. Wine bottle room station — Bottles 1 + 2Type B Returns to any station with Bottle 1 and Bottle 2 together — Bottle 2 alone doesn't do anything. Bottle 1 + Bottle 2 (unordered) → clip naming a Library book
  5. Library — physical clueNo electronics An insert in the named Library book identifies Bottle 3. No NFC, no station — just a printed clue.
  6. Barrel — final validationType A Brings all 3 bottles home to their original barrel and sets them in the three holes. Bottle 1 + 2 + 3 (unordered) → real memory video; 3 tags with a wrong one → wrong-bottle video

Why one validator can serve all 8 stories

This is the part that isn't obvious watching a patron play — every wine bottle room station and every Drawing Room station runs the exact same firmware, for every story. No station is wired to "Game 4" specifically. Every tag says which player it belongs to (Winebottle_1 Player_4), the station holds the answers for all eight stories, and it plays that player's clip from that player's SD folder. Only the barrels are numbered: each barrel's build knows its own story.

Tags on the stationStation readsPlays
key + bottleKey_Player_1 + Winebottle_1 Player_1story 1, "Bottle 1 correct" (folder 21)
key + bottleKey_Player_4 + Winebottle_1 Player_4story 4, "Bottle 1 correct" (folder 24)
two bottlesWinebottle_1 Player_4 + Winebottle_2 Player_4story 4, "Bottles 1+2 correct" (folder 24)
mismatchKey_Player_4 + Winebottle_1 Player_2story 4, "not correct" + 10 s lockout

Which physical bottle carries which tag is in the staff answer key, not on this page.

Interchangeable by design: any wine bottle room station ↔ any other, any Drawing Room station ↔ any other. Barrels share one firmware; only the barrel number differs per build.

Identity & readiness
FieldValue
Station typesBarrel (×8, Wine Cellar) · Wine bottle room station (×3, identical, every story) · Drawing Room station · Library (printed inserts, no electronics)
ControllerArduino Mega + PN532 NFC readers on SPI (3 per barrel, 2 per station). ESP32 port of the barrel firmware is built but not yet on hardware.
MediaBarrels: BrightSign HD223 + projector, one SD card per barrel. Stations: DFPlayer audio from SD cards.
TagsPlayer keys, bottles (many copies each) and 24 Drawing Room objects (3 per story); NTAG stickers, objects also on blue MIFARE Classic fobs
ContentBrett's files; single source of truth content/RESERVE-GAME-MASTER.md
StatusIn the show since 2026-10-10. Next: barrels to ESP32 + serial BrightSign link (see Open items)
Firmware

All builds are stored in Understudy's firmware registry and flashed from there. Each type holds the answers for all eight stories; barrel builds differ only in their barrel number.

StationFirmwareBoardLatest version
Barrel 1-8reserve_single_player_station (registered as reserve_station_p1 … p8)Arduino Mega0.4.13
Barrel 1-8 (next)reserve_station_esp32 (registered as reserve_esp32_p1 … p8)ESP320.5.0 registered, 0.5.1 in the repo. Not yet run on real hardware.
Wine bottle room stationreserve_validator_benchArduino Mega0.5.1
Drawing Room stationreserve_drawing_room_benchArduino Mega0.8.2
Tag writing (bench)mega_nfc_tag_writerArduino Mega0.2.0

What changed recently

Build list / BOM

Barrel (×8)

QtyComponentRole / notes
1Arduino Mega (ESP32 DevKit after the port)Key → clue video; 3 bottles → final video
3PN532 V3 NFC reader (SPI)Under the wooden bottle shelf, one per hole; a set gap above the reader reads better than touching it
1BrightSign HD223 + projector + SD cardThat barrel's clue / standby / incorrect / final clips
1Staff FORCE FINAL buttonPlays the final video when a reader or tag won't cooperate
—PSU, wiring, enclosure—

Wine bottle room station (×3)

QtyComponentRole / notes
1Arduino MegaKey + Bottle 1, then Bottles 1 + 2 (never Bottle 3)
2PN532 NFC reader (SPI)Either pad for either tag
1DFPlayer + speaker + SD cardFolders 21-28, four clips per story

Drawing Room station

QtyComponentRole / notes
1Arduino MegaBottle 1 + object
2PN532 NFC reader (SPI)Either pad for either item; reads blue Classic fobs
1DFPlayer + speaker + SD cardFolders 31-38, two clips per story
Wiring & service / harness

Complete tech flow

Barrel:             key → false memory (names Bottle 1)
Wine bottle room:   key + Bottle 1 → seller record → investigation sheet
Drawing Room:       Bottle 1 + chosen object → names Bottle 2
Wine bottle room:   Bottle 1 + Bottle 2 → names a Library book
Library:            book insert (Bottle 3) — no electronics
Barrel:             Bottle 1 + 2 + 3 → real memory (or wrong-bottle video)

Each station has fixed reader positions (barrel 3, stations 2), all on one SPI bus with one chip-select wire per reader, no multiplexer. Mega barrels pulse three BrightSign GPIO inputs (clue / incorrect / final). The ESP32 port wires the BrightSign GPIO header as a serial port instead (pins 3 and 11, plus ground) and needs a new autorun.brs on the barrel card. ESP32 barrel pinout with a board diagram: barrel-esp32-wiring.html. Full pin tables are in each firmware's folder under platform/tools/.

Game logic

Station roles

10-second lockout

On a wrong answer: the "not correct" clip, no next clue, the station ignores tags for 10 s, then it is ready again. A wrong label has to read several times in a row first, so one misread can't lock it.

⚠ Note — differs from Lost Ledger The Reserve locks per station. Lost Ledger locks per tag. Do not cross-apply.

Staff tags (for checks and rescues)

Tag / controlWhat it does
Key_MasterPlays the clue video on any barrel (never counts as a bottle)
Staff_Final (fob or sticker)Plays the final video on any barrel
Winebottle_1/2/3 UniversalCounts as that bottle for whichever player the other tag belongs to
Winebottle_MasterCounts as the correct first bottle at the wine bottle room and Drawing Room stations
FORCE FINAL button (barrel)Hold 0.5 s: plays the final video

Tag labels

Key_Player_N                     player's key
Winebottle_1 Player_N … _3       the three bottles (note the space before "Player")
DroomObj_correct Player_N        the right Drawing Room object
DroomObj_incorrect Player_N      both wrong objects
Media manifest
Barrel SD (one per barrel):  00_clue (false memory) · 01_standby ("BARREL N" loop)
                             02_incorrect (wrong bottle) · 03_final (real memory)
Station SD (same layout on every station card):
  21-28/001-004.mp3          wine bottle room: phase 1 correct / not, phase 2 correct / not
  31-38/001-002.mp3          Drawing Room: object correct / not

24 story videos (3 per barrel) are listed in content/barrel-video-manifest.md. The 48 station clips are transcribed in content/station-audio-script-2026-10-09-coachman.md; the current set is 2026-10-09-coachman (stories 1 and 3 now say "the Coachman's Guide to Roads", matching the printed book). Understudy writes both kinds of SD card.

Show-control (Understudy)

Understudy doesn't run the game; it supports it:

Open items
  1. Barrels to the ESP32 + serial BrightSign firmware (0.5.x): first bench test, then tune each reader's gain. A 3D-printed reader holder with a set gap under each bottle hole is in design.
  2. Key bottle labels for Brett: clear bottles labelled plainly "BARREL N" + the story name (not a puzzle).
  3. A "blue tag = scan it" line for the investigation sheets or a card at the Drawing Room station (draft in content/blue-tags-sheet-draft.md).
  4. Still missing from Brett: one investigation sheet's text and the Library insert texts.
  5. Confirm every wine bottle room station carries the 2026-10-09-coachman card and current firmware.