Key ripper

bschwind·key-ripper·pcb/key-ripper.kicad_pcb

Key ripper PCB layout, top view — open source RP2040/RP2350 board by bschwind
Simulate this board

About the Key ripper PCB

Key ripper is an open source RP2040/RP2350 PCB design by bschwind, published on GitHub under the Apache-2.0 license. It is a 2-layer board measuring 285.8 × 116.7 mm, with 211 components from 114 distinct parts.

Its main chip is the RP2040, from the RP2040/RP2350 family. Other key parts include the TYPE-C-31-M-12, XC6206PXXXMR, W25Q128JVS, C318884 and PJ-320A. By type, the board carries 78 diodes, 75 switches, 20 capacitors, 9 resistors, 8 ICs and 1 crystal.

It belongs with the keyboards designs in this gallery.

From the project

A keyboard personalized for myself, designed in KiCad, with custom firmware and a case, both written in Rust. Can sit on top of a macbook keyboard.

The RP2040 samples the QSPISS line on boot. If this line is low, it will boot into its USB bootloader mode (i.e. enumerate as a mass storage device so you can upload new firmware). If this line is high on boot, it will start reading program instructions from the quad-SPI flash chip.

Just some measurements I've written down for my own designs are: standard MX cutout - 14×14mm distance between switches (center to center) - 19.05mm (both vertically and horizontally) distance between caps - 0.95mm distance between cap and case side - 0.475mm

Main components on the Key ripper

Key ripper bill of materials (BOM)

211 components, 114 distinct parts — part numbers from the project's BOM.

QtyPartRefs
1
RP2040
U1
1
TYPE-C-31-M-12
U2
1
XC6206PXXXMR
XC6206PxxxMR
U3
1
W25Q128JVS
W25Q16JVUXIQ
U4
1
C318884
USB Boot
U5
1
C318884
Reset
U6
1
PJ-320A
U7
1
USBLC6-2SC6
U8
1
C9002
12MHz - 20pF
Y1
1
TLC_PSMD050
F1
1
L_SHIFT_STABILIZER
H1
1
SPACE_STABILIZER
H2
1
ENTER_STABILIZER
H3
1
BACKSPACE_STABILIZER
H4
1
Upper Left
H5
1
Bottom Left
H6
1
Upper Right
H7
1
Bottom Right
H8
1
Upper Left
H9
1
Upper Right
H10
Show 94 more
QtyPartRefs
1
Bottom Left
H11
1
Bottom Right
H12
6
Edge M2 Spacer PassThrough
H13, H14, H15, H16, H17, H18
1
C2803348
ESC
SW1
1
C2803348
F1
SW2
1
C2803348
F2
SW3
1
C2803348
F3
SW4
1
C2803348
F4
SW5
1
C2803348
F5
SW6
1
C2803348
F6
SW7
1
C2803348
F7
SW8
1
C2803348
F8
SW9
1
C2803348
F9
SW10
1
F10
SW11
1
F11
SW12
1
F12
SW13
1
C2803348
TILDE
SW14
1
1
SW15
1
2
SW16
1
3
SW17
1
4
SW18
1
5
SW19
1
6
SW20
1
7
SW21
1
8
SW22
1
9
SW23
1
0
SW24
1
C2803348
-
SW25
1
C2803348
=
SW26
1
C2803348
BACKSPACE
SW27
1
C2803348
TAB
SW28
1
C2803348
Q
SW29
1
C2803348
W
SW30
1
C2803348
E
SW31
1
C2803348
R
SW32
1
C2803348
T
SW33
1
C2803348
Y
SW34
1
C2803348
U
SW35
1
C2803348
I
SW36
1
C2803348
O
SW37
1
C2803348
P
SW38
1
C2803348
[
SW39
1
C2803348
]
SW40
1
C2803348
\
SW41
1
C2803348
CAPS
SW42
1
C2803348
A
SW43
1
C2803348
S
SW44
1
C2803348
D
SW45
1
C2803348
F
SW46
1
C2803348
G
SW47
1
C2803348
H
SW48
1
C2803348
J
SW49
1
C2803348
K
SW50
1
C2803348
L
SW51
1
C2803348
;
SW52
1
C2803348
'
SW53
1
C2803348
ENTER
SW54
1
C2803348
L_SHIFT
SW55
1
C2803348
Z
SW56
1
C2803348
X
SW57
1
C2803348
C
SW58
1
C2803348
V
SW59
1
C2803348
B
SW60
1
C2803348
N
SW61
1
C2803348
M
SW62
1
C2803348
,
SW63
1
C2803348
.
SW64
1
C2803348
/
SW65
1
C2803348
UP
SW66
1
C2803348
FN
SW67
1
C2803348
BL_CTRL
SW68
1
C2803348
L_ALT
SW69
1
C2803348
L_CMD
SW70
1
C2803348
SPACE
SW71
1
C2803348
R_CMD
SW72
1
C2803348
LEFT
SW73
1
C2803348
DOWN
SW74
1
C2803348
RIGHT
SW75
75
C81598
D_Small
D1, D2, D3, D4, D5, D6, D7, D8 +67
1
C8598
5819W
D76
1
C2297
Power LED (Blue)
D77
1
5819W
D78
1
C1015
100@100MHz
FB1
2
1UF
2.2uF
C1, C2
3
100nF
C3, C18, C20
2
1UF
1uF
C4, C5
2
30PF
30pF
C6, C7
10
100NF
100nF
C8, C9, C10, C11, C12, C13, C14, C15 +2
1
2.2uF
C19
2
C25190
27 ohm
R1, R2
2
C11702
1k ohm
R3, R5
2
C25744
10k ohm
R4, R8
2
5.1K
5.1k
R6, R7
1
C25867
1k ohm
R9

Key ripper design files

The KiCad project lives in the bschwind/key-ripper repository on GitHub; these links point at the commit this page was built from.

Key ripper: common questions

What microcontroller does the Key ripper use?

The Key ripper is built around the RP2040, from the RP2040/RP2350 family.

How big is the Key ripper PCB?

The Key ripper measures 285.8 × 116.7 mm, has 2 copper layers and is 1.6 mm thick.

How many components are on the Key ripper?

211 components, from 114 distinct parts, with part numbers taken from the project's own BOM. The full bill of materials is listed on this page.

Where can I download the Key ripper design files?

From the bschwind/key-ripper repository on GitHub, which has the KiCad layout, the schematic and the BOM; the links under Design files point to each one.

Can I use the Key ripper design in my own project?

Yes, under the terms of its Apache-2.0 license, which bschwind chose for the repository.

Can I test firmware for the Key ripper without the hardware?

Yes. HardLabs builds a simulation of the board from its netlist and BOM, so you can run and debug RP2040/RP2350 firmware against it before you order a PCB.

Similar boards