Skip to the content
PCBKitNew board
2 layers99 × 99 mmCobraPad, the printed circuit board in 3D

CobraPad is a compact 8-key macro pad built around the Seeed XIAO RP2040, with a rotary encoder, SSD1306 OLED display, addressable RGB underglow, and a custom 3D-printed case.

Size
99 × 99 mm
Copper layers
2
Thickness
1.6 mm
Parts
39
Nets
34
Pads
117
Tracks, vias
337, 17
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
15 Aug 2026
Updated
17 Sep 2026

Overview

CobraPad is an open-source printed circuit board by SnaggingCobra, from the SnaggingCobra/hackpad repository on GitHub, published under the MIT licence. It is a 2-layer board of 99 × 99 mm with 39 parts on 34 nets, routed with 337 tracks and 17 vias.

It is built around the SK6812MINI-E. Its parts include 16 diodes, 9 switches, 8 capacitors and 2 ICs. It belongs with the lEDs and displays boards of this library.

Main components

1

README

README.md

CobraPad

CobraPad is a compact 8-key macro pad built around the Seeed XIAO RP2040, with a rotary encoder, SSD1306 OLED display, addressable RGB underglow, and a custom 3D-printed case. The board and case are treated as the source of truth, and the firmware is mapped directly to the actual KiCad net names and pad assignments.

Overview

  • MCU: Seeed XIAO RP2040
  • Layout: 2 rows x 4 columns, 8-key matrix
  • Extras: rotary encoder with push switch, 128x32 OLED, 8 SK6812MINI-E LEDs
  • Firmware: CircuitPython
  • PCB: 2-layer custom board, 99 mm x 99 mm
  • Case: custom top and bottom enclosure designed for a fitted assembly

Project photos

Overall project / visible build

Overall project

Schematic

Schematic

PCB

PCB

Case fit / enclosure

Case fit

Hardware summary

ComponentQuantityNotes
Seeed XIAO RP20401Main controller
Mechanical switches8Key matrix
Diode (1N4148 or equivalent)8One per switch
Rotary encoder with switch1EC11-style encoder
SSD1306 128x32 OLED1I2C display
SK6812MINI-E RGB LEDs8Addressable LED chain
Decoupling capacitor3Power filtering
Resistor1Pull-up / support
3D-printed case parts1 setTop and bottom shell
M2 hardware4+Case assembly

Verified board pin mapping

The firmware in Firmware/circuitpython/code.py is mapped to the board as follows:

FunctionKiCad signal / board netCircuitPython pin
Row 1PA02_A0_D0D0
Row 2PA4_A1_D1D1
Col 1PA10_A2_D2D2
Col 2PA11_A3_D3D3
Col 3PB08_A6_D6_TXD6
Col 4PB09_A7_D7_RXD7
OLED SDAPA8_A4_D4_SDAD4
OLED SCLPA9_A5_D5_SCLD5
Encoder APA7_A8_D8_SCKD8
Encoder BPA5_A9_D9_MISOD9
LED dataPA6_A10_D10_MOSID10

BOM

The table below is the verified BOM for the current KiCad schematic and board assembly.

ComponentQuantityDescription
Seeed XIAO RP20401Main microcontroller board
Mechanical keyboard switch8Cherry MX-compatible switches for the key matrix
1N4148 diode8One diode per switch for matrix protection and flyback suppression
SK6812MINI-E RGB LED8Addressable underglow/lighting LEDs
SSD1306 128x32 OLED module1I2C display for status and output
Rotary encoder with push switch1EC11-style encoder for control input
100 nF decoupling capacitor8SMD power-filter capacitors used across the board (C1-C8)
M2 case mounting hardware4Screws/standoffs used for the enclosure assembly
3D-printed top shell1Custom top enclosure cover
3D-printed bottom shell1Custom bottom enclosure base

See BOM.csv for the CSV version of the same parts list.

Repository layout

  • PCB/CobraPad — KiCad PCB, schematic, and project files
  • kicad-libs — custom symbols and library files
  • CAD — assembled CAD and mechanical source files
  • CAD/Case — case source and generated shell files
  • Firmware — CircuitPython firmware and notes
  • assets — project screenshots and render images
  • production — manufacturing and production outputs
  • BOM.csv — project components list
  • LICENSE — project license

Production files

The final project includes fabrication and production artifacts in production:

CAD and enclosure

The assembled CAD model is located in CAD/CobraPAD_All together.step. This file represents the assembled project geometry and includes the designed enclosure plus the PCB in context. The project also includes the editable FreeCAD source file in CAD/Final.FCStd.

