Temporal

Ignition: Flashing 2,300 conference badges with Temporal

Aug 4, 2026
Ignition: Flashing 2,300 conference badges with Temporal
SummaryAI, from the source post

This post details the evolution of the Ignition firmware flashing system, specifically focusing on its application to flashing 2,300 conference badges. Key technical contributions include: robust handling of USB re-enumeration issues by recognizing QA firmware's behavior and dynamically rebuilding device identity post-reset; defining a carrier as a Workflow boundary (`FlashBadgesWorkflow`) with per-badge child Workflows (`BadgeFlashWorkflow`) to manage physical assembly lines; implementing a per-badge durable state machine with distinct phases (USB identity resolution, firmware flashing, boot verification, clock synchronization) and retry policies for each; resolving hardware-specific issues like incorrect filesystem offsets by parsing partition tables directly; using Activity heartbeats for progress reporting instead of large state payloads; and the architectural decision to run self-contained, local Temporal development servers on each flashing station for improved resilience and isolation.

More from the Firmware Flashing System trail