An open API service indexing awesome lists of open source software.

https://github.com/rbala25/shuffleboard

Multiplayer Shuffleboard — Embedded Firmware (C), PCB Design, Mixed-Signal I/O, and Display + Audio Integration
https://github.com/rbala25/shuffleboard

7segmentdisplay comparators debouncing ece319 shuffleboard spi st7735 tm4c123

Last synced: about 15 hours ago
JSON representation

Multiplayer Shuffleboard — Embedded Firmware (C), PCB Design, Mixed-Signal I/O, and Display + Audio Integration

Awesome Lists containing this project

README

          

# Shuffleboard

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.