Skip to main content
Version: FILS English

Portable Retro Gaming Console

info

Author: Illia Kucherenko

GitHub Project Link: link to github

Description

It's a portable gaming console that will run some retro games that used to be popular back in the day. It is built using 2 RP pico 2w, an LCD Display, 4 buttons for controls and LEDs for visual feedback.

Motivation

I've always been passionate about games and it remains a big part of my life even today. I decided to make something fun that would bring that childish joy we all crave for. I plan on implementing games like Pac-Man and Snake for now, if I succeed, I will try implementing more games.

Architecture

Architectural Diagram: Architectural Diagram

Raspberry RP Pico 2W (Debugger) -Used to flash firmware to processing RP Pico 2W and debug in case of issues. -Connects to the PC via micro-usb cable and to processing PR Pico 2W via debug interface Debug Interface

Raspberry RP Pico 2W (Processing) -Runs flashed firmware and acts as a main processing unit for the whole model. Reads data from buttons, controls LCDs, sends and updates image on an LCD, runs firmware with games and games themselves.

LEDs -Used to add visual feedback to whats going on on the screen -Connected via gpio pins to processing RP Pico 2W

Buttons -Used for controls in menus and games -Connected via gpio pins to processing RP Pico 2W

LCD -Used to display the image (menus, games etc.) -Connected via spi interface to processing RP Pico 2W

Log

Week 5 - 11 May

I've acquired all the necessary hardware, which is likely still subject to be rethought and changed. I've set up a configuration with two Pico 2Ws, one of them being a debugger for another one. Currently I'm in the process of getting LCD to work and looking for suitable libraries and crates for the project.

Week 12 - 18 May

Week 19 - 25 May

Hardware

Consists of RP Pico 2W (2x), LCD TFT 2.2" module, buttons and resistors and 2 breadboards to hold everything together. At the moment buttons and resistors are not installed due to design concerns.

Schematics

At the moment KiCad schematic cannot be done as I am unsure about connections. For now I will only provide architectural schematic, KiCad schematic is WIP.

Bill of Materials

DeviceUsagePrice
Raspberry Pi Pico 2W (2x)Microcontroller39.66 RON
LCD SPI 2,2 '' 240x320 PX (1x)LCD Screen59.99 RON
Wire Kit(2x)Wires7.99 RON
Resistor Kit (1x)Resistors14.99 RON
Breadboard (2x)Breadboards19.96
White Capped Buttons (4x)Buttons1.99 RON
Common Cathode RGB (3x)RGB LEDs0.99 RON

Software

LibraryDescriptionUsage
embassy-rpGrants access to low-level peripherals on RP microcontrollersInitializing and interacting with peripherals
embassy-executorAsync runtime tailored for embedded environmentsUsed for async programming
embassy-timeTime abstraction library for delays and timersUsed for delays
embassy-syncAsync-safe primitives for shared state managementUsed for inter-task communication via channels, mutexes, etc. in async code
ili9341Driver for TFT module based on ILI9341 chipUsed for rendering graphics on compatible TFT LCD displays
embedded-graphics2D graphics library that is focused on memory constrained embedded devicesUsed for displaying graphics on the display
embedded-hal-asyncAn asynchronous Hardware Abstraction Layer (HAL) for embedded systemsProvides a standard way to use hardware asynchronously across different embedded devices
gpioGPIO managementUsed for controlling GPIO pins
  1. link