I always like to having the option to use a game controller for my computers. I only like joysticks for certain types of games. I prefer gamepads for a lot of game types. The Apple II Joystick is an analog joystick, much like the IBM Analog Joysticks. I was not interested in tracking down a vintage joystick. I also again often prefer a gamepad form factor, and I like making things myself. I came across Swetland’s Apple II Gamepad project on Github. The project has good documentation for the rather simple project it is. I will just go over any variations or considerations I had with it.
The project worked like many projects I tend to do. Some little oddities in that it has not went through very many revisions. This project is fine, and can be built as is. If I had read the provided information before ordering the PCBs in, I would have probably implemented some of his suggested revisions.
The simple revisions that could be done.
Swetland indicated making a switch to swap the button positions. I think this may very well have to do with him testing it with Lode Runner, which is the game I tested with. The buttons should be swapped for that game in perticular.
It was also indicated to potentially use the joystick’s button. I hate that on the Nintendo Switch though in some games.. I like having options though. I think the Apple II can address 4 buttons? I only think that as there is a PEEK for 4 buttons, and I don’t know how often that there were 4 on a joystick or if any games use them all.
It also was indicated that the range may be adjusted by adjusting the capacitance. To add more, it would be easy to just add some pads to add another capacitor or two.
My thoughts might be to increase the footprint size for the capacitors and resistors by one SMD size. It may just make more people consider building one, as I feel many people either have limited SMD experience or may just not be able to do it. It does take magnification for me, and my hands are pretty steady. It wasn’t bad for me, but I have a bit of experience with SMD soldering now. It would also be easy to add alternate through hole footprints for the resistors and capacitors. I had the required resistors and capacitors in stock (one size larger than specified I think though on the capacitors, they just could fit.), but I also have the parts in typical through hole type of the same values. SMD parts are cheaper, and take up less space, though space in this project itself is not an issue.
If I were to go to that trouble, I would also upsize the traces to make them more robust, that may also open up some options for customization and bodges for those old hacker types out there if someone comes up with something. The other thing I would probably do is look to put the wires on the pcb in the same order as they are on the DE/DB9 connector in hopes to reduce the chances of making mistakes. I might put some instructions and such on the silkscreen. If I find these other 4 unused PCBs in 10 years, I won’t know what the component values are etc to finish assembly and there is plenty of space to put the required basic information on the board itself.
I would also look into building in an optional auto fire circuit directly into the pcb design.
There is an oddity (at least to me) with the threaded inserts. The holes are basically 5mm in diameter. My threaded inserts are 5mm in diameter, which are designed for 4.5mm holes. As they were to small, I then went and ordered some that said they were 5mm, and they turned out to be identical to the ones I have. So you need some rather large M3 inserts. I happened to have a single giant M3 insert that I don’t know where it was from, and I used it, I then added some glue to the remaining ones and used the 5mm diameter ones. So another revision I would make myself is sliming down the holes in the 3d model.
None of the issues I had were a any kind of big issue. It is just the kind of little things I think would be easy to refine on the project. If I had noticed the suggestions, I would likely have taken time to make those changes to the PCB design. I am just not one to throw away the PCBs after ordering them because they could be just a bit better. Now that I have 5 of these PCBs, I have no drive to do the revisions myself.
Below you can see the threaded inserts installed in the case, the one to the left of the cable there is that single large diameter m3 insert I had, the black around the other two is a bit of the glue. The case printed flawlessly in a nice color change PETG that I like, and also in a filament I am nearly out of, so the little bit of glue is fine. If I ever assemble another of the PCBs, I will do that minor change to the case so the inserts I have fit it.

I didn’t look at the DB9/DE9 port on my IIGS recently, or read the specifications before building the joystick. I then proceeded to buy a molded DE9 Female cable for the gamepad and installing, which the Atari 2600, 800XL, Commodore 64/128 etc all used. So I have some nice photos of the Gamepad with a nice molded DE9 Female connector. I then quickly removed that really nice cable and attached a black piece of Cat5e stranded patch cable and a solder on DE9 Male connector and shell. I didn’t have any tapered m3 screws, so I used some button head screws.

The hole for the cable was just a little larger diameter than my cable, so I quickly made a gromet/strain relief sleeve in Tinkercad and printed it in TPU. That sleeve is just slid on, it is fairly snug, but can be moved, if I wanted to permanently attach it, a bit of thin superglue would fuse it to the cable jacket. Then for the Shell, the cable was to thin for the Clamp to grip the cable. If I had noticed that sooner, I would have slid on a couple layers of heat shrink tubing. As it was, I already had it all soldered up so I wrapped it with some glue backed Heatshrink and heated it to shrink it tight and fuse the glue. For the DB/DE9 Shell (and the reason I wanted a molded cable), the front holding lip that goes over the metal of the DB/DE9 connector needs to be shaved down to the minimum so that it inserts deeply enough into the IIGS Joystick port. This is the same issue that I had with the RGB Monitor cable shell. The casing around the ports is just too close, it is kind of annoying that Apple did that, I can’t think of a DB/DE Shell design that I have come across that will fit nicely without modification.





It was a very nice clean easy build. I wish it had the nice molded cable, which would have also made it an even quicker build. If you look at the Github project, you may notice I used different buttons. I did not use the ones with the square cap posts. They are the same height and footprint minus the little posts. I actually have both types. The difference is the button tops (which I printed in TPU) are not snapped/locked to the buttons, but they sit just on top, there is no extra space so they are not flopping around. I felt this may be less likely to make the buttons bind, that is not to say they actually would have bound up at all.
That other cable did not go to waste, it prompted me to finish another Gamepad project that has been sitting to the side for a few years. That other Gamepad was actually finished before this one, as I had no DB/DE9 male connectors left and had to wait for them to arrive.
It was a bit odd I used Lode Runner to test the Gamepad as well. It is not a game I have really played much at all, it is one I have seen and I am familiar with though and figured it would work with a joystick. It was somewhat frustrating having the buttons in the wrong order as the right one digs to your left and the left digs to your right. The cap keeps popping off the joystick, which is not the Gamepad design’s fault. I did turn both adjustment pots all the way to the left (counter clockwise) so I would get the full use of the joystick, it was staying pegged at 255 when centered on both axis with the pots centered. It feels good to hold and works well.


I’ll figure something out on the Joystick cap issue, and I look forward to using this to help me explore some of the many game possibilities in the IIGS. I have a second one of those types of joysticks, but I believe the stem design on the joystick is a bit different.
















































