Skip to the content
PCBKitNew board
2 layers285 × 95 mmPyKey60, the printed circuit board in 3D

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).

Size
285 × 95 mm
Copper layers
2
Thickness
1.6 mm
Parts
227
Nets
176
Pads
1,131
Tracks, vias
2,337, 353
Pours
7
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
1 Sep 2021
Updated
25 Apr 2023

Overview

PyKey60 is an open-source printed circuit board by jpconstantineau, from the jpconstantineau/PyKey60 repository on GitHub. It is a 2-layer board of 285 × 95 mm with 227 parts on 176 nets, routed with 2,337 tracks and 353 vias.

It is built around the RP2040, W25Q128JVSIQ and AMS1117-3.3, with the USBLC6-2SC6 among its other parts. Its parts include 77 capacitors, 65 ICs, 62 diodes, 8 resistors and 4 connectors. It belongs with the RP2040 boards of this library.

Main components

4

README

README.md

PyKey60 - Keyboard Hardware supported by the PyKey60 CircuitPython Download

PyKey60: 60% Keyboard

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 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.

KMK Firmware

Design of PyKey60 is licensed under CERN Open Hardware Licence Version 2 - Weakly Reciprocal

Author of the Pykey60 is Pierre Constantineau

VColChoc44 (Atreus44)

VColChoc44

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

PyKey87: TKL (Ten Key Less) Keyboard

PyKey87

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)

PyKey18: Numpad

PyKey18 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.

Guidelines for adding new boards to PyKey60 repository

  • Schematic must be compatible with the original Pykey60. This means the following:
    • GPIO for Rows and Columns must remain the same
    • GPIO for RGB LEDs, Red LED and Speaker must remain the same
    • Flash chip must remain the same: W25Q128JVS
    • Schematic title block updated with correct information
      • Author(s)
      • Date
  • Schematic is provided as a pdf file
  • PCB Design has updated author(s) and date.
  • PCB Design keeps the license label.
  • Images provided in the image folder
  • Both PCB-Design and PCB-Gerbers are provided.
  • A readme is included
  • CircuitPython must be able to run with the Original PyKey60 CircuitPython Download/UF2 or the Pykey87 for larger keyboards.
  • A summary description is provided in the repository readme

Parts

