Skip to content

Play classic arcade games on a 64x64 RGB LED Matrix, powered by the Raspberry RP2040.

License

Notifications You must be signed in to change notification settings

SimonWaldherr/DIY-Arcade-Machine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DIY-Arcade-Machine

Short video of the DIY Arcade Console in action (on YouTube)

My Very Own Arcade Machine

Welcome to the DIY-Arcade-Machine project! This is a hands-on project to build your very own arcade machine using the Interstate 75 - RGB LED Matrix Driver from Pimoroni (PIM584), a 64x64 Pixel RGB LED Matrix with a Hub75 connector, and a KY-023 Joystick Module (or a Nunchuck). The project includes several games inspired by the classics: Simon, Snake, Qix, Breakout, Tetris, Asteroid, and Pong, all playable on a vibrant LED matrix display.

Don’t have the hardware yet? You can still try out the games by running the PyGame Branch, which simulates the experience on your PC or Mac.

Table of Contents

Hardware Requirements

Software Requirements

Installation

1. Set up your Microcontroller with MicroPython

  • Follow the instructions for your microcontroller to flash it with MicroPython.

2. Connect the Hardware

  • Connect the Interstate 75 to the RGB LED Matrix using the Hub75 connector.
  • Connect the Nunchuck to the microcontroller.

3. Upload the Code

  • Use Thonny (or another compatible tool) to copy the provided Python script to your microcontroller.

Usage

1. Power Up

  • Ensure all connections are secure, then power up the microcontroller.

2. Start the Game Selector

  • Once powered, the game selector interface will appear on the LED matrix.

3. Select a Game

  • Use the joystick to navigate the menu and select a game. Press the joystick button to start.

4. Play

  • Refer to the instructions below for controls on each game.

5. Exit a Game

  • To exit a game and return to the menu, press both joystick buttons simultaneously.

Games

Simon

A memory game where the player must recall and repeat a sequence of colors.

  • Controls: Use the joystick to select the flashed color. Repeat the sequence as it grows.

Asteroid

A classic shooter where the goal is to destroy asteroids.

  • Controls: Use the joystick to rotate and move your ship. Press the button to shoot.

Snake

Guide the snake to eat targets and grow in length, but avoid hitting the walls or yourself.

  • Controls: Use the joystick to control the snake's direction (UP, DOWN, LEFT, RIGHT).

Pong

A classic two-player table tennis game, where you control a paddle to keep the ball in play.

  • Controls: Move the paddle up and down using the joystick.

Breakout

Break the bricks with the ball without letting it fall off the screen.

  • Controls: Use the joystick to move the paddle left and right. Break as many bricks as possible!

Qix

Claim territory while avoiding enemies. Move strategically to win.

  • Controls: Move with the joystick to claim territory while avoiding enemy contact.
    • For a version written in Go using the Ebiten engine, click here.

Tetris

Stack blocks to form complete lines and score points.

  • Controls: Use the joystick to move and rotate the blocks. Speed them up by moving them down.

Maze

A simple maze game

Fun

Enjoy building and gaming on your very own DIY-Arcade-Machine! If you encounter any issues or need assistance, feel free to open an issue or reach out.

Happy Gaming!