Skip to the content
PCBKitNew board
4 layers93 × 90.7 mmRetroPad, the printed circuit board in 3D

A gamepad designed for retrogaming on '80s computers

Size
93 × 90.7 mm
Copper layers
4
Thickness
1.6 mm
Parts
27
Nets
29
Pads
84
Tracks, vias
148, 22
Pours
4
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
19 Apr 2019
Updated
7 Apr 2020

Overview

RetroPad is an open-source printed circuit board by jtgans, from the jtgans/RetroPad repository on GitHub, published under the GPL-2.0 licence. It is a 4-layer board of 93 × 90.7 mm with 27 parts on 29 nets, routed with 148 tracks and 22 vias.

It is built around the ATTINY814-SSN. Its parts include 11 resistors, 2 connectors, 1 capacitor, 1 IC and 1 diode. It belongs with the retro computing and games and keyboards and input boards and the AVR (ATmega, ATtiny) boards of this library.

Main components

1

README

README.md

RetroPad v2.0

RetroPad Mechanical Model

What is this?

This is an open source Commodore compatible gamepad similar in design to a Genesis or NES gamepad, but designed specifically for the Commodore and Atari 8-bit machines prior to the Amigas.

This project is part of the Nybbles and Bytes Commodore 128D programming series.

Why make this?

The author needed a joystick for her YouTube project, Nybbles and Bytes and felt that joysticks were too imprecise, troublesome, and wanted something more accessible. Gamepads fit the bill, but Master System and Genesis controllers used the wrong electricals and could cause damage to her systems.

Which computers is this compatible with?

The author has tested the initial prototype with a Commodore 128D, but electrically RetroPad should be compatible with any machines that support floating logic level inputs that are expected to be shorted to ground when the switches are closed (open-drain configuration, similar to I2C). This basically means it should theoretically work on the following machines:

  • Commodore VIC-20
  • Commodore 64
  • Commodore 128, 128D, 128DCR, etc.
  • Atari 2600, 7800, etc.
  • Atari ST*

How was this made?

The schematics were put together using KiCad 5.0 on a Mac. This should be cross-compatible with any other platform KiCad 5.0 runs on. The author used the DigiKey KiCad Libraries to simplify footprint and symbol selection, so you'll want to download those and set them up globally. They were not included in this project repository as project-specific since that would effectively constitute a fork or redistribution which would then require their licensing. Plus, the project wouldn't get any updated footprints.

The STL files and models of the casing were designed publicly using the parametric modelling tool, OnShape. FreeCAD was originally considered, but unfortunately it's been too unstable for the author to use thus far.

You can get to the RetroPad Shell project in OnShape here.

Search for "RetroPad" in the public models archive and you can get the source models straight from there. For folks preferring to use a different modelling program, the STL files are also available with the schematics in this repository under the case/ directory.

The "RetroPad.step" file is actually just the 3D rendering of the PCBA.

Where is the BOM?

The BOM is very very simple at the moment, basically only using Omron B3F-1000 tactile switches straight from Digikey. Any 8mm pitch tactile switch with a similar profile to the B3F-1000 should work.

The connection to the computer is made using a 9-pin D-Sub connector. Any straight-through female to female 9-pin serial cable should work, supposing the housing allows for it.

Assembly is super easy since it's all through hole parts and two very large 0608 SMD resistors.

The generated BOM is available in the CSV file in this repository, but an actual BOM ordered by the author is available in the digikey.csv file.

How should I fab the PCB?

The author prefers to use OSHPark as the PCB fab house of choice, though with some finagling you could easily adapt to other providers such as PCBWay or others.

The original PCB is available on oshpark here.

How should I fab the case?

The author used her Prusa i3 Mk3s FDM 3D printer with a 0.2mm layer height and no support to print out the case. The model requires a high degree of precision in the printer, with a 0.1mm tolerance between the fire and jump buttons and the top half of the shell. The D-Pad area requires at least 0.5mm tolerance. You may have to file the parts down a small amount, depending on the resolution and precision of your printer.

