Skip to the content
PCBKitNew board
2 layers81 × 62.5 mmInitial project, the printed circuit board in 3D

A six key macropad with the xiao rp2040, oled displays, per key rgb, and a custom pcb and enclosure i made.

Size
81 × 62.5 mm
Copper layers
2
Thickness
1.6 mm
Parts
21
Nets
20
Pads
84
Tracks, vias
263, 13
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
1 Sep 2026
Updated
2 Sep 2026

Overview

Initial project is an open-source printed circuit board by Nithish1201-code, from the Nithish1201-code/Hackpad-Shortpad repository on GitHub. It is a 2-layer board of 81 × 62.5 mm with 21 parts on 20 nets, routed with 263 tracks and 13 vias.

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

Main components

1

README

README.md

ShortPad

6-key macropad with an OLED display and RGB LEDs built around a Seeed XIAO RP2040. I made this for Hack Club Stardance because I wanted to build my first proper PCB and get some hands-on experience with electronics, CAD, firmware, and basically the whole process of making a hardware project. I also wanted to earn some Stardust, so getting to learn all of this while working toward something useful felt like a pretty good opportunity.

Overview

ShortPad is my first proper hardware project, and pretty much my first time working with most of the tools involved in building something like this. I designed the PCB in KiCad, made a custom two-piece case in Tinkercad, set up QMK firmware, and added an I2C OLED and addressable RGB LEDs to the basic 6-key macropad design.

The main goal was honestly just to get a feel for the whole process. Before starting this, I had never designed a PCB, made a proper 3D case, or worked with QMK, or anything hardware for that matter. So a lot of the project was learning as I went, figuring things out when they didn't work, and gradually putting all the pieces together.

image

Parts List

Electronics

ComponentQuantitySpecification
Seeed XIAO RP20401XIAO RP2040
OLED Display1ER-OLEDM0.91 0.91" I2C OLED
Mechanical Switches6Cherry MX-compatible
Addressable LEDs6SK6812MINI-E
Capacitors6100nF, 0603 SMD

Mechanical

ComponentQuantitySpecification
Keycaps6MX-compatible DSA keycaps
Heat-set Inserts4M3 × 5 × 4 mm
Screws4M3 × 16 mm
3D-printed Case1Custom case split into top and bottom pieces
image

PCB Design

image

The PCB was designed in KiCad, and this was my first time doing a proper PCB from scratch. The board is built around the XIAO RP2040 and includes the six mechanical switches, six SK6812MINI-E RGB LEDs, the OLED interface, and the supporting components needed for the design.

I wanted to keep the board fairly compact while still making sure everything would fit properly inside the case. I also added a 100nF capacitor for each RGB LED and prepared the Gerber files for manufacturing.

image

Case Design

The case was designed from scratch in Tinkercad and is split into separate top and bottom pieces. It uses four M3 heat-set inserts and four M3 × 16 mm screws to hold everything together.

I haven't printed the case yet since the project is currently at the design and approval stage but the final STL files are already included in the repository and are ready for printing.

image

Firmware

Built using QMK. The firmware source is in Firmware/hackpad_6key/, and the compiled .uf2 file is included in production/firmware.uf2.

I'm still fairly new to QMK and haven't gone especially deep into it yet. I used AI to help generate part of the initial firmware since there were some areas I wasn't familiar with, then made my own changes and adjustments to get it working the way I wanted.

I also enabled VIA so the macropad can be configured through software instead of having everything permanently hardcoded. And im currently working on the OLED software as well, with the idea that the display and RGB effects can be configured and expanded over time.

What I Learned

This project ended up being a pretty good crash course in hardware development. I learned, or am still learning, things like:

Area
KiCad and PCB design
PCB routing
electronics and component selection
QMK and VIA
I2C and OLED displays
addressable RGB LEDs
CAD and 3D modelling
Tinkercad
3D printing
Gerber and other production files
designing around a microcontroller and making the different parts of a project work together

I'm definitely not an expert in all of these yet, especially QMK and complited stuff like that, but that was kinda the point. I wanted to actually build something instead of waiting until I knew everything first, and this gave me a reason to learn a lot of new things along the way.

image

Why I Built It

I wanted to make my first proper PCB, and a macropad seemed like a good project to start with because it was small enough to be manageable but still involved a lot of different parts of hardware development.

It also gave me an excuse to try things I hadn't worked with before like PCB design, CAD, electronics, firmware, OLEDs, RGB LEDs, and eventually 3D printing. And honestly getting some Stardust out of it was another reason I wanted to give it a shot. I'm also interested in getting some basic tools for future projects, like a soldering iron, so being able to build something I actually wanted while also getting resources to keep experimenting felt like a pretty good win-win.

I started Stardance only a couple of days ago, and this project was basically me wanting to see what I could make from scratch. It was my first PCB, my first real CAD project, and my first time bringing all these different parts together into one design. I mainly wanted to get a feel for the process, learn how everything fits together, and hopefully use what I learned here for more ambitious projects later.

Project Structure

PathContents
CAD/Fully assembled.stp
Firmware/hackpad_6key/QMK firmware project
Firmware/hackpad_6key/keymaps/default/Default keymap
Firmware/hackpad_6key/keymaps/via/VIA keymap
Firmware/hackpad_6key/keymaps/via/keymap.cVIA keymap source
Firmware/hackpad_6key/keyboard.jsonQMK keyboard definition
PCB/KiCad PCB, project, and schematic files
production/STL files, compiled firmware, and Gerbers
.gitattributesGit attributes
.gitignoreGit ignore rules
README.mdProject documentation

Current Status

The PCB, schematic, CAD model, firmware build, STL files, and Gerber production files are all finished and pushed to the repository. The physical PCB and case haven't been produced yet, so the next step is getting the project approved and then actually making it IRL.

Parts

21
QtyValueFootprintReferences
6100nCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC2, C3, C4, C5, C6, C7
6SK6812MINI-Ekicad-keyboard-parts.pretty-master:MX_SK6812MINI-ED1, D2, D3, D4, D5, D6
5SW_PushPCM_Switch_Keyboard_Cherry_MX:SW_Cherry_MX_PCB_1.00uSW1, SW3, SW4, SW5, SW6
1ER_OLEDM0.91_1x-I2CDisplay:ER_OLEDM0.91_1x-I2CU2
1LOGODownloads:silk2G***
1MOUDLE-SEEEDUINO-XIAOfootprints:XIAO-Generic-Hybrid-14P-2.54-21X17.8MMU1
1SW_PushPCM_Switch_Keyboard_Cherry_MX:SW_Cherry_MX_PCBSW2

Questions

How big is the Initial project PCB?

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

What parts does the Initial project use?

21 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 Initial project KiCad files?

From the Nithish1201-code/Hackpad-Shortpad repository on GitHub, at the commit this page was made from: the board is PCB/initial project.kicad_pcb and its schematic PCB/initial project.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Initial project design in my own project?

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

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