Skip to the content
2 layers58.4 × 38.1 mmNEC PC Engine, the printed circuit board in 3D

NEC PC Engine

tebl/C64-JoyKEY27

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
58.4 × 38.1 mm
Copper layers
2
Thickness
1.6 mm
Parts
26
Nets
21
Pads
82
Tracks, vias
218, 7
Pours
1
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
3 Dec 2020
Updated
14 Jan 2025

Overview

NEC PC Engine is an open-source printed circuit board by tebl, from the tebl/C64-JoyKEY repository on GitHub. It is a 2-layer board of 58.4 × 38.1 mm with 26 parts on 21 nets, routed with 218 tracks and 7 vias.

It is built around the 74HCT157D. Its parts include 14 resistors, 3 connectors, 2 capacitors and 1 IC. It belongs with the retro computing and games and keyboards and input boards of this library.

Main components

1

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

26
QtyValueFootprintReferences
1047kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR1, R2, R3, R4, R5, R6, R7, R8, R9, R10
4330Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR11, R12, R13, R14
4Mountingmounting:M3_pinM1, M2, M3, M4
1100nFCapacitor_THT:C_Disc_D4.7mm_W2.5mm_P5.00mmC1
110uFCapacitor_THT:CP_Radial_D4.0mm_P2.00mmC3
174HCT157Package_DIP:DIP-16_W7.62mm_Socket_LongPadsU1
1LOGOlogo:c64_joykeyG***
1PC EngineNEC PC Engine:NEC_OutputJ3
1Port 1C64 IDC:IDC_JoystickJ1
1Port 2C64 IDC:IDC_JoystickJ2
1VCC_ENConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJP1

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 × 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 layers29.2 × 31.8 mmAtari 7800, the printed circuit board in 3D

    Atari 7800

    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.

    10 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 layers333.4 × 149.9 mmOmega Mainboard, the printed circuit board in 3D

    Omega Mainboard

    skiselev/omega

    Omega Home Computer

    248 parts459GPL-3.0
  • 2 layers297.2 × 180.3 mm8bit computer, the printed circuit board in 3D

    8bit computer

    vascofazza/8bit-cpu

    Schematics & code for my 74LS-based 8-bit MK1 CPU

    377 parts317MIT
  • 2 layers333.4 × 149.9 mmOmega Mainboard, the printed circuit board in 3D

    Omega Mainboard

    merlinkv/Omega_MSX2

    Update of the Omega Home Computer Project

    265 parts40GPL-3.0
  • 2 layers200 × 150 mmMSX ONE, the printed circuit board in 3D

    MSX ONE

    jdgabbard/MSX-ONE-Computer

    MSX 1 Computer from discrete parts

    114 parts28GPL-3.0
  • 2 layers167.8 × 200.6 mmRandom Jazz Generator, the printed circuit board in 3D

    Random Jazz Generator

    telec16/modular-synth

    Little side project, don't expect much updates.

    132 parts16
  • 2 layers90.6 × 77.8 mmEmurom, the printed circuit board in 3D

    Emurom

    jtsiomb/emurom

    ROM emulator. Accepts ROM images through USB and acts as a parallel ROM chip.

    58 parts15CC-BY-SA-4.0
  • 2 layers100 × 85 mmArc module, the printed circuit board in 3D

    Arc module

    andrew-bolin/mosavr

    Modular, Open-Source, Audio (maybe Video later) Receiver

    85 parts6
  • 2 layers252.7 × 106.7 mmPCB - CPU V1, the printed circuit board in 3D

    PCB - CPU V1

    FredericSegard/6309-Unleashed

    Project LogicSpark-09, an old CPU but a favorite

    97 parts3

Questions

How big is the NEC PC Engine PCB?

It measures 58.4 × 38.1 mm and has 2 copper layers, 1.6 mm thick.

What parts does the NEC PC Engine use?

26 parts, built around the 74HCT157D. 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 NEC PC Engine KiCad files?

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

Can I use the NEC PC Engine design in my own project?

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