Bilal Shihab / Projects

Embedded Multiplayer Racer

A two-player racing game inspired by classic Mario Kart, written in bare-metal C on a TI microcontroller for ECE 319K:

Collaborated with Prarthana BalajiECE 319K, UT AustinNov – Dec 2025Voted Best Game, Fall 2025
Spec
MCU
TI MSPM0G3507, Cortex-M0+
Language
C, bare metal
Display
ST7735 LCD over SPI
Input
Joystick via ADC
Audio
DAC + timer
Game loop
30 Hz
Multiplayer
2 boards, custom UART protocol
Physics
Velocity, collision detection
Two game boards mid-race, connected by UART wires
Fig. 1Both boards mid-race, joined by the UART wires across the top. A frame from our demo video.

Why we built it

We wanted to build a two-player racing game inspired by classic Mario Kart.

The hard part

Two-player mode was the hardest part. We knew it would be difficult, but it made the game far more fun. Both boards have to agree on a single race: each sends its car's position and angle over UART, along with events like a dropped banana, and the other board applies them within the same 30 Hz loop that reads the joystick and updates the screen.