Skip to the content
2 layers85.5 × 70 mmV0-Replay-26 PCB A, the printed circuit board in 3D

Open-source firmware, hardware files, docs, and community app registry for the Temporal Replay 2026 Badge.

Size
85.5 × 70 mm
Copper layers
2
Thickness
1.6 mm
Parts
211
Nets
102
Pads
589
Tracks, vias
1,572, 771
Pours
22
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
29 Apr 2026
Updated
11 Sep 2026

Overview

V0-Replay-26 PCB A is an open-source printed circuit board by temporal-community, from the temporal-community/badge.temporal.io repository on GitHub, published under the MIT licence. It is a 2-layer board of 85.5 × 70 mm with 211 parts on 102 nets, routed with 1,572 tracks and 771 vias.

It is built around the ESP32-S3-WROOM-1-N8, SY8089A and TPS61040DBV, with the BQ24079RGT, TSOP75338TT and DMN2058U among its other parts. Its parts include 95 capacitors, 50 resistors, 11 diodes, 9 ICs and 5 connectors. It belongs with the lEDs and displays boards and the ESP32 boards of this library.

Main components

11

README

README.md

Temporal Replay 2026 Badge

Public source for the Temporal Replay 2026 Badge at badge.temporal.io: firmware, hardware design files, flashing tools, badge apps, release metadata, and the static documentation site.

Replay 2026 Badge pickup table

This repository is for people who want to flash a badge, build a badge app, study or modify the firmware, review the hardware package, or contribute fixes back through GitHub pull requests. Backend services and private event operations tooling are intentionally not part of this public repo.

Where To Start

I want to...Start here
Use or reflash a badgeGet Started, then ignition/README.md
Write a MicroPython badge appDeveloper Guide, Apps, and firmware/initial_filesystem/apps/README.md
Submit or share a Community AppAdd an app folder under community_apps/, then follow community_apps/README.md
Change firmwarefirmware/README.md and firmware/src/README.md
Understand flashing and storageignition/README.md and firmware/docs/STORAGE-MODEL.md
Work with hardware fileshardware/README.md
Update public schedule, floor, or speaker datadata/README.md
Update the docs sitedocs/README.md
Review release artifacts or OTArelease-assets/README.md and .github/workflows/release-firmware.yml
Check licensing and third-party termsTHIRD_PARTY_NOTICES.md and licenses/
Contribute a fixOpen a pull request against temporal-community/badge.temporal.io; see Contributing below.

Repository Map

PathWhat It ContainsStart Here
docs/Static public documentation site for badge users and contributors.Visit badge.temporal.io or open docs/index.html locally.
firmware/PlatformIO firmware project for the ESP32-S3 badge, including native C++ screens, MicroPython embedding, OTA, Doom, and the badge filesystem source.firmware/README.md
community_apps/Installable MicroPython community app folders that are published in the Community Apps registry but not preloaded into the factory filesystem.community_apps/README.md
ignition/Temporal-powered build and flashing system built to bulk flash the badge fleet, also useful for one badge.ignition/README.md
hardware/Public KiCad projects, fabrication outputs, mechanical references, artwork, and board renders from the final hardware package.hardware/README.md
data/Public schedule, speaker, and floor data plus the generated bundle embedded by firmware.data/README.md
release-assets/Notes for OTA and factory image release artifacts.release-assets/README.md
licenses/Third-party license texts and notices for bundled non-MIT components.THIRD_PARTY_NOTICES.md
.github/workflows/CI release workflow that builds firmware.bin and replay2026-factory-16MB.bin..github/workflows/release-firmware.yml
CONTRIBUTING.mdPull request guidance and change-type checks.CONTRIBUTING.md

Quick Start

Ignition is the Temporal-powered system we built to bulk flash the Replay 2026 badge fleet. It runs locally and is the default flashing path for one badge or a connected batch of badges:

bash
cd ignition
./setup.sh
./doctor.sh
./start.sh --latest-release

--latest-release downloads replay2026-factory-16MB.bin from the latest GitHub Release, caches it locally, and flashes the badge through Ignition. A factory flash restores firmware and filesystem contents and wipes existing on-badge data.

To build from source and preload WiFi, pass credentials on the command line or create an ignored firmware/wifi.local.env from firmware/wifi.local.env.example:

bash
./start.sh -e replay2026 --firmware-dir ../firmware \
  --wifi-ssid "YourNetwork" --wifi-pass "YourPassword"

Developers who want the lower-level path can use PlatformIO directly:

bash
cd firmware
pio run -e replay2026
pio run -e replay2026 -t upload
pio run -e replay2026 -t uploadfs

For a specific prebuilt release, use the release tag:

bash
cd ignition
./start.sh --release-tag v1.0.0

You can still flash a manually downloaded image with ./start.sh --no-build --factory-image ~/Downloads/replay2026-factory-16MB.bin. See release-assets/README.md for release artifact context.

Firmware Releases

