Skip to the content
PCBKitNew board
2 layers122.5 × 26.3 mmSwitchTester, the printed circuit board in 3D

A 5-key switch PCB and housing to test the feel of different Cherry MX switches. Addressable LEDs have two modes: always on (colored), and fade when pressed.

Size
122.5 × 26.3 mm
Copper layers
2
Thickness
1.6 mm
Parts
20
Nets
21
Pads
78
Tracks, vias
118, 1
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
1 Apr 2026
Updated
27 Apr 2026

Overview

SwitchTester is an open-source printed circuit board by ssaunter, from the ssaunter/SwitchTester repository on GitHub. It is a 2-layer board of 122.5 × 26.3 mm with 20 parts on 21 nets, routed with 118 tracks and 1 via.

It is built around the SK6812MINI-E. Its parts include 6 switches, 5 capacitors, 5 diodes, 1 resistor and 1 IC.

Main components

1

README

README.md

SwitchTester

SwitchTester is a 5-key switch PCB and housing to test the feel of different Cherry MX switches. Addressable LEDs have two modes: always on (colored), and fade when pressed.

Full Cad

The PCB

The PCB follows a similar architecture to the Hackpad, and upgrades with decoupling capacitors and a switch to control LED modes. The code is set up to adjust the LED modes depending on the slide switch mode.

PCB

Schematic

Assembly

The lower and upper case sections are to be 3D printed. The device is assembled using 2x M3x5x5 heatset inserts and 2x M3x10 bolts. The PCB is aligned in the lower case, and the top case encloses it before being bolted down through the standoffs. It should be stable enough, but the USB-C recepticle also nicely rests into the opposite side for added stability. If I find that it is unstable even then, I can add standoffs without holes thoughout the lower case.

Assembly

Firmware

The code was created in the Arduino IDE, and uses the FastLED library for the SMD LEDs. The colors are based on guesses, and I will change the code after testing the values.

The first section of the code is simply setup and definitions. It sets the switches as inputs and assigns the pullup resistors, and also initializes the LED index.

The main loop determines the current LED_MODE, checks for keyswitch presses, and outputs to the LED based on the mode and user interaction. FastLED.show() is used to queue the LED instructions and send data through the LED_DATA line.

BOM

PartQuantityPrice PerLink
Seeduino Xiao1$4.68DigiKey
Slide Switch1$0.65DigiKey
0.1uF C 06035$0.08DigiKey
330ohm R 06031$0.10DigiKey
Neopixel LED 10pcs1$2.95DigiKey
Cherry MX Blue 60g1$0.38MechanicalKeyboards
Cherry MX2A Red1$0.38MechanicalKeyboards
Cherry MX2A Black1$0.38MechanicalKeyboards
Cherry MX2A Brown1$0.38MechanicalKeyboards
Cherry MX Blue 60g1$0.38MechanicalKeyboards
DSA Keycaps5(have)
1x7 Male Headers2(have)
M3x5x5 Heatset Inserts2(have)
M3x10 Bolt2(have)

Totals

ServicePrice
JLCPCB Order$8.52
DigiKey Order$16.92
MechanicalKeyboards Order$12.54
GRAND TOTAL:$37.98

Orders:

jlcpcb digikey mechanicalkeyboards

Parts

20
QtyValueFootprintReferences
50.1 μFCapacitor_SMD:C_0603_1608MetricC1, C2, C3, C4, C5
5SK6812MINI-EMacroFootprints:SK6812MINI-E_fixedD1, D2, D3, D4, D5
5SW_Push_45degButton_Switch_Keyboard:SW_Cherry_MX_1.00u_PCBSW1, SW2, SW3, SW4, SW5
1330Resistor_SMD:R_0603_1608MetricR1
1MOUDLE-SEEEDUINO-XIAOMacroFootprints:XIAO-Generic-Hybrid-14P-2.54-21X17.8MMU1
1SW_Wuerth_450301014042Button_Switch_THT:SW_Slide_SPDT_Angled_CK_OS102011MA1QSW6

The 18 most common of 20 parts.

Questions

How big is the SwitchTester PCB?

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

What parts does the SwitchTester use?

20 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 SwitchTester KiCad files?

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

Can I use the SwitchTester design in my own project?

Its repository states no licence, so its author keeps all rights: ask ssaunter 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