Skip to the content
2 layers59.7 × 41.3 mmApple II Adapter, the printed circuit board in 3D

Adapter that plugs into the Game I/O connector on the Apple //e motherboard to add support for Atari-style joysticks, cables can be routed to the back of the case for easy access.

Size
59.7 × 41.3 mm
Copper layers
2
Thickness
1.6 mm
Parts
23
Nets
20
Pads
99
Tracks, vias
297, 20
Pours
1
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
13 Jan 2021
Updated
1 Feb 2021

Overview

Apple II Adapter is an open-source printed circuit board by tebl, from the tebl/Apple2-Joystick-Adapter repository on GitHub. It is a 2-layer board of 59.7 × 41.3 mm with 23 parts on 20 nets, routed with 297 tracks and 20 vias.

It is built around the 74HCT04D and CD4066BE. Its parts include 14 resistors, 3 capacitors, 2 ICs and 2 connectors. It belongs with the interfaces and adapters and keyboards and input boards of this library.

Main components

2

README

README.md

Apple ][ Joystick Adapter

I have an Apple //e somewhere in my storage room, I don't play on the thing much. Part of the reason might be the lack of a joystick, so I've been attempting to remedy that by soldering something together - the hard, and quite possibly the only real classic way, by reading about them in an old book and attempt to actually build the thing (Computer Controller Cookbook).

Installation done

The adapter allows you to connect up to two Atari-style joysticks up to the Apple //e, if you like that sort of thing. I'm told most Apple fans prefer their joysticks to be analog because that was all the rage was all about at the end of the 70s, but as already mentioned I don't have one - I on the other hand have a ton of Atari-style joysticks so those are the ones I'd like to use. Keep reading for all the necessary details, click links below if you want to skip to a specific section.

NB! I don't have any of the other variants of the Apple ][ computer than the //e, so I've not been able to test the design on any other variant. I can't tell you wether they work or even fit into them.

1> Building the adapter

Building the adapter, as with most things that deals with electronic projects, starts with going through the BOM and ordering whatever you don't already have. Compare with the gallery pictures if you're wondering what something looks like, unfortunately ebay is not a good place to shop for well-described components - I usually just order one of each if they're cheap (it'll get used sometime, if only to irritate someone attempting to build more than one of my projects).

Next up is soldering the resistors, these are have the lowest profile of the components and move up in size from that point forward. Please use sockets though, mainly because everything that looks like ICs from ebay can and should be considered highly suspicious until verified working - you will likely want the ability to quickly change one of them out (often they are B-grade or forcibly pulled from other hardware; they may or may not working depending on your luck).

Front of PCB