Public releases include two firmware artifacts:

  • firmware.bin: application image consumed by badge OTA.
  • replay2026-factory-16MB.bin: complete factory image with bootloader, partition table, firmware, FAT filesystem, and bundled shareware Doom data.

The badge OTA updater checks GitHub Releases in temporal-community/badge.temporal.io for firmware.bin.

Licensing

Temporal-authored source, docs, firmware glue, website content, and hardware files use the MIT License unless a file or notice says otherwise.

Firmware builds that include Doom also include DoomGeneric engine code and the bundled doom1.wad shareware game data. Those components have separate terms; see THIRD_PARTY_NOTICES.md and licenses/.

Generated Artifacts

Some generated files are committed because the firmware or public release flow consumes them directly:

PathSource of truthCommit?
data/out/data/in/ via data/build-data.pyYes, commit all generated public data outputs
firmware/data/firmware/initial_filesystem/ via firmware/scripts/generate_startup_files.pyNo, it is a local build mirror
firmware/build/community_apps.jsoncommunity_apps/ via firmware/scripts/generate_startup_files.pyNo, generated in CI and uploaded as a release asset
firmware/.pio/, ignition/.venv/, local logs, and WiFi filesLocal machine stateNo
firmware.bin and replay2026-factory-16MB.binGitHub release workflowRelease assets only

Contributing

Pull requests are welcome. Good public contributions include docs fixes, MicroPython examples, badge apps, firmware fixes, Ignition improvements, hardware documentation corrections, data updates, and Community App updates. See CONTRIBUTING.md for change-type checklists.

Before opening a PR:

  • Keep changes focused and explain what you tested.
  • Link related docs when you add or change a workflow.
  • Do not commit credentials, local WiFi settings, virtualenvs, PlatformIO build output, caches, or private event operations context.
  • For firmware changes, include the relevant PlatformIO build or flash command you ran.
  • For docs-only changes, check that links resolve from the repo root and the static docs site still opens from docs/index.html.

Use GitHub issues or PR discussion for questions, bug reports, and proposed app or documentation changes.

Parts

211
QtyValueFootprintReferences
64LED0603_NOOUTLINETemporal:LED_0603_1608MetricC1-1, C1-2, C1-3, C1-4, C1-5, C1-6, C1-7, C1-8, C2-1, C2-2, C2-3, C2-4, C2-5, C2-6, C2-7, C2-8 +48
16TestPointJumperlessFootprints:TestPoint_D0.75mmTP1, TP2, TP3, TP4, TP6, TP7, TP8, TP9, TP10, TP11, TP12, TP14, TP16, TP17, TP21, TP22
1310KResistor_SMD:R_0402_1005MetricR6, R16, R17, R18, R21, R26, R28, R30, R32, R34, R35, R38, R45
11LOGOLOGOG***, G***, G***, G***, G***, G***, G***, G***, G***, G***, G***
80JumperlessFootprints:R_0402_1005MetricR1, R2, R3, R4, R5, R29, R49, R50
70.1uFCapacitor_SMD:C_0402_1005MetricC3, C4, C6, C16, C19, C20, C21
7D_SchottkyDiode_SMD:D_SOD-523D1, D3, D4, D5, D6, D8, D9
61uFCapacitor_SMD:C_0402_1005MetricC5, C15, C24, C25, C26, C33
5100nFCapacitor_SMD:C_0402_1005MetricC2, C11, C12, C14, C37
54.7uFCapacitor_SMD:C_0402_1005MetricC8, C9, C10, C17, C22
41KResistor_SMD:R_0402_1005MetricR12, R31, R41, R42
4SW_PushButton_Switch_SMD:SW_Push_1TS009xxxx-xxxx-xxxx_6x6x5mmSW4, SW5, SW6, SW7
30Resistor_SMD:R_0402_1005MetricR48, R51, R52
310uFCapacitor_SMD:C_0402_1005MetricC13, C18, C27
3150KResistor_SMD:R_0402_1005MetricR11, R15, R24
322uFCapacitor_SMD:C_0402_1005MetricC1, C40, C41
21.8KResistor_SMD:R_0402_1005MetricR19, R20
2100KResistor_SMD:R_0402_1005MetricR23, R25
2150Resistor_SMD:R_0402_1005MetricR33, R39
222pFCapacitor_SMD:C_0402_1005MetricC23, C38
224Resistor_SMD:R_0805_2012MetricR36, R37
24.7KResistor_SMD:R_0402_1005MetricR7, R8
25.1KResistor_SMD:R_0402_1005MetricR9, R10
2680KResistor_SMD:R_0402_1005MetricR14, R22
2DMN2058UPackage_TO_SOT_SMD:SOT-23Q1, Q3
2VSMY14940Temporal:vsmy14940D14, D15
11.1MResistor_SMD:R_0402_1005MetricR43
110Resistor_SMD:R_0402_1005MetricR40
110uhInductor_SMD:L_APV_APH0530L1
1120KResistor_SMD:R_0402_1005MetricR44
12.2uhInductor_SMD:L_Coilcraft_LPS3010L5
124P FPC 0.5MMConnector_FFC-FPC:TE_2-1734839-4_1x24-1MP_P0.5mm_HorizontalU5
132.768KHzCrystal:Crystal_SMD_3215-2Pin_3.2x1.5mmY1
1330Resistor_SMD:R_0402_1005MetricR27
1910KResistor_SMD:R_0402_1005MetricR47
1BQ24079RGTPackage_DFN_QFN:VQFN-16-1EP_3x3mm_P0.5mm_EP1.6x1.6mmU2
1DSS24Diode_SMD:D_SOD-123FD12
1ESP32-S3-WROOM-1RF_Module:ESP32-S3-WROOM-1U3
1I2CConnector_JST:JST_SH_SM04B-SRSS-TB_1x04-1MP_P1.00mm_HorizontalJ6
1I2CConnector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_VerticalJ2
1IS31FL3731-QFPackage_DFN_QFN:QFN-28-1EP_4x4mm_P0.4mm_EP2.3x2.3mmU4
1JST PHConnector_JST:JST_PH_S2B-PH-SM4-TB_1x02-1MP_P2.00mm_HorizontalJ3
1Jumper_2_OpenJumperlessFootprints:SolderJumper_2_Open_SmallJP2
1MMBT3904Package_TO_SOT_SMD:SOT-23Q2
1PRTR5V0U2XPackage_TO_SOT_SMD:SOT-143D10
1ResetButton_Switch_SMD:SW_SPST_B3U-1000P-BSW1
1ST LIS2DH12TRPackage_LGA:LGA-12_2x2mm_P0.5mmU1
1SY8089Package_TO_SOT_SMD:SOT-23-5U10
1TPS61040DBVPackage_TO_SOT_SMD:SOT-23-5U7
1TSOP75338LyndLabs-Module:TSOP753U8
1TestPointJumperlessFootprints:TP_smallerTP5
1UARTConnector_JST:JST_SH_SM04B-SRSS-TB_1x04-1MP_P1.00mm_HorizontalJ5
1USB C 2.0Connector_USB:USB_C_Receptacle_Palconn_UTC16-GJ1
1Z3OC1T8219731Motors:Vybronics_VZ30C1T8219732LM1
1p2765Temporal:JOYSTICK_ANALOG_MINITHMU6

