
PyKey87
jpconstantineau/PyKey60
The PyKey60 is a custom programmable mechanical keyboard with a standard ANSI 60% keyboard layout compatible with any cases made for the GH60. The PyKey60 uses mechanical switches (Cherry MX type).

The PyKey60 is a custom programmable mechanical keyboard with a standard ANSI 60% keyboard layout compatible with any cases made for the GH60. The PyKey60 uses mechanical switches (Cherry MX type).
PyKey18 is an open-source printed circuit board by jpconstantineau, from the jpconstantineau/PyKey60 repository on GitHub. It is a 2-layer board of 81 × 120 mm with 100 parts on 95 nets, routed with 1,001 tracks and 163 vias.
It is built around the RP2040, W25Q128JVSIQ and AMS1117-3.3, with the USBLC6-2SC6 among its other parts. Its parts include 33 capacitors, 21 ICs, 19 diodes, 8 resistors and 5 connectors. It belongs with the RP2040 boards of this library.
The PyKey60 is a custom programmable mechanical keyboard with a standard ANSI 60% keyboard layout compatible with any cases made for the GH60. The PyKey60 uses mechanical switches (Cherry MX type). The keys are hot-swap socketed and have an individual underglow RGB LED which can be turned on. The PCB was designed for use with PCB-mount stabilizers.
Since this is a Hot Swappable Switches keyboard, you can choose the MX switches as well as the keycaps you prefer. You can even mix and match switches for the ultimate customization.
Just like CircuitPython, this keyboard is targeted for beginners. The design keeps the matrix definition simple to 14 columns and 5 rows instead of using a GPIO-optimized matrix of 8 columns and 8 rows. Neopixel order is also in line with key numbers. This keeps the complexity of coding a keyboard firmware to a minimum.
Design of PyKey60 is licensed under CERN Open Hardware Licence Version 2 - Weakly Reciprocal
Author of the Pykey60 is Pierre Constantineau
The VColChoc44 is a custom programmable mechanical keyboard with a 44-keys ergonomic keyboard layout. The VColChoc44 uses low profile mechanical switches (Kailh Choc V1 type). The keys are hot-swap socketed and have an individual underglow RGB LED which can be turned on.
The rows and columns used by VColChoc44 are a subset of PyKey60.
Design of VColChoc44 is licensed under CERN Open Hardware Licence Version 2 - Weakly Reciprocal
Author of the VColChoc44 is Pierre Constantineau
The PyKey87 is a custom programmable mechanical keyboard with a standard ANSI TKL (Ten Key Less) keyboard layout. The PyKey87 uses mechanical switches (Cherry MX type). The keys are hot-swap socketed and have an individual underglow RGB LED which can be turned on. The PCB was designed for use with PCB-mount stabilizers. The case is a simple sandwich case.
The design keeps the matrix definition simple to 17 columns and 6 rows.
The rows and columns used by PyKey87 expanded the PyKey60 configuration to support more rows and columns. The SPI pins were re-used for the additional columns/row.
Design of PyKey87 is licensed under CERN Open Hardware Licence Version 2 - Weakly Reciprocal
Authors of the Pykey87 are Pierre Constantineau and nitronarcosis (https://github.com/nitronarcosis)
The PyKey18 is a custom programmable mechanical keyboard with a standard numpad keyboard layout. The PyKey18 uses mechanical switches (Cherry MX type). The keys are hot-swap socketed and have an individual underglow RGB LED which can be turned on. The PCB was designed for use with PCB-mount stabilizers. The case is a simple sandwich case.
In addition to the standard numpad, it allows for a rotary encoder as well as a 0.91" OLED screen. As such, it can be used similarly to the Adafruit Macropad RP2040 but has more keys.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 27 | 100n | Capacitor_SMD:C_0603_1608Metric | C1, C10, C11, C12, C13, C14, C101, C102, C103, C104, C105, C106, C107, C108, C109, C110 +11 |
| 18 | D | Diode_SMD:D_SOD-123 | D1, D2, D3, D4, D5, D6, D7, D10, D11, D12, D13, D14, D15, D16, D17, D18 +2 |
| 16 | CherryMX_LTST-A683CEGBW | CherryMX_PCB_KailhSocket_LTST-A683CEGBW-Rotated-HS:CherryMX_1.00u_PCB_KailhSocket_LTST-A683CEGBW-Rotated-HS | U1, U2, U3, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15, U16, U18 |
| 4 | MountingHole | MountingHole:MountingHole_2.2mm_M2_DIN965 | H1, H2, H3, H4 |
| 3 | 1k | Resistor_SMD:R_0603_1608Metric | R4, R7, R8 |
| 2 | 1u | Capacitor_SMD:C_0603_1608Metric | C111, C112 |
| 2 | 22 | Resistor_SMD:R_0603_1608Metric | R5, R6 |
| 2 | 22p | Capacitor_SMD:C_0603_1608Metric | C113, C116 |
| 2 | 22u | Capacitor_SMD:C_0603_1608Metric | C114, C115 |
| 2 | 5.1k | Resistor_SMD:R_0603_1608Metric | R1, R2 |
| 2 | PCBA | JLCPCBA:PCBA Hole | H10, H11 |
| 2 | Stabs | CherryMX_StabWireBottom:CherryMX_2.00u_StabWireBottom-nokey | H8, H9 |
| 1 | 12MHz | Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm | Y1 |
| 1 | AMS1117-3.3 | Package_TO_SOT_SMD:SOT-223-3_TabPin2 | U103 |
| 1 | AudioJack4 | Connector_Audio:Jack_3.5mm_PJ320D_Horizontal | J4 |
| 1 | CherryMX_LTST-A683CEGBW | CherryMX_PCB_KailhSocket_StabWireBottom_LTST-A683CEGBW-Rotated-HS:CherryMX_2.00u_PCB_KailhSocket_StabWireBottom_LTST-A683CEGBW-Rotated-HS | U17 |
| 1 | Conn_01x03 | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J2 |
| 1 | Conn_01x04 | Connector_JST:JST_SH_SM04B-SRSS-TB_1x04-1MP_P1.00mm_Horizontal | J3 |
| 1 | Conn_01x04 | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J5 |
| 1 | DNP | Resistor_SMD:R_0603_1608Metric | R3 |
| 1 | Logo | lib:KB_BlueMicro | H7 |
| 1 | RED | LED_SMD:LED_0603_1608Metric | D101 |
| 1 | RP2040 | MCU_RaspberryPi_and_Boards:RP2040-QFN-56 | U101 |
| 1 | Rotary_Encoder_Switch | Rotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm | SW4 |
| 1 | SW_SPDT | Button_Switch_SMD:SW_SPDT_PCM12 | SW2 |
| 1 | SW_SPST | Button_Switch_SMD:Panasonic_EVQPUL_EVQPUC | SW101 |
| 1 | Speaker | Buzzer_Beeper:Buzzer_Mallory_AST1109MLTRQ | LS1 |
| 1 | USBLC6-2SC6 | Package_TO_SOT_SMD:SOT-23-6 | U104 |
| 1 | USB_C_Receptacle_USB2.0 | Connector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12 | J1 |
| 1 | W25Q128JVS | Package_SO:SOIC-8_5.23x5.23mm_P1.27mm | U102 |
It measures 81 × 120 mm and has 2 copper layers, 1.6 mm thick.
100 parts, built around the RP2040, W25Q128JVSIQ, AMS1117-3.3 and USBLC6-2SC6. 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 jpconstantineau/PyKey60 repository on GitHub, at the commit this page was made from: the board is pykey18/PCB/PyKey18/PyKey18.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask jpconstantineau before reusing the design.

jpconstantineau/PyKey60
The PyKey60 is a custom programmable mechanical keyboard with a standard ANSI 60% keyboard layout compatible with any cases made for the GH60. The PyKey60 uses mechanical switches (Cherry MX type).

jpconstantineau/PyKey60
The PyKey60 is a custom programmable mechanical keyboard with a standard ANSI 60% keyboard layout compatible with any cases made for the GH60. The PyKey60 uses mechanical switches (Cherry MX type).

autonomous-ai/autonomous-circuit
Chat with AI, get a verified PCB and a fab packet you can order.

obsilab/Quanta75
Custom 75% keyboard (currently ISO layout only)



ImSeanConroy/custom-rp2040
Complete design files for an RP2040 microcontroller-based board, created using KiCad

minhazislamnafi/KEEBY60-20
A moduler 60% mechanical hot-swapble keyboard. With 20% numpad attachment will form a proper 80% keyboard
