Skip to the content
2 layers69.6 × 39 mmMicro Console Snake, the printed circuit board in 3D

A pocket-sized, custom-built retro gaming console made from scratch just to play the legendary Snake game!

Size
69.6 × 39 mm
Copper layers
2
Thickness
1.6 mm
Parts
6
Nets
9
Pads
34
Tracks, vias
86, 2
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
20 Jul 2026
Updated
21 Jul 2026

Overview

Micro Console Snake is an open-source printed circuit board by yansha2903-bot, from the yansha2903-bot/Micro-Console-Snake repository on GitHub, published under the MIT licence. It is a 2-layer board of 69.6 × 39 mm with 6 parts on 9 nets, routed with 86 tracks and 2 vias.

Its parts include 4 switches and 2 ICs. It belongs with the RP2040 boards of this library.

README

README.md

SnakeOnXIAO 🐍

A pocket-sized, custom-built retro gaming console made from scratch just to play the legendary Snake game!

This repository contains the full hardware design (KiCad schematic and PCB layout) and the custom C++ game engine running on a Seeed Studio XIAO RP2040 microcontroller.


Project Structure

  • PCB/ — KiCad project files:
  • *.kicad_pro — KiCad project management file.
  • *.kicad_sch — Clean electrical schematic with custom net labels.
  • *.kicad_pcb — Custom PCB routing, component layout, and geometric board shape.
  • Firmware/ — Game source code:
  • *codeSnake.ino — Arduino IDE C++ sketch running the custom Snake game loop.
    • Images — images of my project.

Hardware & Architecture

  • Microcontroller: Seeed Studio XIAO RP2040 (chosen for its tiny form factor and huge performance).
  • Display: 0.96" I2C OLED display ($128 \times 64$ pixels) powered by the SSD1306 driver.
  • Controls: 4x 6x6mm tactile buttons arranged as a classic D-Pad layout for fluid movement.
  • Pinout Configuration:
  • Buttons (D-Pad): Connected directly to digital pins D0 (Up), D1 (Down), D2 (Left), and D3 (Right) using internal INPUT_PULLUP resistors.
  • OLED Screen (I2C): Connected to hardware I2C pins D4 (SDA) and D5 (SCL). Powered by the 3V3 and GND lines.

Game Engine Features

The game code is written in C++ using Arduino IDE and utilizes Adafruit_GFX and Adafruit_SSD1306 libraries.

  • Dynamic Game Loop: Runs at a stable frame rate, processing inputs, updating game logic, and rendering graphics in real-time.
  • Smart Collision Detection: Full grid tracking to handle when the snake eats food (and grows!), hits the custom map borders, or runs into its own tail.
  • Grid-Aligned Spawning: Random food spawning that perfectly matches the coordinate system of the snake segments.
  • Zero External Components: Uses the RP2040's internal pull-up resistors to keep the PCB layout extremely clean and beginner-friendly.

How to Open and Explore

1. Hardware & PCB Layout (KiCad)

  1. Download or clone this repository.
  2. Open KiCad 10 (or newer).
  3. Load the project from the PCB/ directory.
  4. Open the Schematic Editor to view connections, or jump into the PCB Editor and hit Alt + 3 to see the full 3D model of the console!

2. Flashing the Firmware (Arduino)

  1. Open the .ino file in the Arduino IDE.
  2. Go to Tools -> Manage Libraries and install Adafruit GFX and Adafruit SSD1306.
  3. Select Seeed XIAO RP2040 in your Boards Manager.
  4. Connect your console via USB-C, choose the correct port, and hit Upload! 2026-07-20_13-33-17
2026-07-20_12-54-15

Parts

6
QtyValueFootprintReferences
4SW_PushButton_Switch_THT:SW_PUSH_6mmSW1, SW2, SW3, SW4
1ER_OLEDM0.91_1x-I2CDisplay:ER_OLEDM0.91_1x-I2CU2
1XIAO-RP2040-DIPPackage_DIP:DIP-14_W7.62mmU1

Similar boards

  • 2 layers18.5 × 11.1 mmSwitch, the printed circuit board in 3D

    Switch

    byrantech/laptop

    anyon_e, a highly integrated, high end, open source laptop. Attempt the impossible.

    6 parts4.3kMIT
  • 2 layers14.6 × 33 mmBrain board SD Card 1, the printed circuit board in 3D

    Brain board SD Card 1

    rusefi/rusefi

    rusefi - GPL internal combustion engine control unit

    6 parts1.2k
  • 2 layers9 × 9 mmDpoint, the printed circuit board in 3D

    Dpoint

    Jcparkyn/dpoint

    Open-source digital stylus using camera tracking and inertial measurements

    6 parts1.1kMIT
  • 2 layers51.5 × 16.6 mmMicroswitchXY Endstop, the printed circuit board in 3D

    MicroswitchXY Endstop

    VoronDesign/Voron-Hardware

    Cool Hardware designed by the Voron Design group

    6 parts1.1kGPL-3.0
  • 2 layers21.9 × 76.7 mmAmiga External, the printed circuit board in 3D

    Amiga External

    hoglet67/RGBtoHDMI

    Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI

    6 parts1kGPL-3.0
  • 2 layers88.9 × 50.8 mmBusinesscard, the printed circuit board in 3D

    Businesscard

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    6 parts915
  • 2 layers20.3 × 15.2 mmL0 RGB led, the printed circuit board in 3D

    L0 RGB led

    Luos-io/luos_engine

    Open-source and real-time orchestrator for cyber-physical-systems, to easily design, test and deploy embedded applications and digital twins.

    6 parts546MIT
  • 2 layers9 × 3.6 mmOpticalEncoder, the printed circuit board in 3D

    OpticalEncoder

    adamb314/ServoProject

    Getting the most out of your hobby servo

    6 parts545

Questions

How big is the Micro Console Snake PCB?

It measures 69.6 × 39 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Micro Console Snake use?

6 parts. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Micro Console Snake KiCad files?

From the yansha2903-bot/Micro-Console-Snake repository on GitHub, at the commit this page was made from: the board is KiCad/untitled.kicad_pcb and its schematic KiCad/Micro-Console-Snake.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Micro Console Snake design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).