= Joystick tester =

Mr.Holub

== Historical review ==

Joystick. Symbol of gaming until junk named gamepad has taken over. We had to rely on DIY in 80s of our homeland, which has led to progressive construction made of faucet/shower lever, eventually button-based controllers.

Classical digital 9-pin connector joysticks used by Atari, Amiga and many others were defined by the fact that nobody cared about these even in post-2000. Lying around on flea markets a and auction portals, few bucks could buy these.

Times has changed and offers of these artefacts says things like "Super rare psycho joystick retro". The price in style like 500 (CZK) is nothing.

Maybe the combination of price-increasing retro-hipster craze and the fact that some individuals has bought out most of joysticks in times of neglect (why do you stare at me like that?), I've discovered in lines of Atari users interest in testing and repairs of these.

== The idea ==

Several years ago I had a presentation about how to repair joysticks at ByteFEST party.

I was caught in discussion regarding joystick testers at ByteFEST 2019.

Saying that I can draw scheme of this right away, Zdenek has laughed hysterically.

He would like to test joystick's wires also, which is an issue as the other end (that without a connector) cannot be bound easily.

I've decided to design such a tester, as I've been planning to build one for me anyway.

== Technical description ==

I've realized prototype with an universal PCB 2x8 cm and put it in 3D printed enclosure of my own design.

Circuit requires 5V power, which can be realized easily by power bank, for example. I've used an USB connector for powering the circuit.

Tester has 9-pin male connector for joystick connection. Pinout is as follows:

Top row:
- 1 = UP
- 2 = DOWN
- 3 = LEFT
- 4 = RIGHT
- 5 = N/A

Bottom row:
- 6 = FIRE
- 7 = 5V (powers autofire)
- 8 = GND
- 9 = second FIRE (used by Amiga computers, for example)

Tester also features pins to connect hook test probes for purpose of wire tests by connecting these inside of joystick.

Longer row of pins is grounded. Shorter row of pins is connected to 5V (for purpose of testing ground cable).

Hooks also serves for testing of tester itself by connecting these directly to its connector's pins.

== Principle of operation ==

9-pin joysticks connect direction wires and fire buttons to ground.

This is used by tester for flashing LEDs accordingly.

LEDs needs to flash according to joystick's directions and fire buttons.

== Testing whole joystick ==

The tested joystick must be connected to the 9-pin connector on the tester and the tester connected to the power supply.

The actual testing is done by moving the joystick to different sides and pressing the fire button(s).

Tester features 6 green LEDs (in this order: UP, DOWN, LEFT, RIGHT, FIRE, second FIRE), flashing when activated on joystick. Red LED serves for the purpose of testing ground wire.

5V and autofire can be tested by turning autofire on, making LED indicating FIRE lighting less that before.

== Testing cable itself ==

Before testing the cable, it is necessary to ensure access to both ends. This is easiest with a separate cable, e.g. removed from an old joystick.

If the cable is still connected to the joystick, it is usually necessary to open the joystick (unscrew it) to allow access to the cable cores.

Hook probes are used for testing the joystick's functions. They need to be connected to all wires with exception of 5V and GND.

The other end of the cable under test (i.e. the one with the connector) should be connected to the 9-pin connector on the tester and the tester connected to power.

All GREEN LEDs should be then flashing. GND can be tested by connecting of 5V to GND wire, RED LED should be flashing.

The wire can be stressed by twirling of wire, per Zdenek's wish.

== Sources & links ==

3D model of the case: https://www.thingiverse.com/thing:4646258