227
QtyValueFootprintReferences
71100nCapacitor_SMD:C_0603_1608MetricC1, C2, C14, C17, C18, C19, C20, C21, C22, C23, C24, C25, C26, C27, C28, C29 +55
61DDiode_SMD:D_SOD-123D1, D2, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23 +45
46CherryMX_LTST-A683CEGBWCherryMX_PCB_KailhSocket_LTST-A683CEGBW-Rotated-HS:CherryMX_1.00u_PCB_KailhSocket_LTST-A683CEGBW-Rotated-HSU1, U2, U10, U11, U12, U13, U16, U17, U18, U19, U20, U21, U22, U23, U24, U25 +30
7CherryMX_LTST-A683CEGBWCherryMX_PCB_KailhSocket_LTST-A683CEGBW-Rotated-HS:CherryMX_1.25u_PCB_KailhSocket_LTST-A683CEGBW-Rotated-HSU54, U55, U56, U58, U59, U60, U61
31kResistor_SMD:R_0603_1608MetricR5, R7, R8
3MountingHolelib.pretty:PKRHH2, H4, H6
21uCapacitor_SMD:C_0603_1608MetricC10, C11
222Resistor_SMD:R_0603_1608MetricR3, R4
222pCapacitor_SMD:C_0603_1608MetricC12, C13
222uCapacitor_SMD:C_0603_1608MetricC15, C16
25.1kResistor_SMD:R_0603_1608MetricR1, R2
2CherryMX_LTST-A683CEGBWCherryMX_PCB_KailhSocket_StabWireBottom_LTST-A683CEGBW-Rotated-HS:CherryMX_2.25u_PCB_KailhSocket_StabWireBottom_LTST-A683CEGBW-Rotated-HSU41, U42
2CherryMX_LTST-A683CEGBWCherryMX_PCB_KailhSocket_LTST-A683CEGBW-Rotated-HS:CherryMX_1.50u_PCB_KailhSocket_LTST-A683CEGBW-Rotated-HSU15, U28
2MountingHolelib.pretty:PKRHSLH3, H5
112MHzCrystal:Crystal_SMD_3225-4Pin_3.2x2.5mmY1
1AMS1117-3.3Package_TO_SOT_SMD:SOT-223-3_TabPin2U65
1CherryMX_LTST-A683CEGBWCherryMX_PCB_KailhSocket_StabWireTop_LTST-A683CEGBW-Rotated-HS:CherryMX_2.00u_PCB_KailhSocket_StabWireTop_LTST-A683CEGBW-Rotated-HSU14
1CherryMX_LTST-A683CEGBWCherryMX_PCB_KailhSocket_StabWireBottom_LTST-A683CEGBW-Rotated-HS:CherryMX_6.25u_PCB_KailhSocket_StabWireBottom_LTST-A683CEGBW-Rotated-HSU57
1CherryMX_LTST-A683CEGBWCherryMX_PCB_KailhSocket_StabWireBottom_LTST-A683CEGBW-Rotated-HS:CherryMX_2.75u_PCB_KailhSocket_StabWireBottom_LTST-A683CEGBW-Rotated-HSU53
1CherryMX_LTST-A683CEGBWCherryMX_PCB_KailhSocket_LTST-A683CEGBW-Rotated-HS:CherryMX_1.75u_PCB_KailhSocket_LTST-A683CEGBW-Rotated-HSU29
1Conn_01x03Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ2
1Conn_01x04Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ3
1Conn_01x06Connector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_VerticalJ4
1DNPResistor_SMD:R_0603_1608MetricR6
1MountingHolelib.pretty:KB_BlueMicroH7
1MountingHolelib.pretty:PKRHCH1
1REDLED_SMD:LED_0603_1608MetricD62
1RP2040RP2040_minimal:RP2040-QFN-56U62
1SW_SPDTButton_Switch_SMD:SW_SPDT_PCM12SW2
1SW_SPSTButton_Switch_SMD:SW_Push_SPST_NO_Alps_SKRKSW1
1SpeakerBuzzer_Beeper:Buzzer_Mallory_AST1109MLTRQLS1
1USBLC6-2SC6Package_TO_SOT_SMD:SOT-23-6U63
1USB_C_Receptacle_USB2.0Connector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12J1
1W25Q128JVSPackage_SO:SOIC-8_5.23x5.23mm_P1.27mmU64

Questions

How big is the PyKey60 PCB?

It measures 285 × 95 mm and has 2 copper layers, 1.6 mm thick.

What parts does the PyKey60 use?

227 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.

Where can I download the PyKey60 KiCad files?

From the jpconstantineau/PyKey60 repository on GitHub, at the commit this page was made from: the board is pykey60/PCB-design/PyKey60.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the PyKey60 design in my own project?

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

More from jpconstantineau/PyKey60

2
  • 2 layers352.5 × 120 mmPyKey87, the printed circuit board in 3D

    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).

    310 parts57
  • 2 layers81 × 120 mmPyKey18, the printed circuit board in 3D

    PyKey18

    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).

    100 parts57

Similar boards

  • 2 layers323.9 × 95.3 mmLexicon 69, the printed circuit board in 3D

    Lexicon 69

    nekoewen/lexicon

    The Lexicon 65% writing keyboard

    182 parts4
  • 4 layers99.5 × 65 mmEcho, the printed circuit board in 3D

    Echo

    rh1tech/echo

    Echo: ESP32-Based VGA Board

    181 parts4
  • 4 layers53.3 × 85.1 mmHUB75-FPGA Card, the printed circuit board in 3D

    HUB75-FPGA Card

    will-hut/Prototypical

    A USB FPGA-based Hub75 LED matrix driver

    132 parts2
  • 2 layers21.4 × 48.1 mmCustom rp2040, the printed circuit board in 3D

    Custom rp2040

    ImSeanConroy/custom-rp2040

    Complete design files for an RP2040 microcontroller-based board, created using KiCad

    37 parts1MIT
  • 2 layers290.5 × 116.7 mmKeeby60v2, the printed circuit board in 3D

    Keeby60v2

    minhazislamnafi/KEEBY60-20

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

    237 partsCERN-OHL-S-2.0