Skip to the content
PCBKitNew board
2 layers25.5 × 32 mmTwo button, the printed circuit board in 3D

A modular game console based on RP2354

Size
25.5 × 32 mm
Copper layers
2
Thickness
1.6 mm
Parts
7
Nets
14
Pads
28
Tracks, vias
18, 0
Pours
1
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
12 Aug 2026
Updated
27 Oct 2026

Overview

Two button is an open-source printed circuit board by hackclub, from the hackclub/hackxpansion repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 25.5 × 32 mm with 7 parts on 14 nets, routed with 18 tracks and 0 vias.

Its parts include 2 resistors, 2 switches and 1 connector. It belongs with the retro computing and games boards of this library.

README

README.md

Hackxpansion

Website

A handheld console with 4 expansion solts

Key Features

Why?

I really like the idea of modules, and modular things, and making people work together, so I made this.

PCB

The console has two 4 layer PCBs designed in KiCAD, a main-board and a daughter-board, designed for JLC's basic process.

irl pcb without some connectors and swithc

Main-Board

main-board schematic main-board pcb main-board render

Daughter-Board

daughter-board schematic daughter-board pcb daughter-board render

Making Your Own Modules

There are three simple steps to making your own module:

  1. Design the module PCB in KiCAD
  2. Design the module case in CAD
  3. Write a driver for the module

There are detailed docs on the hackxpansion website

Case

The case is designed in Autodesk Fusion, there are .f3z files in the hardware directory.

The models have parameters that can be adjusted to fit your needs.

Shoutouts

Thank you so much for Simon who helped with the fanout of the RP, and also gave a ton of constructive feedback!!!!

Zine

magazine page

BOM for Console

This is for an order of 2 PCBA PCBs.

Also found in a CSV file. Each component has an LCSC part number attached that can be used to find the component on the LCSC website.

Parts

7
QtyValueFootprintReferences
2MountingHoleMountingHole:MountingHole_2.2mm_M2H1, H2
2SW_PushButton_Switch_THT:SW_PUSH_6mmSW1, SW2
11k5Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR1
11k6Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR2
1~Connector_PinHeader_2.54mm:PinHeader_2x07_P2.54mm_HorizontalJ1

Questions

How big is the Two button PCB?

It measures 25.5 × 32 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Two button use?

7 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 Two button KiCad files?

From the hackclub/hackxpansion repository on GitHub, at the commit this page was made from: the board is hardware/modules/two_button/pcb/two_button.kicad_pcb and its schematic hardware/hackxpansion/pcb/ADC.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Two button design in my own project?

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

More from hackclub/hackxpansion

7
  • 4 layers52 × 69 mmHackxpansion, the printed circuit board in 3D

    Hackxpansion

    hackclub/hackxpansion

    A modular game console based on RP2354

    104 parts5GPL-3.0
  • 2 layers25.5 × 32 mmLinux soc, the printed circuit board in 3D

    Linux soc

    hackclub/hackxpansion

    A modular game console based on RP2354

    57 parts5GPL-3.0
  • 2 layers52 × 34.5 mmHdmi, the printed circuit board in 3D

    Hdmi

    hackclub/hackxpansion

    A modular game console based on RP2354

    46 parts5GPL-3.0
  • 2 layers25.5 × 32 mmAudio module, the printed circuit board in 3D

    Audio module

    hackclub/hackxpansion

    A modular game console based on RP2354

    25 parts5GPL-3.0
  • 2 layers25.5 × 32 mmFour button, the printed circuit board in 3D

    Four button

    hackclub/hackxpansion

    A modular game console based on RP2354

    9 parts5GPL-3.0
  • 2 layers25.5 × 32 mmJoystick, the printed circuit board in 3D

    Joystick

    hackclub/hackxpansion

    A modular game console based on RP2354

    6 parts5GPL-3.0
  • 2 layers25.5 × 32 mmEmpty, the printed circuit board in 3D

    Empty

    hackclub/hackxpansion

    A modular game console based on RP2354

    5 parts5GPL-3.0

Similar boards

  • 2 layersEncoder, the printed circuit board in 3D

    Encoder

    byrantech/laptop

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

    7 parts4.3kMIT
  • 2 layers40 × 20 mmSensor smd, the printed circuit board in 3D

    Sensor smd

    scottbez1/splitflap

    DIY split-flap display

    7 parts4.2k
  • 2 layers19.8 × 30 mmZ limit, the printed circuit board in 3D

    Z limit

    opulo-inc/lumenpnp

    The LumenPnP is an open source pick and place machine.

    7 parts3.7k
  • 2 layers35.6 × 58.2 mmDisplay Carrier, the printed circuit board in 3D

    Display Carrier

    AxxAxx/AxxSolder

    STM32 Based soldering station for JBC cartridges, 9-24 VDC and USB-PD power

    7 parts1.7kGPL-3.0
  • 2 layers20.3 × 16.3 mmMap MPX, the printed circuit board in 3D

    Map MPX

    rusefi/rusefi

    rusefi - GPL internal combustion engine control unit

    7 parts1.2k
  • 2 layers26 × 44 mmCompact carrier board, the printed circuit board in 3D

    Compact carrier board

    jamro/tiny-engineer

    A small desktop robot that brings an AI coding assistant to life, physically acting out when it reads files, thinks, writes code, and finishes work.

    7 parts1.1k
  • 2 layers26.4 × 53.8 mmAtari pickup, the printed circuit board in 3D

    Atari pickup

    hoglet67/RGBtoHDMI

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

    7 parts1kGPL-3.0
  • 2 layersRj45 breakout, the printed circuit board in 3D

    Rj45 breakout

    rene-dev/stmbl

    AC Servo Driver for STM32F4

    7 parts990GPL-3.0