Skip to main content
Version: ACS CC

Game Console

A custom-built gaming system with a WiFi-connected console and controller

info

Author: Alexandru Grecu
GitHub Project Link: https://github.com/UPB-PMRust-Students/proiect-GrecuAlexandru

Description

The project is similar to a PlayStation or an Xbox. It has:

  • a console that runs a game by itself and displays it on a screen
  • a controller with buttons that runs separate from the console and transmits user input through WiFi

Motivation

The motivation behind this project is to explore the fundamental principles of gaming systems by building a simplified, custom console-controller setup using the Raspberry Pi Pico 2W. By separating the console and controller and connecting them via WiFi, the project mimics real-world designs like PlayStation and Xbox, offering insights into wireless communication, embedded systems and real-time game processing. It also provides an opportunity to develop practical skills in hardware integration and also 3D modeling for building the plastic cases of the 2 components.

Architecture

The system architecture consists of two main components: the Console and the Controller.

  • The Console includes the Raspberry Pi Pico W running the game logic, rendering 2D graphics (such as a Snake-like game) on an attached LCD display.

  • The Controller is a separate device, also based on a Raspberry Pi Pico W, equipped with tactile buttons to capture user inputs.

  • Communication between the Controller and the Console happens over WiFi. The Controller sends input data, and the Console processes it to update the game state and display it accordingly.

Game Console Architecture Diagram

Log

Week 5 - 11 May

Started the project by setting up the Raspberry Pi Pico 2W and the LCD display. I managed to display a simple "Hello World" message on the screen. I also started working on the controller, connecting the buttons and testing their functionality.

Week 12 - 18 May

I finished the whole harware setup, including drawing power from the 9V batteries. I also managed to send button presses from the controller to the console over WiFi. The console receives the input and displays the pressed button on the screen.

Week 19 - 25 May

I finished coding the project and assembled the hardware over the 3D printed cases. The console now runs a simple Maze Game with enemies that move left-right or up-down.

Hardware

The project uses the following hardware components:

Console:

  • Raspberry Pi Pico 2W
  • 2.4 inch LCD IPS Display 240x320
  • DC-DC Step Down Module
  • 9V Battery Support
  • 9V Battery
  • Breadboard, Required wiring and connectors
  • Plastic Case (3D printed)

Controller:

  • Raspberry Pi Pico 2W
  • Tactile Buttons
  • 9V Battery Support
  • 9V Battery
  • Breadboard, Required wiring and connectors
  • Plastic Case (3D printed)

Schematics

Console Schematic Controller Schematic

Bill of Materials

DeviceUsagePrice
3x Raspberry Pi Pico 2W2x microcontroller + 1x debugger117 RON
Waveshare 2.4 inch LCD IPS Display 240x320Screen52 RON
2x DC-DC Step Down Module LM2596SDC-DC Step Down Module26 RON
2x 9V Battery Support9V Battery Support2,60 RON
2x 9V Battery9V Battery20 RON
4 Tactile ButtonsTactile Buttons5 RON
Breadboard, Required wiring and connectorsBreadboard, Required wiring and connectors30 RON
3D Printed Plastic Cases3D Printed Plastic Cases110 RON
Total362.6 RON

Software

LibraryDescriptionUsage
embedded-graphics2D graphics libraryUsed for rendering simple 2D graphics on the display
cyw43WiFi driver for Raspberry Pi Pico 2WUsed to manage WiFi connections between the Controller and Console
mipidsiMIPI DSI driver for Raspberry Pi Pico 2WUsed to interface with the LCD display