

Shuffleboard
Multiplayer Shuffleboard — Embedded Firmware (C), PCB Design, Mixed-Signal I/O, and Display + Audio Integration
- Size
- 130 × 131.3 mm
- Copper layers
- 4
- Thickness
- 1.6 mm
- Parts
- 72
- Nets
- 75
- Pads
- 241
- Tracks, vias
- 419, 76
- Pours
- 2
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 17 Mar 2026
- Updated
- 22 Apr 2026
Overview
Shuffleboard is an open-source printed circuit board by rbala25, from the rbala25/shuffleboard repository on GitHub. It is a 4-layer board of 130 × 131.3 mm with 72 parts on 75 nets, routed with 419 tracks and 76 vias.
It is built around the 74HC595N. Its parts include 31 resistors, 12 capacitors, 10 ICs, 2 diodes and 2 connectors.
Main components
1README
README.mdShuffleboard
60 FPS multiplayer shuffleboard built on bare-metal C/C++ for the TM4C123 — no OS, no shortcuts. ECE319H Final Project.
Highlights
Comparator + FET Input Detection — Puck sensing uses a custom analog comparator circuit driving an N-channel FET, with hardware debouncing and firmware-level input validation. Fast, noise-resistant, and doesn't rely on polling.
Custom DAC + Audio — Sound effects generated through an R-2R resistor ladder DAC feeding a discrete amplifier and speaker.
SPI Display Pipeline — ST7735 TFT screen handles all game state rendering and animations via SPI. Score output runs in parallel on 7-segment displays driven by 74HC595 shift registers.
Game Loop & State Machine — Fully interrupt-driven architecture managing turn logic, collision validation, and score tracking in real time. All rendering, input, and audio synchronized to a 60 FPS Timer12 interrupt — no RTOS, no scheduler.
Mixed-Signal PCB — Custom board with split digital/analog ground planes, decoupling for stable SPI, and an integrated comparator/FET sensing front-end alongside the DAC output stage.
Stack
| Layer | Tech |
|---|---|
| MCU | TM4C123GXL (ARM Cortex-M4) |
| Language | C/C++, bare-metal |
| Display | ST7735 TFT over SPI |
| Score Display | 7-segment + 74HC595 shift registers |
| Audio | R-2R DAC + speaker amp |
| Input | Analog comparator + N-FET + hardware debounce |
Developed for ECE319H — Introduction to Embedded Systems (Honors) at The University of Texas at Austin.
Parts
72| Qty | Value | Footprint | References |
|---|---|---|---|
| 16 | 100 | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R15, R16, R17, R18, R19, R20, R21, R22, R23, R24, R25, R26, R27, R28, R29, R30 |
| 11 | 100n | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C1, C2, C3, C4, C5, C6, C7, C8, C10, C11, C12 |
| 7 | 1k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R2, R3, R4, R6, R7, R8, R11 |
| 6 | 10k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R1, R5, R9, R12, R13, R45 |
| 6 | ~ | MountingHole:MountingHole_2.2mm_M2_DIN965_Pad | H1, H2, H3, H4, H5, H6 |
| 2 | 330 | Resistor_SMD:R_2010_5025Metric_Pad1.40x2.65mm_HandSolder | R10, R14 |
| 2 | TBJ05-08-1-G-G | ShuffleboardFootprints:TBJ05081GG | J1, J2 |
| 2 | ~ | ShuffleboardFootprints:SW_TL3301FF160QG | S1, S2 |
| 2 | ~ | TestPoint:TestPoint_THTPad_1.5x1.5mm_Drill0.7mm | TP1, TP2 |
| 2 | ~ | ShuffleboardFootprints:LED_INND-TS56RCB | U4, U5 |
| 2 | ~ | ShuffleboardFootprints:SOT65P210X110-6N | IC1, IC2 |
| 2 | ~ | ShuffleboardFootprints:SOIC127P600X175-16N | U6, U8 |
| 1 | 1u | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C9 |
| 1 | Comparator | ShuffleboardFootprints:lmv331 | U3 |
| 1 | Green | LED_THT:LED_D5.0mm | D32 |
| 1 | LOGO | Footprint:longhorns | G*** |
| 1 | Red | LED_THT:LED_D5.0mm | D1 |
| 1 | ~ | ShuffleboardFootprints:SPKR_CMS-3012-18T | LS1 |
| 1 | ~ | ShuffleboardFootprints:XDCR_COM-09032 | U1 |
| 1 | ~ | Fuse:Fuse_0603_1608Metric_Pad1.05x0.95mm_HandSolder | F1 |
| 1 | ~ | ShuffleboardFootprints:SOIC127P600X170-8N | U2 |
| 1 | ~ | ShuffleboardFootprints:Potentiometer_Bourns_PTA6043_Single_Slide | RV1 |
| 1 | ~ | ShuffleboardFootprints:SOT95P260X110-3N | Q1 |
| 1 | ~ | Footprint:adafruit_st7735r | U7 |
Questions
How big is the Shuffleboard PCB?
It measures 130 × 131.3 mm and has 4 copper layers, 1.6 mm thick.
What parts does the Shuffleboard use?
72 parts, built around the 74HC595N. 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 Shuffleboard KiCad files?
From the rbala25/shuffleboard repository on GitHub, at the commit this page was made from: the board is Hardware/Shuffleboard/Shuffleboard.kicad_pcb and its schematic Hardware/Shuffleboard/8fig.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Shuffleboard design in my own project?
Its repository states no licence, so its author keeps all rights: ask rbala25 before reusing the design.
Similar boards
- 4 layers130 × 131.3 mm

- 2 layers120 × 80 mm

- 2 layers160 × 125 mm

Reflex machine
Mhamednoui/PCB_Designer
AI-assisted KiCad PCB design pipeline: netlist -> schematic -> routed board -> fab files, with a 3D/simulation webview
125 parts - 2 layers218 × 218 mm

- 2 layers78.4 × 64.8 mm

- 2 layers69.9 × 41.3 mm

- 2 layers108 × 88 mm

- 2 layers87 × 96 mm

Braids through hole V1.1 CONTROL
sebastianbeyer/KOSMO_braids
This is a KOSMO (Look Mum No Computer) version of the Mutable instruments braids, based on the through-hole version done by sound-force.nl.
56 parts15