Home of the LEDmePlay. Since 2013.
This site is under construction. We will present a tutorial for a Mithotronic Joypad soon.
We really like classic joysticks like the Competition Pro (you will know this if you have ever visited our booth on a faire). However, replicates are rare and if you buy an original classic joystick on ebay, you never know what you get. Thus, we have an alternative you can build on your own: The Mithotronic Joypad. This game controller has some advantages in comparison to a classic joystick. It has an analog thumbstick for the directions and two independent fire buttons (in comparison to just one). Nevertheless, it is fully compatible to all games which have been originally developed for a classic joystick. The joypad can easily be built in about 2 hours. You need the following parts:
Thumb joystick with in-build firebutton (search for "Arduino Joystick")
2 * buttons (for best gaming experience we recommend arcade buttons with a diameter of ~24mm)
Small plastic case (~12cm * ~7cm * ~3cm)
9-pole sub-D female connector
housing for the sub-D female connector with strain relief
strain relief for the control wire in the housing
1.5m control wire with 7 lines
4 * distance sleeve (5mm)
4 * M3 screws (15cm)
4 * M3 nuts
4 * rubber feet
Games can be developed in a way that either the joypad or a classic (digital) joystick can be used without any configuration. Of course, in this case, the joypad is fully digital which means that there is a threshold value for the directions on which action is registered. Nevertheless, the two potentiometers of the joypad are checked on the analog inputs of the Arduino. Unfortunately, also if a digital joystick is connected, some signal is measured on the analog inputs. This would lead, unfortunately, to uncontrolled movement. Thus, it is required to identify the joypad if connected to enable distinction of cases. In other words, the analog signal is only evaluated if the Mithotronic Joypad is connected in place of a classic joystick.
How is this possible? Well, it is pretty easy. It is simply checked whether the directions for "left" and "right" are pressed simultaneously. These are (1) not required anyway, due to the use of the analog thumbstick connected to different (analog) inputs and (2) it is not possible with a classic joystick (you cannot move it left and right together). Thus, only if both directions are registered, it is assumed that the joypad is connected and the analog inputs are evaluated.
The table below shows the pin assignment of the joypad and the differences to a classic (digital) joystick.
Connections Joy 1
Connections Joy 2
|1||Up||Fire B (together with pin 2)||D30||D31|
|2||Down||Fire B (together with pin 1)||D32||D33|
|3||Left||Joypad connected (together with pin 4)||D34||D35|
|4||Right||Joypad connected (together with pin 3)||D36||D37|
|6||Fire A (standard fire)||Fire A||D38||D39|
|7||5V (optional, e.g. for auto-fire)||5V||5V||5V|
|9||Fire B (optional)||Y-analog||A9||A11|