Bucky Basher Game

Real-time multiplayer synchronization on a microcontroller architecture.

The Challenge

Bucky Basher was a project centered on the intersection of firmware engineering and real-time interaction. The goal was to develop a multiplayer game that ran on an MSP432P401R microcontroller, requiring a deep understanding of low-level hardware communication and RTOS task scheduling.

The most significant hurdle was achieving perfectly synchronized gameplay between two independent boards over UART communication. Managing high-speed data transfer while simultaneously handling joystick inputs, LCD updates, and EEPROM storage required precise task prioritization within the FreeRTOS environment.

By leveraging FreeRTOS, I ensured that the game remained responsive, providing a timed, competitive setup where players could collect ghosts across a two-board setup without lag or system crashes.

Core Requirements

  • Real-time multiplayer synchronization.
  • Integration of peripherals (LCD, Joystick, EEPROM).
  • Efficient task scheduling via FreeRTOS.
  • Robust UART communication protocol.

The Tech Stack

Embedded C FreeRTOS MSP432 UART CCS

My Engineering Contributions

Firmware Development

Developed the game logic in Embedded C using Code Composer Studio on the MSP432 platform.

RTOS Management

Utilized FreeRTOS for precise task scheduling, ensuring responsive gameplay and peripheral management.

Peripheral Integration

Integrated LCD displays, joysticks, and pushbuttons, and managed persistent data with EEPROM.

Wireless Systems

Designed a synchronized multiplayer system using UART to link boards for competitive gameplay.