A PSoC5 game console โ€” Duck Hunt, Pong, and Tic-Tac-Toe โ€” driving a VGA monitor and paired with a wireless Bluetooth controller.

Objective. In MIT's 6.1151, each student builds a final project capping off what we learned about embedded microcontrollers (8051 or PSoC). Mine was an assortment of games that showcase the modularity of the PSoC5, played with a companion wireless controller on a PSoC5LP Stick. The two processors run separate programs but stay fast enough not to impede gameplay, running three games: Tic-Tac-Toe, Pong, and a simple Duck Hunt.

Solution. The design has two parts: a wireless controller powered by a PSoC Stick, and a receiver / VGA connector on the main PSoC5. The Stick encodes controller button states and transmits them wirelessly to the main PSoC5, which runs the game mechanics and updates the monitor.

Controller
Main board

On the main PSoC5, a VGA2 board was wired for 2-bit color using an 74LS245N, alongside an HC-05 Bluetooth module and LCD display for communication with the controller. The PSoC Stick carries four buttons, a joystick potentiometer, and an HC-05 module.

System diagram
System diagram

The Stick encodes joystick positions and button states as bytes representing cursor velocities and presses. The main PSoC5 generates each frame from the current game state and writes it to the buffer to update the monitor. An ISR receives bytes and updates cursor positions and remaining targets without conflicting with screen-refresh rates โ€” triggered at a slower clock to prioritize refresh. Each game was written in C and selectable at startup.

Applied skills C ยท Assembly ยท Circuit Design, Analysis & Construction ยท PSoC ยท VGA ยท Bluetooth