The last component to get soldered into place are the machined pin headers that go into the area labelled A1, these go into the Game I/O socket on the Apple ][ motherboard - the regular kind will probably break your socket, so don't use those (even if they are cheap). They are soldered on the reverse side compared to the other components, to ensure that they are soldered into place at a reasonable angle, I recommend using a 16 pin machined pin socket as a template below the pins.

Back of PCB

The last step I usually do with my boards, is installing an M3 nylon standoff (10mm length) into the hole between the IDC connectors - this is there so that there is some strain relief for the pins that go into the socket. It just pushes against the motherboard, so don't use the brass one as that might accidentally short something.

Onto the next step, because everyone loves making cables.

1.2> IDC-cables

While I would have liked to just use something that could be ordered straight from AliExpress without going so far as creating a custom cable, all of the ones I've found were mostly IDC to RS232 adapters - those have a rather randomized pin layout so I chose not to use them in the design. The method I used instead was order said cables, cut off the DB9 part already on there and then just add a new male DB9 IDC connector so that pin 1 with pin 1 on both sides (red stripe).

Cable parts Cable parts

The flat ribbon DB9 connector is easy to use, just push the ribbon through and align - then push down on it with something hard like the handle of a screwdriver (if you don't have a vise). Wrap the cable over, clip the strain relief over the top. The result you should end up with looks like the following, note the position of the tab in relation to the red wire on both sides.

Cable parts

If also adding the 2x5pin straight pin IDC to the other side, then it will have a spot for the tenth wire, this is left empty as we only use nine for the DB9. The process for fixing it into place is the same as before, but there is probably no strain relief this time - so align it according to picture above

Screw the IDC-connector into the case using M3-screws, I mainly use those that come with the cables if you got them (M3x6mm hex standoff, brass or otherwise as long as the cable is firmly in place).

1.3> Testing it out

Testing it out is easy, just make sure that it is installed properly - align the back pins with the holes on the socket then push it gently into place. As long as it is aligned properly, you shouldn't need to use more than a little bit of force - anything more and you'll just snap off or bend the header pins. Plug your joystick into what is marked port 1, the one closest to the side of the case, via the cable you just made and mounted on the case.

At this point you can just try to load up a game and see if that works, but personally I like to test it out using some basic code first - if only to see that all the directions work as expected. There is an article on Devon Hubners page that does this very nicely and goes into more detail, so just type in the simple version for now and run it (I've posted a copy of it below in case that page disappears).

text
10 PRINT PDL(0), PDL(1)
20 GOTO 10

The little piece of code should print the X-value followed by the Y-value on the first port, it should be a number between 0 and 255. When not pushing anything it should center about the mid-point of this, mine was around 140 in values and worked nicely in the games I've tested (mostly Donkey Kong). If you get something significantly different, ensure that the correct value resistors went into the correct place (a swapped 68k and 100k would give 200, as I accidentally found out).

2> BOM

This is the list of parts that you'd need in order to construct Apple ][ Joystick Adapter, most could quite possibly be sourced from your friendly neighbourhood electronics store - if you should happen to have one available (using a passport on the way doesn't count). I don't, so I order most of the components on ebay and similar sources - parts may be cheap, but at least you'll need extras in order to assure at least one of them works.

ReferenceItemCount
Adapter (PCB)Fabricate using Gerber files (order)1
A1 *8 pin machined pin header2
C1,C2100nF ceramic capacitor (5mm)2
C34.7uF electrolytic capacitor (2mm)1
IC174HCT04 (DIP-14)1
IC2CD4066 (DIP-14)1
J1,J22x5 pin straight IDC socket2
R1-R61k Ohm resistor6
R7-R1068k Ohm resistor4
R11-R14100k Ohm resistor4

*) These are soldered on the reverse side compared to the other components, these pins go into the Game I/O socket on the Apple ][ motherboard. These are usually sold as 40 pin breakable strips, it is recommended to use the machined pin headers as they won't destroy the motherboard socket like the regular pin header eventually would.

2.1> Miscellaneous components

This is a suggested list of components used to screw together each of the PCBs, most of these you can find as part of a set on ebay (just search for "M3 nylon assorted standoff kit"). Cable components are also listed here.

ReferenceItemCount
M3x6mm nylon screw1
M3x10mm Nylon Hex standoff1
IDC Flat Ribbon DB9 Male Connector2
2x5 Flat Riboon IDC Connector2
9 core flat ribbon cable2

Parts

23
QtyValueFootprintReferences
4100kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR11, R12, R13, R14
41kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR1, R2, R3, R4
468kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR7, R8, R9, R10
2100nFCapacitor_THT:C_Disc_D4.7mm_W2.5mm_P5.00mmC1, C2
21kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR5, R6
14.7uFCapacitor_THT:CP_Radial_D4.0mm_P2.00mmC3
174HCT04Package_DIP:DIP-14_W7.62mm_Socket_LongPadsU1
1CD4066Package_DIP:DIP-14_W7.62mm_Socket_LongPadsU2
1Game_IOadapter:DIP-16_W7.62mm_Socket_LongPadsA1
1IDC_PORT1C64 JoyKEY:IDC_JoystickJ1
1IDC_PORT2C64 JoyKEY:IDC_JoystickJ2
1MountingMounting:M3_pinM1

Similar boards

  • 4 layers120 × 98 mmExbus proto, the printed circuit board in 3D

    Exbus proto

    clydeshaffer/gametank

    design files for the gametank hardware implementation

    871 parts150
  • 2 layers101.6 × 53.3 mmPan ard inf, the printed circuit board in 3D

    Pan ard inf

    goruck/nilm

    Energy Management Using Real-Time Non-Intrusive Load Monitoring

    49 parts107MIT
  • 2 layers100 × 100 mm2STACK, the printed circuit board in 3D

    2STACK

    akpu/CubeSat-5Stack-Architecture

    Design and Development of a 1U CubeSat Electronics Stack for Communication and Telemetry

    27 parts3
  • 2 layers100 × 100 mmKleingorium, the printed circuit board in 3D

    Kleingorium

    lytex/kleingorium

    Expansion board for https://github.com/hexagon5un/klangorium that generates harmonic frequency multiplications and divisions

    95 parts3
  • 2 layers124.3 × 131.7 mmMegaDuck SJC, the printed circuit board in 3D

    MegaDuck SJC

    ManCloud/MegaDuck_SJC

    WIP - Reverse Engineering Project of the MegaDuck Super Junior Computer

    102 parts2GPL-3.0
  • 2 layers167.3 × 85.2 mmFinalCircuit, the printed circuit board in 3D

    FinalCircuit

    HarshitRaj3007/EDL2024

    Repository for our EDL project in year 2024. RRAM Characterization using FPGA.

    59 parts1
  • 2 layers61.2 × 61.2 mmOpenBCI Wifi Shield, the printed circuit board in 3D

    OpenBCI Wifi Shield

    nestorufpe/OpentDCS-Hardware

    All design files made with KiCad PCB design software. http://kicad-pcb.org/

    35 parts1

Questions

How big is the Apple II Adapter PCB?

It measures 59.7 × 41.3 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Apple II Adapter use?

23 parts, built around the 74HCT04D and CD4066BE. 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 Apple II Adapter KiCad files?

From the tebl/Apple2-Joystick-Adapter repository on GitHub, at the commit this page was made from: the board is Apple II Adapter/Apple II Adapter.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Apple II Adapter design in my own project?

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