Note that the case is designed to hold together using friction, so no fasteners are necessary. Also note that in the v1.1 design, there's not quite enough of a cutout for the cable strain relief to fit, so it may bow out a small amount.

Parts

27
QtyValueFootprintReferences
50Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR7, R8, R9, R10, R11
51KResistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR1, R2, R4, R5, R6
2MountingHoleMountingHole:MountingHole_4mmH1, H2
10.1uFCapacitor_SMD:CP_Elec_4x4.5C1
1330Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR3
1ATtiny814-SSPackage_SO:SOIC-14_3.9x8.7mm_P1.27mmU1
1BTN1RetroPad:Silicone_Membrane_Pad_11mm_(7.5mm)BTN1
1BTN2RetroPad:Silicone_Membrane_Pad_11mm_(7.5mm)BTN2
1BTN3RetroPad:Silicone_Membrane_Pad_11mm_(7.5mm)BTN3
1DB9_MaleConnector_Dsub:DSUB-9_Male_EdgeMount_P2.77mmJ1
1DOWNRetroPad:Silicone_Membrane_Pad_11mm_(7.5mm)DOWN1
1JUMPRetroPad:Silicone_Membrane_Pad_11mm_(7.5mm)JUMP1
1LEFTRetroPad:Silicone_Membrane_Pad_11mm_(7.5mm)LEFT1
1RAPIDRetroPad:Silicone_Membrane_Pad_11mm_(7.5mm)RAPID1
1RAPIDLED_THT:LED_D3.0mmD1
1RIGHTRetroPad:Silicone_Membrane_Pad_11mm_(7.5mm)RIGHT1
1UPRetroPad:Silicone_Membrane_Pad_11mm_(7.5mm)UP1
1UPDIConnector_PinSocket_2.54mm:PinSocket_1x06_P2.54mm_HorizontalJ2

Questions

How big is the RetroPad PCB?

It measures 93 × 90.7 mm and has 4 copper layers, 1.6 mm thick.

What parts does the RetroPad use?

27 parts, built around the ATTINY814-SSN. 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 RetroPad KiCad files?

From the jtgans/RetroPad repository on GitHub, at the commit this page was made from: the board is RetroPad.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the RetroPad design in my own project?

Its repository publishes it under the GPL-2.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 2 layers40.5 × 41.3 mmHorloge, the printed circuit board in 3D

    Horloge

    malik019/horloge-accelerometer

    Een compact, ultra-low-power PCB-ontwerp in KiCad voor een klok (horloge). Maakt gebruik van een ATtiny MCU, een ST LIS2DW12 accelerometer voor bewegingsdetectie en WS2812B-MINI RGB-leds

    76 parts
  • 2 layers79.4 × 92.4 mmB Sides Badge, the printed circuit board in 3D

    B Sides Badge

    OklahomaOpenSourceHardware/OKC-OSH-2024-Badge

    2024 badge for Oklahoma PCB Tech Conferences

    70 parts3
  • 2 layers14.7 × 16.2 mmRCLight, the printed circuit board in 3D

    RCLight

    Ehryk/ehryk.github.com

    Code

    26 parts2
  • 2 layers46.9 × 5.5 mmHallSensorSMD, the printed circuit board in 3D

    HallSensorSMD

    synthesissolutions/geeksforkids

    12 parts2
  • 2 layers16.5 × 19 mmATtiny14SIOC, the printed circuit board in 3D

    ATtiny14SIOC

    CmdrZin/Educational-Projects

    A group of educational projects to promote hardware and software development.

    3 parts1MIT
  • 2 layers80 × 42 mmDcdc V8, the printed circuit board in 3D

    Dcdc V8

    Gamu2124/RoboCupJunior2026-RobotDatas

    Complete data for the robot that won the Japan and World championships / 日本大会優勝 & 世界大会優勝したロボットの全データ

    47 parts1
  • 4 layers45 × 16.5 mmHadesGPSDongle, the printed circuit board in 3D

    HadesGPSDongle

    pms67/HadesFCS

    Complete flight control system designed from scratch. Hardware designed with KiCad.

    27 parts1kBSD-3-Clause