
PSLab
fossasia/pslab-hardware
PSLab Hardware Design and Schematics https://pslab.io

SQUISH PAD: A fully 3D-printable, true gasket-mounted 4x4 macropad engineered for a premium, ultra-smooth typing experience.
Custom Macropad is an open-source printed circuit board by Clustel, from the Clustel/Macropad repository on GitHub. It is a 2-layer board of 79.4 × 79.4 mm with 49 parts on 46 nets, routed with 411 tracks and 98 vias.
It is built around the WS2812B. Its parts include 32 diodes, 16 switches and 1 IC. It belongs with the keyboards and input boards of this library.
A fully 3D-printable, true gasket-mounted 4x4 macropad engineered for a premium, ultra-smooth typing experience.
16-Key Matrix + Rotary Encoder
Engineered Leaf-Spring Plate providing a bouncy, trampoline-like typing fee
Utilizes 3D-printed "slip-on" gasket socks to sandwich the plate tabs, completely isolating the plate and PCB from the outer case.
Acoustic PCB Cushion1x unsoldered Seeed XIAO RP2040
16x through-hole 1N4148 Diodes
15x MX-Style switches
1x EC11 Rotary encoders
15x white blank DSA keycaps
16x SK6812 MINI-E LEDs
4x M3x16mm screws
4x M3x5mx4mm heatset inserts
1x Printed PCB
1x Case (All parts, guide below)If you dont have TPU: Print the gaskets with PLA/PETG and don't print the cushion. The macropad will still be slightly flexible
| Part | Material | Key Settings |
|---|---|---|
| Top & Bottom Case | PLA-CF / PLA | Wall Loops: 5 | Infill: 25% Gyroid | Layer: 0.16mm |
| Leaf-Spring Plate | PETG | Wall Loops: 4 | Layer: 0.15mm | Top/Bottom Layers: 5 |
| Gaskets (x4) | 95A TPU | Walls: 2 | Top/Bottom: 0 | Infill: 12% Gyroid | Speed: 3.5mm³/s |
| Cushion | 95A TPU | Walls: 1 | Top/Bottom: 0 | Infill: 6% Gyroid | Speed: 3.5mm³/s |
Note: For the TPU parts, setting Top and Bottom layers to 0 is critical, this exposes the Gyroid infill to create the "squish" effect.
Ensure all 3D-printed parts are cleaned of support material before starting.
Bottom Case
![]()
Add Cushion (if using TPU)
![]()
Assemble PCB (might be easier to add keycaps in the next step)
![]()
Add Plate
![]()
Put assembly on top of cushion
![]()
Put Gaskets on all four sides of plate
![]()
Add top (put heat inserts in the 4 holes)
![]()
Use the screws to attach it together
![]()
Done!
![]()
| Qty | Value | Footprint | References |
|---|---|---|---|
| 16 | 1N4148 | Diode_THT:D_DO-35_SOD27_P7.62mm_Horizontal | D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16 |
| 16 | WS2812B | footprints:SK6812MINI-E_fixed | D17, D18, D19, D20, D21, D22, D23, D24, D25, D26, D27, D28, D29, D30, D31, D32 |
| 15 | SW_Push | Button_Switch_Keyboard:SW_Cherry_MX_1.00u_PCB | SW1, SW2, SW3, SW5, SW6, SW7, SW8, SW9, SW10, SW11, SW12, SW13, SW14, SW15, SW16 |
| 1 | MOUDLE-SEEEDUINO-XIAO | footprints:XIAO-Generic-Hybrid-14P-2.54-21X17.8MM | U1 |
| 1 | RotaryEncoder_Switch | Rotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm | SW4 |
It measures 79.4 × 79.4 mm and has 2 copper layers, 1.6 mm thick.
49 parts, built around the WS2812B. 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.
From the Clustel/Macropad repository on GitHub, at the commit this page was made from: the board is PCB/Custom Macropad.kicad_pcb and its schematic PCB/Custom Macropad.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask Clustel before reusing the design.

fossasia/pslab-hardware
PSLab Hardware Design and Schematics https://pslab.io

FrameworkComputer/ExpansionCards
Reference designs and documentation to create Expansion Cards for the Framework Laptop



PrintersForAnts/Micron
If you want to purchase full kits there are 3 available (Kits are slowly updating to R1 hardware just make sure to double check the included hardware in your kit and if you have any questions reach out in the discord)


