

A modular game console based on RP2354
- Size
- 25.5 × 32 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 5
- Nets
- 14
- Pads
- 20
- Tracks, vias
- 11, 3
- Pours
- 1
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 12 Aug 2026
- Updated
- 27 Oct 2026
Overview
Empty 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 5 parts on 14 nets, routed with 11 tracks and 3 vias.
Its parts include 2 resistors and 1 connector. It belongs with the retro computing and games boards of this library.
README
README.mdHackxpansion
Website
A handheld console with 4 expansion solts
Key Features
- Resistor based module identification at start up
- 2" 240x320 ST7789 LCD panel
- RP2354 MCU
- Easily adaptable module standard
- Rust firmware with embassy and slint-ui
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.

Main-Board

Daughter-Board

Making Your Own Modules
There are three simple steps to making your own module:
- Design the module PCB in KiCAD
- Design the module case in CAD
- 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
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.
| Item | Price per unit | Nr of units | Total price | Link |
|---|---|---|---|---|
| PCB with PCBA | $60.00 | 1 | $60.00 | https://jlcpcb.com/ |
| Display | $4.36 | 1 | $4.36 | https://www.buydisplay.com/2-inch-ips-tft-lcd-display-ips-panel-screen-240x320-for-smart-watch |
| 2x7 2.54mm header | $0.386 | 10 | $3.860 | https://www.aliexpress.com/item/1005012166781874.html |
| Battery 502035 | $6.64 | 1 | $6.64 | https://www.aliexpress.com/item/1005008218024646.html |
| M2 OD3 L2 heat set insert | $0.0696 | 15 | $1.0440 | https://www.aliexpress.com/item/1005006798286851.html |
| M2 L6 screw | $0.0766 | 5 | $0.3830 | https://www.aliexpress.com/item/4000970993800.html |
| M2 L8 screw | $0.0766 | 2 | $0.1532 | https://www.aliexpress.com/item/4000970993800.html |
| M2 L4 screw | $0.0766 | 8 | $0.6128 | https://www.aliexpress.com/item/4000970993800.html |
| Total: | $77.05 |
Parts
5| Qty | Value | Footprint | References |
|---|---|---|---|
| 2 | MountingHole | MountingHole:MountingHole_2.2mm_M2 | H1, H2 |
| 2 | R | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R1, R2 |
| 1 | ~ | Hackxpansion:Male_Module | J1 |
Questions
How big is the Empty PCB?
It measures 25.5 × 32 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Empty use?
5 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 Empty KiCad files?
From the hackclub/hackxpansion repository on GitHub, at the commit this page was made from: the board is hardware/modules/empty/pcb/empty.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 Empty 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 mm

- 2 layers25.5 × 32 mm

- 2 layers52 × 34.5 mm

- 2 layers25.5 × 32 mm

- 2 layers25.5 × 32 mm

- 2 layers25.5 × 32 mm

- 2 layers25.5 × 32 mm

Similar boards
- 2 layers98 × 27 mm

- 2 layers21 × 33 mm

24g2usb pico2w
joypad-ai/joypad-os
Universal controller firmware for building adapters, dongles, and custom controllers.
5 parts1.7kApache-2.0 - 2 layers53.2 × 59.6 mm

A10 OLinuXino Lime Rev B SHIELD TEMPLATE
OLIMEX/OLINUXINO
OLINUXINO is Open Source / Open Hardware, low cost from EUR 24 Linux Industrial grade Single Board Computer capable to operate -25+85C
5 parts1.5k - 2 layers30 × 11 mm

Main control board servo tester
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.
5 parts1.1k - 2 layers78.8 × 35.3 mm

KiCadTest
hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!
5 parts915 - 2 layers50 × 23 mm

- 2 layers43.2 × 28.5 mm

- 2 layers20.3 × 15.2 mm

L0 light sensor
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.
5 parts546MIT