C64 Joykey 2040
tebl·C64-JoyKEY·C64 Joykey 2040/C64 Joykey 2040.kicad_pcb
About the C64 Joykey 2040 PCB
C64 Joykey 2040 is an open source RP2040/RP2350 PCB design by tebl, published on GitHub under the CERN-OHL-1.2 license. It is a 2-layer board measuring 99.7 × 74.9 mm, with 64 components from 32 distinct parts.
Its main chip is the RP2040-Zero, from the RP2040/RP2350 family. By type, the board carries 26 diodes, 14 resistors, 13 switches, 4 modules, 3 connectors and 2 jumpers.
It belongs with the retro computing, keyboards and test & measurement designs in this gallery.
From the project
WASD-style joystick for vintage computers. With an added Arduino Pro Micro you can use it as a USB-keyboard, so if you wanted a DIY streamdeck or Macro-keyboard - then the C64 JoyKEY can do that as well.
With options to handle multiple types of systems comes complexity, you'll have to make a few decisions on what you want out of the C64 JoyKEY. Do I only want to use it as a joystick replacement on vintage systems, ideally with 2-3 fire buttons where supported? If so, then you won't need the Arduino Pro Micro.
Want to use it on a modern system as a WASD-style keyboard or a gamepad, then install it - a common use of these types of devices is as a macro-keyboard or a stream-deck. Note that compared to many similar solutions, the microcontroller is not required for use with any of the vintage…

Main components on the C64 Joykey 2040
C64 Joykey 2040 bill of materials (BOM)
64 components, 32 distinct parts — part numbers from the project's BOM.
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | RP2040-Zero | RP2040-Zero-THT | U1 |
| 4 | Mounting | M3_pin | M1, M2, M3, M4 |
| 1 | 2N3904 | TO-92_Inline_Wide | Q1 |
| 1 | Port_1 | IDC_Joystick | J1 |
| 1 | Port_2 | IDC_Joystick | J2 |
| 1 | Expansion | JST_XH_B4B-XH-A_1x04_P2.50mm_Right_Angle | J4 |
| 1 | KEY_LED | PinHeader_1x02_P2.54mm_Horizontal | JP7 |
| 1 | VCC_EN | PinHeader_1x02_P2.54mm_Vertical | JP8 |
| 1 | UP | SW_Cherry_MX_1.00u_PCB | SW1 |
| 1 | DOWN | SW_Cherry_MX_1.00u_PCB | SW2 |
| 1 | LEFT | SW_Cherry_MX_1.00u_PCB | SW3 |
| 1 | RIGHT | SW_Cherry_MX_1.00u_PCB | SW4 |
| 1 | P1_FIRE4 | SW_Tactile_SPST_Angled_PTS645Vx31-2LFS | SW5 |
| 1 | P2_FIRE1 | SW_Cherry_MX_1.00u_PCB | SW6 |
| 1 | P1_FIRE1 | SW_Tactile_SPST_Angled_PTS645Vx31-2LFS | SW7 |
| 1 | P1_FIRE3 | SW_Tactile_SPST_Angled_PTS645Vx31-2LFS | SW8 |
| 1 | P2_FIRE2 | SW_Cherry_MX_1.00u_PCB | SW9 |
| 1 | P1_FIRE2 | SW_Tactile_SPST_Angled_PTS645Vx31-2LFS | SW10 |
| 1 | P2_FIRE3 | SW_Cherry_MX_1.00u_PCB | SW11 |
| 1 | P1_FIRE5 | SW_Tactile_SPST_Angled_PTS645Vx31-2LFS | SW12 |
Show 12 more
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | P1_FIRE6 | SW_Tactile_SPST_Angled_PTS645Vx31-2LFS | SW13 |
| 1 | PWR | LED_D5.0mm | D1 |
| 1 | 1N5819 POL | LED_D5.0mm | D2 |
| 2 | 1n5819 | D_DO-41_SOD81_P10.16mm_Horizontal | D3, D26 |
| 15 | 1N4148 | D_DO-35_SOD27_P7.62mm_Horizontal | D4, D12, D13, D14, D15, D16, D17, D18 +7 |
| 7 | LED | LED_Rectangular_W3.0mm_H2.0mm | D5, D6, D7, D8, D9, D10, D11 |
| 1 | 270 | R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R1 |
| 1 | 470 270 | R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R2 |
| 9 | 330 | R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R3, R5, R6, R7, R8, R9, R10, R11 +1 |
| 1 | 100 | R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R4 |
| 1 | 220 | R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R13 |
| 1 | 680 | R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R14 |
C64 Joykey 2040 design files
The KiCad project lives in the tebl/C64-JoyKEY repository on GitHub; these links point at the commit this page was built from.
C64 Joykey 2040: common questions
What microcontroller does the C64 Joykey 2040 use?
The C64 Joykey 2040 is built around the RP2040-Zero, from the RP2040/RP2350 family.
How big is the C64 Joykey 2040 PCB?
The C64 Joykey 2040 measures 99.7 × 74.9 mm, has 2 copper layers and is 1.6 mm thick.
How many components are on the C64 Joykey 2040?
64 components, from 32 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 C64 Joykey 2040 design files?
From the tebl/C64-JoyKEY 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 C64 Joykey 2040 design in my own project?
Yes, under the terms of its CERN-OHL-1.2 license, which tebl chose for the repository.
Can I test firmware for the C64 Joykey 2040 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.
More boards in C64-JoyKEY
AVR/Arduino
C64 Joykey
tebl
99.7 × 74.9 mm61 parts2LCERN-OHL-1.227AVR/Arduino
C64 Arcade
tebl
99.7 × 55.2 mm49 parts2LCERN-OHL-1.227Amiga CD32
tebl
58.4 × 38.1 mm29 parts2LCERN-OHL-1.227RP2040/RP2350
Arcade 2040
tebl
81.9 × 52.7 mm27 parts2LCERN-OHL-1.227NEC PC Engine
tebl
58.4 × 38.1 mm25 parts2LCERN-OHL-1.227Gameport
tebl
58.4 × 43.8 mm22 parts2LCERN-OHL-1.227RP2040/RP2350
Adapter 9 from 2040
tebl
70.7 × 46.7 mm16 parts2LCERN-OHL-1.227C64 SkeletonKey
tebl
10.4 × 55.3 mm5 parts2LCERN-OHL-1.227Adapter 9 FaceplateB
tebl
70.7 × 46.7 mm4 parts2LCERN-OHL-1.227C64 Joykey Faceplate X1
tebl
99.7 × 74.9 mm4 parts2LCERN-OHL-1.227C64 Joykey Faceplate A1
tebl
99.7 × 74.9 mm4 parts2LCERN-OHL-1.227
Similar boards
RP2040/RP2350
Open Book Abridged Edition
joeycastillo
85 × 115 mm29 parts2LCC-BY-SA-4.08.1kRP2040/RP2350
Corne
foostan
277.2 × 107.5 mm164 parts2LCC-BY-4.07.7kRP2040/RP2350
Corne
foostan
277.2 × 107.5 mm164 parts2LCC-BY-4.07.7kRP2040/RP2350
Jitx design
gusmanb
55.5 × 65 mm26 parts4LGPL-3.05.0kRP2040/RP2350
LogicAnalyzer
gusmanb
57 × 55.2 mm6 parts2LGPL-3.05.0kRP2040/RP2350
Main
google
98 × 71 mm102 parts2LApache-2.02.9k