Similar boards

  • 2 layers76.5 × 76.5 mmEdge AI Badge Main, the printed circuit board in 3D

    Edge AI Badge Main

    LyndLabs/Edge-AI-Badge

    Edge AI Foundation Badge - hardware files :)

    136 parts1
  • 4 layers82 × 70 mmTemporal Badge CHARLIE, the printed circuit board in 3D

    Temporal Badge CHARLIE

    Architeuthis-Flux/Temporal-Replay-26-Badge

    Community firmware for the Temporal Replay 26 badge

    208 parts5Unlicense
  • 2 layers89.5 × 52.2 mmPhantomware, the printed circuit board in 3D

    Phantomware

    agekoda/phantomware

    phantomware Compact, powerful ESP32-S3 platform for IR, NFC, sensors, WiFi & more.

    47 parts15
  • 2 layers97 × 23.7 mmHomegreen Node Basic, the printed circuit board in 3D

    Homegreen Node Basic

    pmalessa/homegreen-Node

    The system is based on an inexpensive node, which is able to control up to 3 pumps and can be powered by nearly any conventional powerbank.

    67 parts1
  • 2 layers35.2 × 17.9 mmBluz lcd v1, the printed circuit board in 3D

    Bluz lcd v1

    Maniak003/BluZ

    Scintillation gamma-spectrometer

    97 parts3GPL-3.0
  • 2 layers15.6 × 31.8 mmLed ring, the printed circuit board in 3D

    Led ring

    hzeller/DerKnopf

    Simple IR remote control of a volume knob

    33 parts5
  • 2 layers20.8 × 9.1 mmIfm spark ir module, the printed circuit board in 3D

    Ifm spark ir module

    ALeggeUp/ifm-spark-ir-module

    IR module for IFM Spark Dev

    6 partsCC-BY-SA-4.0
  • 4 layers114.8 × 72 mmTanmantsu zero, the printed circuit board in 3D

    Tanmantsu zero

    badgeteam/konsool-zero

    RFID NFC <1GHz radio Konsool expansion board

    182 partsBSD-3-Clause

Questions

How big is the V0-Replay-26 PCB A PCB?

It measures 85.5 × 70 mm and has 2 copper layers, 1.6 mm thick.

What parts does the V0-Replay-26 PCB A use?

211 parts, built around the ESP32-S3-WROOM-1-N8, SY8089A, TPS61040DBV and BQ24079RGT. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the V0-Replay-26 PCB A KiCad files?

From the temporal-community/badge.temporal.io repository on GitHub, at the commit this page was made from: the board is hardware/pcb/PCB-A/v0-Replay-26_PCB-A.kicad_pcb and its schematic hardware/pcb/PCB-A/v0-Replay-26_PCB-A.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the V0-Replay-26 PCB A design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).