Building your guitar controller
Introduction
If you somehow ended up here, I hope you find this project useful. This wiki documents information not readily found on the Internet and attempts at some reverse engineering work done on Konami's arcade music video game peripheral, the guitar used on GuitarFreaks XG or GITADORA series.
If you obtained the guitar directly off the machine, the wiring harness and the logic PCB can be safely omitted. It's solely used for interfacing with actual machines and is no longer required if you are interfacing the guitar with the PC as a game controller. I first twitted this board's existence in December 2018.
Gitadora 『ギタドラ』Guitarfreaks Controller I/O PCB. Interesting board but had a problem identifying IC4 (U1324AN) pic.twitter.com/y9GSVuMfhA
— limyz (@_limyz) December 15, 2018
Accelerometer
The actual guitar uses a LIS3LV02DL accelerometer via I2C to obtain its position. For another alternative, using the more commonly available ADXL345 is recommended. It should be placed above where the neck buttons are located.
Do note that GuitarFreaks XG uses all 3-axis to determine if the guitar is pointing towards a particular direction during gameplay. However, the Z-axis functionality is removed after GuitarFreaks XG3, despite the test menu reflecting it in its latest iteration of GITADORA (NEX+AGE as of writing).
To utilise them, connect both the SDA and SDL lines listed in the CN3 connector pinouts. (see Buttons)
Buttons
Buttons are Sanwa's SW-68CAU. For an alternative replacement, Cherry or Kailh red switches best replicate this part. 2x Sanwa's OBSP-28K-BR-F buttons (Green and Yellow) have elevated grooves to differeniate between 3x OBSP-28K-BR-T buttons (Red, Blue and Pink), which are flat. (see Accelerometer)
To rewire them on the actual controller, follow the CN3 connector pinouts as shown below.
Pick
For pick sensing, the guitar uses 2x EE-SX3239-P2 photosensors, one for up and other for down sensing. This is done by a single piece of metal (attached to the pick) blocking the sensors.
The pick assembly is cast in solid steel. It houses four springs to return the pick to its neutral position and has a screw to hold it in place. Additionally, it has a plastic block supported by 3x screws to limit the movement of the pick.
To rewire them on the actual controller, follow the CN4 connector pinouts as shown below.
Additional Parts
Older GuitarFreaks/Gitadora guitar controllers for use with the deluxe (DX) machines additionally include a knob (6-position rotary switch for Effects Selection) and a 12V motor (Tsukasa TG-87A for vibration). These parts were omitted on guitars with standard (SD) or white machines.
To connect the TG-87A, simply use a 2N2222/BC337 transistor or a MOSFET (IRLZ34N), together with a fly-back diode (1N4001). According to Tsukasa's TG-87 datasheet, its rated current of 250mA is far below the 2N2222/BC337's rating of 800mA, making it suitable. To rewire them on the actual controller, look for connector labelled CN5.
As the Arduino Micro does not supply 12V, use a boost converter to step up 5V to 12V. Keep in mind that the maximum current draw from a USB 2.0 port is 500mA and is sufficient to power all the components in the guitar with or without the motor.
Putting it all together
Identify all pinouts and simply connect them directly to the Arduino. If you are using code from my repository, ensure to follow all described pinouts. The finished product can simply rely on dupoint or jumper wires.
Part Numbers
Type | Brand | Part Number | Quantity |
---|---|---|---|
Accelerometer | STMicroelectronics | LIS3LV02DL | 1 |
Buttons | Sanwa | OBSP-28K-BR-F | 2 |
Buttons | Sanwa | OBSP-28K-BR-T | 3 |
Motor | Tsukasa | TG-87A | 1 |
Photoelectic Sensor | Omron | EE-SX3239-P2 | 2 |
Measurements
Description | Length (cm) |
---|---|
Total Length | 78.5cm |
Scale Length | 49cm |
Headstock | 17cm |
Neck
Description | Length (cm) |
---|---|
Length | 53.7cm |
Top Width | 4.2cm |
Bottom width | 5cm |
Thickness | 3cm |
Distance off ground | 3cm |
Buttons
Description | Length (cm) |
---|---|
Length of 5 buttons | 11.8cm |
Button Size | 1.8cm * 2.5cm |
Gap between Buttons | 0.8cm |
Neck to Body
Description | Length (cm) |
---|---|
1st Button to Pick | 40cm |
5th Button to Pick | 28.2cm |
Body
Description | Length (cm) |
---|---|
Upper Bout Width | 21cm |
Body Waist Width | 17cm |
Lower Bout Width | 25cm |
Length | 36cm |
Bout Depth | 5cm |
Pick Size | 8cm * 3.2cm |