Skip to the content
2 layers29.2 × 31.8 mmAtari 7800, the printed circuit board in 3D

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.

Size
29.2 × 31.8 mm
Copper layers
2
Thickness
1.6 mm
Parts
10
Nets
15
Pads
39
Tracks, vias
143, 16
Pours
1
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
3 Dec 2020
Updated
14 Jan 2025

Overview

Atari 7800 is an open-source printed circuit board by tebl, from the tebl/C64-JoyKEY repository on GitHub. It is a 2-layer board of 29.2 × 31.8 mm with 10 parts on 15 nets, routed with 143 tracks and 16 vias.

Its parts include 4 resistors, 2 transistors and 2 connectors. It belongs with the retro computing and games and keyboards and input boards of this library.

README

README.md

C64 JoyKEY

The C64 JoyKEY was born out of the desire to build my own joystick, and after having a look at the various options available I chose to build one using Cherry MX keyboard switches. They are around a dollar per piece, so after getting it all to work properly on my beloved Commodore 64 I looked into using it with a whole selection of vintage computer systems as well. There are two main versions of the C64 JoyKEY, the keyboard-variant already described and a board designed for use with Sanwa arcade parts instead.

Last build Last arcade

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 systems - the adapters actually follow the original circuit descriptions for controllers used with the actual vintage computers. What that means is that there is truly no chance of lag added by the controller. Ever.

The pictures below show the unit when connected to my Commodore 64, including the jumper settings used with it. As I've tried to keep things as close to the standard usually associated with Atari-style joysticks, there are two joystick connectors - this is because a lot of the Commodore 64 games supported using a second joystick for specific game functions.

Commodore 64 C64 Configuration

As with most C64 games port 2 is the one to use, port 1 is just there to connect additional fire buttons. When in doubt, just connect a cable for port 2 and you should have a good time. This was labelled after the way the controller is used on the Commodore 64.

Getting one

I won't be selling these, so if you want one you will probably have to build it yourself (or call your favourite friend, ideally someone with a reasonable quality soldering iron). I've created a separate documents on building a C64 JoyKEY, this is also where you'll find the BOM for this project (a list of needed parts and links to where PCBs can be ordered).

As with all things you're soldering together by yourself, the one who soldered it takes responsibility for it. I'll try answer any opened tickets as far as I am able, but know that this is a hobby-grade project and I might be busy on spending the little energy I have on other things (be patient, check out the schematic while you wait).

Setting it up

The C64 JoyKEY has a handful of jumpers that need to be set correctly in order to: A - function, B - not destroy your precious vintage computer and/or consoles. The necessary details have been put into a separate configuration-document, check it out for some information on the systems I've attempted to use the C64 JoyKEY with.

Parts

10
QtyValueFootprintReferences
21kResistors_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR2, R4
22N3906TO_SOT_Packages_THT:TO-92_Inline_WideQ1, Q2
2620Resistors_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR1, R3
1Atari 7800RND_DSUB:DSUB-9_Female_EdgeJ2
1FIRE1_SELPin_Headers:Pin_Header_Straight_1x03_Pitch2.54mmJP1
1FIRE2_SELPin_Headers:Pin_Header_Straight_1x03_Pitch2.54mmJP2
1JoyKEYC64 IDC:IDC_JoystickJ1

More from tebl/C64-JoyKEY

12
  • 2 layers99.7 × 74.9 mmC64 Joykey 2040, the printed circuit board in 3D

    C64 Joykey 2040

    tebl/C64-JoyKEY

    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.

    69 parts27
  • 2 layers99.7 × 74.9 mmC64 Joykey, the printed circuit board in 3D

    C64 Joykey

    tebl/C64-JoyKEY

    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.

    62 parts27
  • 2 layers99.7 × 55.2 mmC64 Arcade, the printed circuit board in 3D

    C64 Arcade

    tebl/C64-JoyKEY

    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.

    49 parts27
  • 2 layers58.4 × 38.1 mmAmiga CD32, the printed circuit board in 3D

    Amiga CD32

    tebl/C64-JoyKEY

    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.

    30 parts27
  • 2 layers81.9 × 52.7 mmArcade 2040, the printed circuit board in 3D

    Arcade 2040

    tebl/C64-JoyKEY

    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.

    29 parts27
  • 2 layers58.4 × 38.1 mmNEC PC Engine, the printed circuit board in 3D

    NEC PC Engine

    tebl/C64-JoyKEY

    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.

    26 parts27
  • 2 layers58.4 × 43.8 mmGameport, the printed circuit board in 3D

    Gameport

    tebl/C64-JoyKEY

    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.

    24 parts27
  • 2 layers70.7 × 46.7 mmAdapter 9 from 2040, the printed circuit board in 3D

    Adapter 9 from 2040

    tebl/C64-JoyKEY

    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.

    21 parts27
  • 2 layers58.4 × 38.1 mmSega Mega Drive, the printed circuit board in 3D

    Sega Mega Drive

    tebl/C64-JoyKEY

    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.

    21 parts27
  • 2 layers58.4 × 38.1 mmNES, the printed circuit board in 3D

    NES

    tebl/C64-JoyKEY

    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.

    20 parts27
  • 2 layers10.4 × 55.2 mmC64 SkeletonKey, the printed circuit board in 3D

    C64 SkeletonKey

    tebl/C64-JoyKEY

    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.

    5 parts27
  • 2 layers29.2 × 18.4 mmSega Master System, the printed circuit board in 3D

    Sega Master System

    tebl/C64-JoyKEY

    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.

    4 parts27

Similar boards

  • 2 layers57 × 55.2 mmLogicAnalyzer, the printed circuit board in 3D

    LogicAnalyzer

    gusmanb/logicanalyzer

    24 channel, 100Msps logic analyzer hardware and software

    10 parts5.1kGPL-3.0
  • 2 layers32.2 × 15.4 mmProtector, the printed circuit board in 3D

    Protector

    byrantech/laptop

    anyon_e, a highly integrated, high end, open source laptop. Attempt the impossible.

    10 parts4.3kMIT
  • 2 layers26 × 18 mmConn, the printed circuit board in 3D

    Conn

    yaqwsx/KiKit

    Automation tools for KiCAD

    10 parts2.1kMIT
  • 2 layers44.3 × 30.5 mmLime2-SATA RevA, the printed circuit board in 3D

    Lime2-SATA RevA

    OLIMEX/OLINUXINO

    OLINUXINO is Open Source / Open Hardware, low cost from EUR 24 Linux Industrial grade Single Board Computer capable to operate -25+85C

    10 parts1.5k
  • 2 layers17.8 × 43.2 mmNano Adapter, the printed circuit board in 3D

    Nano Adapter

    VoronDesign/Voron-Hardware

    Cool Hardware designed by the Voron Design group

    10 parts1.1kGPL-3.0
  • 2 layers53.9 × 23.2 mmBuffer, the printed circuit board in 3D

    Buffer

    hoglet67/RGBtoHDMI

    Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI

    10 parts1kGPL-3.0

Questions

How big is the Atari 7800 PCB?

It measures 29.2 × 31.8 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Atari 7800 use?

10 parts. 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 Atari 7800 KiCad files?

From the tebl/C64-JoyKEY repository on GitHub, at the commit this page was made from: the board is adapters/Atari 7800/Atari 7800.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Atari 7800 design in my own project?

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