Close
0%
0%

Snake Game Console

A handheld game console based around the Raspberry Pi PICO 2 combined with the Waveshare RGB-Matrix-P3

Similar projects worth following
0 followers
Greetings everyone and welcome back. Here's something super fun.

Snake Game Console is a portable gaming console with a specially designed Raspberry Pi PICO 2 Driver Circuit and an RGB 64x32 P3 matrix panel.
We modeled the device in Fusion360, 3D printed the frame, and assembled it with the matrix panel and custom PCBs to make our own game console.

For the game, we created the traditional Snake game from scratch, with a simple Snake entity that can be controlled by four directional buttons. Randomly, a RED Dot appears on the matrix panel, and we may guide the snake to eat this random red dot using the Directional buttons. In the top right corner, we've also added a score marker, which keeps track of how many red dots our snake has consumed.

Furthermore, the game ends when a snake bites its own body.

This console has an onboard power source, which is a single 3.7V 2600mAh lithium ion cell that powers the device, making it a portable game system that we can take anywhere and start playing.

64x32 RGB Matrix

We are using the 64x32 RGB matrix panel, which creates vivid text, graphics, and animations by arranging 2048 RGB LEDs in a 64 by 32 grid.

You can click the link below to read my brief introduction to this matrix panel.

https://www.hackster.io/Arnov_Sharma_makes/64x32-matrix-panel-setup-with-pico-2-25a3c3

The HUB75 interface, which uses a number of control pins, including RGB, address, clock, data latch, and output enable pins, is used to operate this panel.

The row-column scanning technique is made possible by the HUB75 link, which shifts a row of pixel data into a shift register. A demultiplexer is then used to determine which rows should be displayed. RGB channels, addressing pins A, B, C, and D, a clock signal (CLK), a latch signal (LAT), and an output enable (OE) pin are all included in the HUB75 connector.

We can also link several panels in pairs to create a chain by using the provided IN and OUT connections. Making sure the control solution (PICO 2) we are using can manage the additional data load of two or more displays is one of the difficulties of connecting multiple panels.

This matrix was produced by Waveshare, and more thorough details on the Matrix board may be found at the wiki page below:

https://www.waveshare.com/wiki/RGB-Matrix-P3-64x32

As for sourcing this matrix panel, we got it from the PCBWAY GIFTSHOP.

https://www.pcbway.com/project/gifts_detail/RGB_Full_Color_LED_Matrix_Panel_3mm_Pitch_64_32_Pixels_Adjustable_Brightness_58576d03.html

Console Design

The first stage in this project was to build a 3D model of the console, which has two handgrip-like components installed on the back side of the matrix. We then created a model of the special button board on one side.

The PICO Driver circuit, which is fastened to the Handgrip frame with four spacers, is positioned on the back side of the device.

Using three M3 inserts that are already on the matrix, the two Handgrip frame components are mounted from the back of the matrix panel. Each handgrip has three mounting holes that we added so that M3 bolts can be used to attach the handgrip to the matrix.

Four M2 screws are used to secure the button board to one side of the console.

Once the model was complete, we exported the mesh files for the left and right handgrips and four spacers, then used a 0.6mm nozzle to 3D print them in black PLA.

PCB Design: PICO Driver

Using our PCB Cad software, we first create the schematic for the PICO Driver Board design. In order to connect the Raspberry Pi PICO 2 to the Matrix's HUB75 connector, our setup consists of of a CON 16 connector.

We connected the matrix's HUB75 pins (CON 16) to the PICO's GPIO pins in the following order: A to GPIO19, B to GPIO16, C to GPIO18, D to GPIO20, E to GPIO22, CLK to GPIO11, LAT/STB to GPIO12, OE to GPIO13, R1 to GPIO2, G1 to GPIO3, B1 to GPIO4, R2 to GPIO5, G2 to GPIO8, B2 to GPIO9.

We added a CON5 connector for buttons, and its four pins are connected to PICO's GPIO6, GPIO7, GPIO14, and GPIO15. GND is attached to CON5's fifth pin. Each GPIO will be pulled to GND by the button board that connects to this CON5, and PICO can detect this as a button press.

We also incorporated a power management IC, the IP5306, a fully integrated multi-function power management SoC, to power the entire setup.

It can provide steady 5V 2.1A using 3.7V...

Read more »

SNAKE GAME CONSOLE.step

step - 4.60 MB - 03/03/2025 at 09:37

Download

SNAKE GAME CONSOLE.f3d

fusion - 5.86 MB - 03/03/2025 at 09:37

Download

Component54.stl

Standard Tesselated Geometry - 74.30 kB - 03/03/2025 at 09:37

Download

Component53.stl

Standard Tesselated Geometry - 50.86 kB - 03/03/2025 at 09:36

Download

Spacer.stl

Standard Tesselated Geometry - 23.91 kB - 03/03/2025 at 09:36

Download

  • 1
    PCB ASSEMBLY: PICO DRIVER
    • Using a solderpaste dispencing needle, we apply solderpaste—in this case, 63/37 Sn/Pb solderpaste—on each SMD component PAD to begin the PICO Driver assembly process.
    • Next, we use an ESD Tweeser to select and position each SMD component on the PCB.
    • Following component placement, the circuit is raised and set on the reflow hotplate, which raises the PCB's temperature from below to the melting point of solder paste. Solder paste melts and all SMD components are secure in place when the PCB hits a temperature of 190° C.
    • Following the reflow procedure, we flip the board over and use a soldering iron to position the 18650 Holder.
    • After the USB Micro port and Push Switch have been installed, we flip the board over and solder both of their pads.
  • 2
    Testing the Power Section

    We stop our assembly process and verify the power module circuits by placing the 18650 3.7V 2600mAh lithium cell in its cell holder in the correct polarity before proceeding with the PICO DRIVER assembly process.

    The device will then turn on when we press the push button. We use our multimeter to measure the device's output voltage, which should be 5V. We may now add PICO 2 to the PCB and start the assembly process.

  • 3
    PCB ASSEMBLY: PICO DRIVER (Rest of the Assembly)
    • After positioning two female CON 20 header pins on the PICO 2 footprint and two male CON 8 header pins on the HUB75 connector footprint, we flip the board over and use a soldering iron to solder their pads.
    • Finally, we reinstalled the lithium cell in its cell holder and positioned the Raspberry Pi PICO over the CON 20 header pins.

    The PICO DRIVER Assembly is completed.

View all 12 instructions

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates