# bsce26023/buzzer-game architecture

> Architecture diagram of the GitHub repository bsce26023/buzzer-game, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/bsce26023/buzzer-game
- Repository: https://github.com/bsce26023/buzzer-game

## Overview

This repository documents a physical first-press buzzer game. A player presses a button; the 74HC373 latch captures the first press, the winner’s buzzer sounds, and the other players remain locked out until an admin presses reset. The repository also includes the PCB design, 3D enclosure models, a BOM, and a simulation file. Functional relationships follow the README; the simulation’s internal behavior and detailed wiring are not shown in the available source.

Main entry points: [`PCB/Buzzer Game.kicad_sch`](https://github.com/bsce26023/buzzer-game/blob/main/PCB/Buzzer%20Game.kicad_sch) (74HC373 latch), [`3D/Assembly.step`](https://github.com/bsce26023/buzzer-game/blob/main/3D/Assembly.step) (3D assembly), [`3D/Box.step`](https://github.com/bsce26023/buzzer-game/blob/main/3D/Box.step) (Enclosure box), [`3D/Lid.step`](https://github.com/bsce26023/buzzer-game/blob/main/3D/Lid.step) (Enclosure lid)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_game["Game logic"]
  node_player_buttons["Player buttons"]
  node_latch["74HC373 latch"]
  node_feedback["Feedback loop"]
  node_buzzer["Winner buzzer"]
  node_admin_button["Admin button"]
end

subgraph group_hardware["PCB hardware"]
  node_pcb_schematic["Circuit schematic"]
  node_pcb_layout["PCB layout"]
end

subgraph group_mechanical["Enclosure"]
  node_assembly["3D assembly<br/>[Assembly.step]"]
  node_box["Enclosure box<br/>[Box.step]"]
  node_lid["Enclosure lid<br/>[Lid.step]"]
end

subgraph group_project["Project references"]
  node_bom["Bill of materials<br/>[BOM.csv]"]
  node_simulation["Circuit simulation"]
end

node_players(("Players"))
node_admin(("Admin"))

node_players -->|"press"| node_player_buttons
node_player_buttons -->|"set input"| node_latch
node_latch -->|"controls enable"| node_feedback
node_feedback -->|"freezes state"| node_latch
node_latch -->|"signals winner"| node_buzzer
node_admin -->|"press"| node_admin_button
node_admin_button -->|"resets"| node_latch
node_pcb_schematic -->|"board design"| node_pcb_layout
node_box -->|"part of"| node_assembly
node_lid -->|"part of"| node_assembly

click node_player_buttons "https://github.com/bsce26023/buzzer-game/blob/main/PCB/Buzzer%20Game.kicad_sch"
click node_latch "https://github.com/bsce26023/buzzer-game/blob/main/PCB/Buzzer%20Game.kicad_sch"
click node_feedback "https://github.com/bsce26023/buzzer-game/blob/main/PCB/Buzzer%20Game.kicad_sch"
click node_buzzer "https://github.com/bsce26023/buzzer-game/blob/main/PCB/Buzzer%20Game.kicad_sch"
click node_admin_button "https://github.com/bsce26023/buzzer-game/blob/main/PCB/Buzzer%20Game.kicad_sch"
click node_pcb_schematic "https://github.com/bsce26023/buzzer-game/blob/main/PCB/Buzzer%20Game.kicad_sch"
click node_pcb_layout "https://github.com/bsce26023/buzzer-game/blob/main/PCB/Buzzer%20Game.kicad_pcb"
click node_bom "https://github.com/bsce26023/buzzer-game/blob/main/BOM.csv"
click node_simulation "https://github.com/bsce26023/buzzer-game/blob/main/Buzzer%20Game%20Simulation.ms14"
click node_assembly "https://github.com/bsce26023/buzzer-game/blob/main/3D/Assembly.step"
click node_box "https://github.com/bsce26023/buzzer-game/blob/main/3D/Box.step"
click node_lid "https://github.com/bsce26023/buzzer-game/blob/main/3D/Lid.step"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_player_buttons,node_latch,node_feedback,node_buzzer,node_admin_button toneBlue
class node_pcb_schematic,node_pcb_layout toneAmber
class node_assembly,node_box,node_lid toneMint
class node_bom,node_simulation toneRose
class node_players,node_admin toneIndigo
```

## Components

### Game logic

- [Player buttons](https://github.com/bsce26023/buzzer-game/blob/main/PCB/Buzzer%20Game.kicad_sch): `PCB/Buzzer Game.kicad_sch`
- [74HC373 latch](https://github.com/bsce26023/buzzer-game/blob/main/PCB/Buzzer%20Game.kicad_sch): `PCB/Buzzer Game.kicad_sch`
- [Feedback loop](https://github.com/bsce26023/buzzer-game/blob/main/PCB/Buzzer%20Game.kicad_sch): `PCB/Buzzer Game.kicad_sch`
- [Winner buzzer](https://github.com/bsce26023/buzzer-game/blob/main/PCB/Buzzer%20Game.kicad_sch): `PCB/Buzzer Game.kicad_sch`
- [Admin button](https://github.com/bsce26023/buzzer-game/blob/main/PCB/Buzzer%20Game.kicad_sch): `PCB/Buzzer Game.kicad_sch`

### PCB hardware

- [Circuit schematic](https://github.com/bsce26023/buzzer-game/blob/main/PCB/Buzzer%20Game.kicad_sch): `PCB/Buzzer Game.kicad_sch`
- [PCB layout](https://github.com/bsce26023/buzzer-game/blob/main/PCB/Buzzer%20Game.kicad_pcb): `PCB/Buzzer Game.kicad_pcb`

### Enclosure

- [3D assembly](https://github.com/bsce26023/buzzer-game/blob/main/3D/Assembly.step): `3D/Assembly.step`
- [Enclosure box](https://github.com/bsce26023/buzzer-game/blob/main/3D/Box.step): `3D/Box.step`
- [Enclosure lid](https://github.com/bsce26023/buzzer-game/blob/main/3D/Lid.step): `3D/Lid.step`

### Project references

- [Bill of materials](https://github.com/bsce26023/buzzer-game/blob/main/BOM.csv): `BOM.csv`
- [Circuit simulation](https://github.com/bsce26023/buzzer-game/blob/main/Buzzer%20Game%20Simulation.ms14): `Buzzer Game Simulation.ms14`

### Other components

- **Players**
- **Admin**

## Connections

- Players → Player buttons: press
- Player buttons → 74HC373 latch: set input
- 74HC373 latch → Feedback loop: controls enable
- Feedback loop → 74HC373 latch: freezes state
- 74HC373 latch → Winner buzzer: signals winner
- Admin → Admin button: press
- Admin button → 74HC373 latch: resets
- Circuit schematic → PCB layout: board design
- Enclosure box → 3D assembly: part of
- Enclosure lid → 3D assembly: part of
