Skip to the content
PCBKitNew board
2 layers93 × 113.5 mmCatpas, the printed circuit board in 3D

A 9-key hackpad on a XIAO RP2040, with a 0.91" OLED that shows the time and a fox messing about on it. Each key opens an app.

Size
93 × 113.5 mm
Copper layers
2
Thickness
1.6 mm
Parts
24
Nets
23
Pads
98
Tracks, vias
231, 8
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
5 Jul 2026
Updated
1 Sep 2026

Overview

Catpas is an open-source printed circuit board by ohhjazzv, from the ohhjazzv/hackpad repository on GitHub. It is a 2-layer board of 93 × 113.5 mm with 24 parts on 23 nets, routed with 231 tracks and 8 vias.

Its parts include 9 diodes, 9 switches and 2 ICs.

README

README.md

catpas

A 9-key hackpad on a XIAO RP2040, with a 0.91" OLED that shows the time and a fox messing about on it. Each key opens an app.

catpas assembled

text
   Spotify (SW1)    Discord  (SW4)    Slack (SW7)
   Claude  (SW2)    Opera GX (SW5)    KiCad (SW8)
   Shapr3D (SW3)    Snip Too (SW6)    Clock (SW9)

The case

One printed part — a tray the board drops into. Nine 14 mm cutouts for the switches, a long window for the OLED, a USB-C opening in the side wall, and four M5 corner holes. 112 x 133 x 19 mm.

case from abovecase, key cutouts
Top down — nine key cutouts, OLED window, M5 cornersThe board sitting in the tray

case exploded

case side profile

The board

PCB 3D render

PCB layoutPCB top render
Layout — F.Cu red, B.Cu blueBoard render, top

Schematic

schematic

Bill of materials

RefQtyPartNotes
U11Seeed Studio XIAO RP204014-pin XIAO footprint
U21ER-OLEDM0.91_1x-I2C (SSD1306 128x32)I2C on D4/D5
SW1–SW99Cherry MX compatible switch, 1u PCB mount
D1–D991N4148 / 1N914, DO-35one per key, COL2ROW
R1–R224.7kI2C pull-ups; skip if your OLED module has them
—9MX keycaps
—1PCB, 93.0 x 113.5 mm, 2 layer, 1.6 mmproduction/gerbers.zip
—1Printed case, ~150 cm³production/Case.STEP
—4M5 bolt + nutthrough the 5.3 mm corner holes

Machine-readable copy: production/bom.csv.

Where things are

FolderWhat's in it
CAD/Catpas_final.3mf — the full assembly: case, board and diodes
PCB/KiCad 10 project: .kicad_pro, .kicad_sch, .kicad_pcb, plus gerbers/ and a STEP export of the board
Firmware/KMK / CircuitPython source, plus the host/ companion. See Firmware/README.md
production/Fab and print output: gerbers.zip, Case.STEP, firmware/, bom.csv. See production/README.md
images/The renders on this page

Journal is the build log.

Hardware summary

  • MCU XIAO RP2040 (U1, 14-pin XIAO footprint)
  • Switches 9x Cherry MX, 3x3 matrix, 1N4148 per key, COL2ROW
  • Display ER-OLEDM0.91_1x-I2C (SSD1306 128x32) on D4/D5
  • Encoder not fitted; pads D8/D9/D0 are labelled A, B, Switch for one
  • Board 93.0 x 113.5 mm, 2 layers, DRC clean

Matrix, from the netlist:

text
        col1  col2  col3
row1    SW1   SW2   SW3
row2    SW4   SW5   SW6
row3    SW7   SW8   SW9

Note the board numbers its switches down the columns, not across the rows — kb.coord_mapping in the firmware absorbs that, so the keymap is written in plain reading order.

Parts

24
QtyValueFootprintReferences
91N914Diode_THT:D_DO-35_SOD27_P7.62mm_HorizontalD1, D2, D3, D4, D5, D6, D7, D8, D9
9SW_PushButton_Switch_Keyboard:SW_Cherry_MX_1.00u_PCBSW1, SW2, SW3, SW4, SW5, SW6, SW7, SW8, SW9
1ER_OLEDM0.91_1x-I2CDisplay:ER_OLEDM0.91_1x-I2CU2
1MOUDLE-SEEEDUINO-XIAORF_Module:MCU_Seeed_ESP32C3U1

The 20 most common of 24 parts.

Questions

How big is the Catpas PCB?

It measures 93 × 113.5 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Catpas use?

24 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 Catpas KiCad files?

From the ohhjazzv/hackpad repository on GitHub, at the commit this page was made from: the board is PCB/catpas.kicad_pcb and its schematic PCB/catpas.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Catpas design in my own project?

Its repository states no licence, so its author keeps all rights: ask ohhjazzv before reusing the design.

Similar boards

  • 2 layers56 × 65 mmSeaTalk1, the printed circuit board in 3D

    SeaTalk1

    dotnet/iot

    This repo includes .NET Core implementations for various IoT boards, chips, displays and PCBs.

    24 parts2.4kMIT
  • 2 layers26.2 × 45.5 mmPL18 multiprotocol, the printed circuit board in 3D

    PL18 multiprotocol

    pascallanger/DIY-Multiprotocol-TX-Module

    Multiprotocol TX Module (or MULTI-Module) is a 2.4GHz transmitter module which controls many different receivers and models.

    24 parts1.9kGPL-3.0
  • 2 layers58 × 35.5 mmHat, the printed circuit board in 3D

    Hat

    menloresearch/asimov-1

    v1 of Asimov, an open-source humanoid robot

    24 parts1.4kCERN-OHL-S-2.0
  • 2 layers21.6 × 19.5 mmMicron Logo LED, the printed circuit board in 3D

    Micron Logo LED

    DraftShift/StealthChanger

    Tool changing system for Vorons and other front mount printer motion systems, not just stealthburner.

    24 parts1.2kGPL-3.0
  • 2 layers158 × 11 mmRainbow Matchstick, the printed circuit board in 3D

    Rainbow Matchstick

    VoronDesign/Voron-Hardware

    Cool Hardware designed by the Voron Design group

    24 parts1.1kGPL-3.0
  • 2 layers85.6 × 54 mmTRACED wio1262-carrier, the printed circuit board in 3D

    TRACED wio1262-carrier

    hackclub/OnBoard

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

    24 parts915
  • 2 layers36 × 20 mmCombined, the printed circuit board in 3D

    Combined

    adamb314/ServoProject

    Getting the most out of your hobby servo

    24 parts545