/ Fun

Release Notes: Graveyard v5.0

Our Halloween show ships every October 31st. The release date has never slipped, and we have never once started over.

Every October, the driveway in front of our house turns into a graveyard. Skeletons climb out of the ground, toxic waste barrels glow in the front yard, and the street fills with families walking past on their way to more candy.

It looks like one big build. It isn't. It's six years of small ones, each sitting on top of the last. Walt Disney had a word for this. He called it plussing: instead of building a new attraction, you take the one that already exists and make it better. That is the entire method here, and it turns out to be the most honest agile project I have ever run.

Halloween is the perfect release schedule. The ship date is fixed and nothing on earth moves it, so scope is the only thing that flexes. Whatever isn't ready on the 31st waits for next year.

Here are the release notes.

v0.1 (2021): Private beta

  • New: A projection in the front window. Casey designed it; I animated it in After Effects.
  • New: Eyeball pumpkins. Store-bought craft pumpkins, each fitted with small servo-controlled eyes that looked around at the street.
  • Known issues: Audience limited to whoever happened to glance at our window.

v1.0 (2022): Initial release

  • New: Toxic waste barrels. Establishes the in-universe explanation for everything that follows.
  • New: First props fabricated from scratch rather than modified.
  • New: Fog.
  • New: UV lighting with UV-reactive tempera paint. Establishes the visual system every future release inherits.
  • New: Motion. One (1) mutated candy corn arm, waving.
  • Known issues: Everything else is stationary.
  • Experimental branch: Tom Servo, built as my costume that year. A DFPlayer Mini for his lines and a mouth with two states, open and closed. Not part of the show. Yet.

v2.0 (2023)

  • New: Projection screen. The window projection from the beta graduates to a real feature.
  • New: The first articulated skeleton, inspired by the work of Catherine Alvord. Merges the Tom Servo branch, reusing its DFPlayer audio, and runs on an Arduino Nano.
  • New: A homebuilt control box that triggers specific animation routines, jokes, and songs, plus a manual mode for puppeteering the head and mouth live.
  • Known issues: The Arduino Nano has 2 KB of RAM. Movement is limited to nine preprogrammed positions. The mouth is open or closed. Every song and line was programmed by hand, then trimmed until it fit.

v3.0 (2024)

  • New: The hero skeleton, rebuilt from v2.0's articulated skeleton on a new brain.
  • Changed: The Arduino Nano is replaced by a Raspberry Pi Pico running MicroPython. Far more headroom, and no more using pointers to shuttle data in and out of flash by hand.
  • Known issues: MicroPython has memory limits of its own, though much nicer ones. Every movement is still programmed by hand, which works for one skeleton and will not work for a show.

v4.0 (2025): The big one

  • Evaluated: Driving the show from Blender. It kind of works.
  • New: Bottango. Animation moves out of hand-written sequences and onto a timeline. The beta's servo eyeballs, all grown up.
  • New: The hero skeleton gets a moving arm.
  • New: Backup singers. Our two old static skeletons get promoted.
  • New: Large skeleton heads mounted on barrels, with moving mouths and heads that turn left and right.
  • Changed: Programming is no longer the limitation. Fabrication is.
  • Known issues: The head-turn mechanism on the barrel heads could not hold its gearing.

v5.0 (2026): Current release

  • New: A custom DMX motor for Bottango. An ESP32 running Bottango firmware speaks DMX through an isolated RS-485 transceiver, so lights and fog run on the same timeline as the skeletons. Status: proven, with days to spare.
  • New: The effect pod. A barrel housing the fog machine, a DFPlayer Mini, powered speakers, and a DMX PAR can.
  • Changed: Fog goes from always on to cued, used sparingly as stingers during the songs.
  • Fixed: Barrel-head gearing (see v4.0, Known issues). The heads now turn on small lazy Susan bearings.
  • Changed: The v2.0 screen gets a new show: a custom animation, rear-projected behind the graveyard. Casey built it, using Meshy AI and free online assets for the props, and Claude with Blender to animate the skeletons in the loop.
  • Reused: The toxic waste barrels from v1.0, still glowing.
  • Known issues: Team capacity reduced by a three-year-old. Scope adjusted accordingly.
  • Tested by: The same three-year-old, who pushed the fog button.
  • Roadmap: DMX is infrastructure, so it carries forward. Next year the DFPlayers become Bottango custom motors too, so sound can come from specific places in the yard. v6.0 goes underwater.

What six Halloweens taught me

Read the notes top to bottom and the roadmap was hiding in the beta. Both of v0.1's hacks, the window projection and the servo eyes, came back years later as major releases. Even a costume counted: Tom Servo's electronics became the first skeleton's. The cheap prototypes and side projects told us where we wanted to go long before we knew how to get there.

v1.0 is the other lesson. It shipped with exactly one moving part. What it settled was everything underneath: the story, the fabrication, the fog, and the visual system. Four years of features have been built on those decisions without anyone needing to revisit them. A first version with almost no features and solid foundations is worth far more than one with lots of features and none.

The constraints shaped the show as much as the ideas did, and every release moved them somewhere new. In v2.0 the limit was 2 KB of RAM, which decided the skeleton's entire vocabulary. In v3.0 it was still memory, just in a friendlier language. I am not a C programmer, and over those years I learned more about memory, pointers, and flash than I ever planned to, mostly by having the hardware disagree with me. Then Bottango took hand-programming off the table, and the limit moved again, out of the code and into the garage. Fabrication is the bottleneck now.

That is the pattern I keep writing about at work, too: remove one bottleneck and you find out where the next one was hiding. AI has made building new things almost absurdly cheap, and building a brand new show every October has never been easier to imagine. We keep choosing to plus the one we have, because the constraint of improving something that already exists is a big part of what made it good. This year AI even made it into the show, in Casey's projection. It arrived as one more layer, not a replacement.

For the neighborhood kids (and their parents)

The first year we did this, the whole show was a few pumpkins with moving eyes and an animation in our front window. The next year, there was exactly one moving arm. It belonged to a candy corn, and it waved.

Nobody builds something like this all at once. You build one thing, and next year you add another. Start with something small that moves, and plus it next year.