Skip to the content
PCBKitNew board
2 layers95.3 × 88.4 mmSmolpad, the printed circuit board in 3D

SmolPad is an open-source, custom 3x3 mechanical macropad powered by the Seeed Studio XIAO RP2040 microcontroller.

Size
95.3 × 88.4 mm
Copper layers
2
Thickness
1.6 mm
Parts
26
Nets
23
Pads
92
Tracks, vias
219, 18
Pours
1
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
23 Sep 2026
Updated
29 Oct 2026

Overview

Smolpad is an open-source printed circuit board by Momentum122, from the Momentum122/Hackpad repository on GitHub. It is a 2-layer board of 95.3 × 88.4 mm with 26 parts on 23 nets, routed with 219 tracks and 18 vias.

Its parts include 10 switches, 9 diodes and 2 ICs. It belongs with the lEDs and displays boards of this library.

README

README.md

SmolPad

SmolPad is an open-source, custom 3x3 mechanical macropad powered by the Seeed Studio XIAO RP2040 microcontroller. It features a 3x3 diode key matrix, an EC11 rotary encoder for volume control, and a 0.91" I2C OLED display for a plain text output (for now) , all housed in a custom 3D-printed case running KMK Firmware .

alt text

Features

3x3 Key Matrix: Direct-soldered MX mechanical switches with 1N4148 diodes . EC11 Rotary Encoder: Smooth volume adjustment and press-to-mute functionality. 0.91" I2C OLED Display: 128x32 resolution driven by the SSD1306 display controller displaying status information. Compact Case Design: Custom 2-piece case secured with M3 heat-set brass inserts. Easy Customization: Powered by KMK / CircuitPython—edit shortcuts on the fly by modifying main.py like a USB drive file.

alt text

Keymap Row 0 i) Media play/pause ii) Brightness Increase iii) Brighness Decrease Row 1 i) Super/Windows key ( i know this one is weird but the one on my keyboard doesnt work so i will use this for the timebeing). ii) Audio Mute iii) Copy ( Ctrl + C) Row 2 i) Cut (ctrl + x) ii) Paste (ctrl + v) iii) undo (ctrl + z)

Rotary Encoder i) Clockwise Turn - Volume Up ii) Counter-Clockwise - Volume Down iii) Push Switch Press - Mute Toggle ( will be later used to switch layers)

OLED Display i) currently Displays only a single static text i.e. Smolpad active

All the Above can and will be most likely changed later on .

alt text

Project Structure

HackPad CAD Top.step Top.stl Bottom.step Bottom.stl Hack Club Knurled Knob.step PCB smolpad.kicad_pcb smolpad.kicad_pro smolpad.kicad_sch smolpad.step gerbers(final).zip firmwarefiles boot.py kb.py main.py lib kmk Imagaes Case Bottom.png Combined.png Top.png PCB 3d model.png Schematic.pdf BOM.csv README.md

NOTE :- PLEASE CHECK THE BOM.csv FOR THE MATERIALS

Assembly instructions

PCB Fabrication: Upload production/gerbers/gerbers.zip to a PCB manufacturer (such as JLCPCB) with standard 1.6mm thickness and default settings.

3D Printing: Print the enclosure parts (smolpad_case_top.step and smolpad_case_bottom.step) .

Component Soldering: Solder the 1N4148 diodes onto the back of the pcb , ensuring correct polarity . Solder the mechanical MX-style switches and the EC11 encoder Solder the Seeed Studio XIAO RP2040 microcontroller and the 0.91-inch OLED display Enclosure Assembly: Mount the assembled PCB into the 3D-printed case using M3 screws.

Firmware Flashing & Setup

The SmolPad runs on CircuitPython with KMK firmware using the Seeed Studio XIAO RP2040. Enter Bootloader Mode: Connect the XIAO RP2040 to your computer via USB and double-tap the reset button. A drive named RPI-RP2 will appear.

Install CircuitPython Runtime: Drag and drop the official CircuitPython UF2 bootloader runtime onto the RPI-RP2 drive. The board will reboot and mount a new drive named CIRCUITPY.

Upload Firmware Files: Copy your firmware script files (main.py, kb.py, and the kmk/ library folder) directly into the root directory of the CIRCUITPY drive.

Test: The board will automatically execute main.py and initialize your keymap, rotary encoder, and OLED display.

Acknowledgements :- i) Usage of Ai for understanding features of Kicad/Onshape , Usage of ai for guidance in few areas like firmware , Usage of ai for identifying errors and resolving them ii) All resources are not owned by me (except case and Pcb however you are free to use them if you want to).
iii) Created with the guidance of https://hackpad.hackclub.com/guide , https://youtu.be/8WXpGTIbxlQ?si=IzrQN_IX_nW7LFwR . iv) Built with support from the Hack Club grants and resoureces —massive thanks to them for funding the hardware and making this project a reality. v) Built for Stardance hackclub CONTACT INFO :- mandeepswami2010@gmail.com

Suggestions / Issues / Complaint(s) are accepted and appreciated for the betterment of the macropad.

Parts

26
QtyValueFootprintReferences
91N4148Diode_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
1LOGODownloads:54G***
1MOUDLE-SEEEDUINO-XIAOfootprints:XIAO-Generic-Hybrid-14P-2.54-21X17.8MMU1
1RotaryEncoder_Switch_MPRotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mmSW10

The 22 most common of 26 parts.

Questions

How big is the Smolpad PCB?

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

What parts does the Smolpad use?

26 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 Smolpad KiCad files?

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

Can I use the Smolpad design in my own project?

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

Similar boards

  • 2 layers57.3 × 19 mm11ua, the printed circuit board in 3D

    11ua

    rene-dev/stmbl

    AC Servo Driver for STM32F4

    26 parts990GPL-3.0
  • 2 layers98 × 59.5 mmMCP23017 PCB, the printed circuit board in 3D

    MCP23017 PCB

    hackclub/OnBoard

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

    26 parts915
  • 2 layers142.9 × 98.5 mmCantor MX, the printed circuit board in 3D

    Cantor MX

    diepala/cantor

    Cantor keyboard, a 42 key diodeless split keyboard.

    26 parts756GPL-3.0
  • 2 layers103.8 × 50 mmGalagino pcb set, the printed circuit board in 3D

    Galagino pcb set

    harbaum/galagino

    A Galaga, Pac-Man and Donkey Kong arcade emulator for the ESP32

    26 parts558
  • 2 layers20.3 × 34.8 mmL0 ESP32, the printed circuit board in 3D

    L0 ESP32

    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.

    26 parts546MIT
  • 2 layers40.6 × 50.8 mmWALTsm, the printed circuit board in 3D

    WALTsm

    google/walt

    A device for measuring latency of physical sensors and outputs on phones and computers

    26 parts474Apache-2.0
  • 2 layers158.5 × 75 mmDoj v2, the printed circuit board in 3D

    Doj v2

    kelu124/echomods

    Open source ultrasound processing modules and building blocks

    26 parts463