C64 Arcade
tebl·C64-JoyKEY·C64 Arcade/C64 Arcade.kicad_pcb
About the C64 Arcade PCB
C64 Arcade is an open source AVR/Arduino PCB design by tebl, published on GitHub under the CERN-OHL-1.2 license. It is a 2-layer board measuring 99.7 × 55.2 mm, with 49 components from 34 distinct parts.
Its main chip is the Arduino_Pro_Micro, from the AVR/Arduino family. By type, the board carries 16 connectors, 15 resistors, 8 jumpers, 5 modules, 4 diodes and 1 switch.
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 Arcade
C64 Arcade bill of materials (BOM)
49 components, 34 distinct parts — part numbers from the project's BOM.
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | Arduino_Pro_Micro | Arduino_Pro_Micro | A1 |
| 4 | Mounting | M3_pin | M1, M2, M3, M4 |
| 1 | Port_1 | IDC_Joystick | J1 |
| 1 | Port_2 | IDC_Joystick | J2 |
| 1 | DIR_RIGHT | JST_XH_B5B-XH-A_1x05_P2.50mm_Vertical | J3 |
| 1 | UP | JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | J4 |
| 1 | RIGHT | JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | J5 |
| 1 | DOWN | JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | J6 |
| 1 | LEFT | JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | J7 |
| 1 | P2_FIRE1 | JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | J8 |
| 1 | P2_FIRE2 | JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | J9 |
| 1 | P2_FIRE3 | JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | J10 |
| 1 | P1_FIRE1 | JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | J11 |
| 1 | P1_FIRE2 | JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | J12 |
| 1 | P1_FIRE3 | JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | J13 |
| 1 | EXT_PWR | JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | J14 |
| 1 | DIR_LEFT | JST_XH_B5B-XH-A_1x05_P2.50mm_Vertical | J15 |
| 1 | P1_FIRE4 | JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | J16 |
| 1 | F2_POL | PinHeader_1x03_P2.54mm_Horizontal | JP1 |
| 1 | F3_POL | PinHeader_1x03_P2.54mm_Horizontal | JP2 |
Show 14 more
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | FIRE3_SEL | PinHeader_1x03_P2.54mm_Horizontal | JP3 |
| 2 | DEFAULT_FW | PinHeader_1x02_P2.54mm_Vertical | JP4, JP6 |
| 1 | VCC_EN | PinHeader_1x02_P2.54mm_Vertical | JP5 |
| 1 | UP_EN | PinHeader_1x02_P2.54mm_Vertical | JP8 |
| 1 | ARD_EN | PinHeader_1x02_P2.54mm_Vertical | JP9 |
| 1 | RESET | SW_PUSH_6mm | SW8 |
| 1 | PWR | JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | D1 |
| 1 | 1N5819 SYS | JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | D2 |
| 1 | 1n4001 | D_DO-41_SOD81_P10.16mm_Horizontal | D3 |
| 1 | 1n4148 | D_DO-35_SOD27_P7.62mm_Horizontal | D4 |
| 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 |
| 2 | 330 | R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R3, R4 |
| 11 | 10k | R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R5, R6, R9, R14, R15, R16, R17, R18 +3 |
C64 Arcade 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 Arcade: common questions
What microcontroller does the C64 Arcade use?
The C64 Arcade is built around the Arduino_Pro_Micro, from the AVR/Arduino family.
How big is the C64 Arcade PCB?
The C64 Arcade measures 99.7 × 55.2 mm, has 2 copper layers and is 1.6 mm thick.
How many components are on the C64 Arcade?
49 components, from 34 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 Arcade design files?
From the tebl/C64-JoyKEY repository on GitHub, which has the KiCad layout and the BOM; the links under Design files point to each one.
Can I use the C64 Arcade 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 Arcade without the hardware?
Yes. HardLabs builds a simulation of the board from its netlist and BOM, so you can run and debug AVR/Arduino firmware against it before you order a PCB.
More boards in C64-JoyKEY
RP2040/RP2350
C64 Joykey 2040
tebl
99.7 × 74.9 mm64 parts2LCERN-OHL-1.227AVR/Arduino
C64 Joykey
tebl
99.7 × 74.9 mm61 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
AVR/Arduino
Magspoof
samyk
35 × 29 mm11 parts2LNo license4.2kAVR/Arduino
Redox keyboard
mattdibi
162.2 × 126.5 mm77 parts2LMIT2.0kAVR/Arduino
Labrador
espotek-org
36.8 × 34.7 mm75 parts2LNo license1.2kAVR/Arduino
ModuleV450
stuartpittaway
30 × 61.4 mm39 parts2LCC-BY-NC-4.01.1kAVR/Arduino
V4
stuartpittaway
30 × 50 mm38 parts2LCC-BY-NC-4.01.1kAVR/Arduino
Discipline
coseyfannitutti
304.9 × 122.8 mm170 parts2LCC-BY-NC-4.01.0k