Firmware

The active firmware is written in CircuitPython and lives in Firmware/circuitpython/code.py. The companion notes are in Firmware/README.md.

Firmware capabilities

  • 8-key matrix scanning
  • rotary encoder clockwise / counter-clockwise detection
  • encoder push-button input
  • SSD1306 display output
  • 8-addressable RGB LED support
  • USB HID keyboard output

Build / setup notes

  1. Open PCB/CobraPad/CobraPad.kicad_pro in KiCad.
  2. Verify the board matches the schematic and intended parts list.
  3. Flash CircuitPython onto the XIAO RP2040.
  4. Copy the contents of Firmware/circuitpython onto the CIRCUITPY drive.
  5. Assemble the PCB, case, encoder, OLED, and LEDs.
  6. Validate key presses, encoder behavior, display output, and LED animation.

Design notes

  • The KiCad PCB and case files are the source of truth for this project.
  • The board is intentionally mapped to the specific RP2040 pins used in the hardware.
  • The firmware is designed to match the actual board connection map and component placement.
  • The project is meant to be a compact, low-profile macro pad with a clean custom enclosure.

Project status

This repository is prepared as a final project archive and submission bundle for the CobraPad macro pad. The current project includes the final PCB source, fabricated production outputs, custom case files, and the CircuitPython firmware.

License

This project is released under the MIT license. See LICENSE.

Parts

39
QtyValueFootprintReferences
8100nfCapacitor_SMD:C_0603_1608MetricC1, C2, C3, C4, C5, C6, C7, C8
81N4148Diode_THT:D_DO-35_SOD27_P7.62mm_HorizontalD1, D2, D3, D4, D5, D6, D7, D8
8SK6812MINI-ELED_SMD:LED_SK6812MINI-E_3.2x2.8mm_P1.5mm_ReverseMountD9, D10, D11, D12, D13, D14, D15, D16
8SW_PushButton_Switch_Keyboard:SW_Cherry_MX_1.00u_PlateSW1, SW2, SW3, SW4, SW5, SW6, SW7, SW8
1ER_OLEDM0.91_1x-I2CDisplay:ER_OLEDM0.91_1x-I2CU2
1MOUDLE-SEEEDUINO-XIAOfootprints:XIAO-Generic-Hybrid-14P-2.54-21X17.8MMU1
1RotaryEncoder_SwitchRotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mmSW9

The 35 most common of 39 parts.

Questions

How big is the CobraPad PCB?

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

What parts does the CobraPad use?

39 parts, built around the SK6812MINI-E. 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 CobraPad KiCad files?

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

Can I use the CobraPad 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).

Similar boards

  • 4 layers234 × 84 mmMain panel, the printed circuit board in 3D

    Main panel

    google/mozc-devices

    Circuit diagrams and firmware source code for Gboard DIY keyboards

    234 parts3kApache-2.0
  • 4 layers180.8 × 300.3 mmDilemma, the printed circuit board in 3D

    Dilemma

    Bastardkb/Dilemma

    The Dilemma is a vertical stagger low-profile keyboard with mods.

    383 parts590
  • 4 layers48 × 32 mmFlatSat, the printed circuit board in 3D

    FlatSat

    Pwnsat/FlatSat

    Flatsat v1.0 is a hardware based platform for aerospace cybersecurity research

    106 parts575GPL-2.0
  • 2 layersDemo, the printed circuit board in 3D

    Demo

    adamws/kicad-kbplacer

    KiCad plugin for automatic keyboard's key placement and routing

    48 parts547GPL-3.0
  • 2 layers97 × 78.5 mmDumbpad, the printed circuit board in 3D

    Dumbpad

    imchipwood/dumbpad

    Simple 4x4 numpad with rotary encoder. Powered by QMK via ATmega32u4 Pro Micro

    62 parts517GPL-2.0
  • 4 layers82.5 × 39.4 mmV4head, the printed circuit board in 3D

    V4head

    makerforgetech/modular-biped

    An open source framework for creating a bipedal modular companion robot.

    26 parts493GPL-3.0
  • 2 layers115.7 × 95.7 mmFifi split keeb, the printed circuit board in 3D

    Fifi split keeb

    raychengy/fifi_split_keeb

    Fifi Keyboard 🐶 ⌨️

    66 parts334
  • 4 layers70 × 54 mmPicoLab, the printed circuit board in 3D

    PicoLab

    CoretechR/PicoLab

    Web-GUI Embedded Multitool

    285 parts327GPL-3.0