This article will cover creating a kit for your computer that will allow you to practice your guitar hero skills with open source software and about 30 dollars in parts.
Step 1: Obtain the Nessisary Parts for the Guitar
First, you need three parts to make a USB guitar for your PC.
1: A Guitar. Any kid's toy guitar will do, though one with fret buttons will make things easier and nicer looking. Otherwise you will need to add buttons for fretting. Mine came from Wal-Mart for 10 dollars.
2: A keypad. I got a cheap USB numberpad while i was getting the guitar for about 12.99. I prefer USB, and the smaller number of keys makes deciphering the buttons easier. We will be using the controller board in this to connect to the compuer.
3: Switches and other parts. The amount of switches you will need may vary depending on your choice of guitar and if you want to navigate the game menus without a keyboard. The game itself supports 5 fret keys, one (or two) strum key(s), escape, and 4 directional buttons. a leaf switch will work well for the strum key. I also used some prototyping circuit board and a spool of very thin wire to keep things straight, you may be able to do without these depending on your skill level. These can be sourced from sites like digi-key or your local rat-shack.
Step 2: Dissassemble and Remove Unneeded Parts
Now that we have the major parts of the guitar, we need to remove the bits we don't need.
First i unscrew and take the back off of the guitar, remove the logic board, speaker, and dial. I left the long "fret board" in place since i will modify it to work with the keypad.
Next is to disassemble the keypad. Mine only had two screws outside and two inside holding it together. What we want here is the circuit board which is the brains of the keypad. you want to keep the plastic sheets with traces on them (also known as the key matrix), as they can be useful in figuring out the keys.
Step 3: Prepare Parts
The next thing you will need to do is prepare the parts for their new lives.
The keypad controller i used has a black carbon coating on it's traces. To remove this I carefully scraped it off with a screwdriver, then once most of the contacts were exposed i used rubbing alcohol to clean off the remnants. I then tinned each of the 12 contacts on my controller board with solder.
Next is the actual case of the guitar. Frets on Fire requires buttons for navigation, cancel, and strumming, so I added four small pushbuttons in the upper body of the guitar, a leaf micro switch for strumming, and a button where the volume dial was as a back button. The back button's recessed fit makes it hard to hit accidentally.
I also had to modify the fret board since it ran all the keys off a single ground. This required me to cut the trace linking the buttons together, strip back the green masking on the circuit board, and solder new wires to the freshly exposed circuit trace for each button. I then found it's matching wire at the bottom of the board and twisted them together to keep from losing track of which pairs match up.
Next I painted the fret keys. The normal color pattern for a guitar hero type controller is green-red-yellow-blue-orange. Make sure you know which buttons on your guitar fit which holes in the neck. I didn't notice that each of the buttons on my guitar are of slightly different sizes until after I'd painted them.
Step 4: Wire It Up
To put it all together, I first had to make a "breakout board" to give myself some breathing room to work with. I first cut a piece of protoboard and bent some pieces of paperclip into it, one for each pin on the contact header for the controller board. Then I connected wires from each pin of the controller board to each pin of the protoboard. This gave me a safe set of connectors which are easier to work with, less chance of lifting or breaking a trace off the controller board.
Then i found a good spot for the controller+breakout board and used a small amount of hot glue to hold them in place temporarily.
Then I added a pair of wires to each button. These will be connected to the breakout board. Below you can see my setup with the wiring finished, but we're not quite to that point yet.
Step 5: Deciphering the Key Matrix
Now that all the pieces are there, we need to figure out which wires go where to get the keys you want on your guitar. The easiest way I know is to open an spreadsheet, get a wire, and start shorting connections on the breakout board until you get some useful key combos.
If you look at the plastic contact sheets from the keypad, you can see it consists of two contacting layers. When testing for connections you should keep one side of your testing wire on a contact from one layer, while probing contacts from the other layer of contact sheet. On mine pins 1-6 were on one sheet, while pins 7-12 were on the other. This made my method of testing something like the following:
1. connect a wire to pin 1
2. set up excel sheet to record results
3. open notepad to test with
4. tap the loose end of the wire on pins 6-12, record results in excel.
5. move first wire end one pin up.
6. repeat steps 4 and 5 for pins 1-6.
If you're lucky enough to get the same keypad I used, you're work here is already done, and you can use the chart below to help in the next step
Step 6: Wire Button Wires to Breakout Board
Armed with a listing of which shorts (same as key presses) will result in what keys, we can now hook up the actual buttons in the guitar. I started by globbing on some extra solder to each pin of the breakout board. Next I took a paid of wires for a switch, chose a pair of contacts that would result in a key press on the keypad controller, and soldered the wires for the button to the pins for a key press. You want to try and steer clear of non-alphanumeric keys as much as you can (things like alt, shift, and insert). Symbol keys should be alright.
I'd definitely test each key after hooking it up to make sure you don't get all of them attached and have none of them work. Attach all your other buttons on the guitar to the breakout board, test it, and you should be getting characters typed when you press the buttons on your guitar.
Step 7: Cleanup/Reassemble the Guitar
Now all that's left is to clean up the wires, glue down everything, and put the back on the guitar again. Next step is to hook up the guitar and obtain the actual game you'll be using it with. Frets on Fire.
Step 8: Download the Basic Game
Now that we have a working guitar with which to play, you need the game to play it with. Download Frets on Fire from here.
Step 9: Configure the Controls
Step 10: Adding Songs and Mods
Once you're jamming with your new guitar, you'll notice that by default there are only 3 built-in tracks. These will only get you so far, and you'll be wanting more songs you know in short order. Luckily the makers of the FoF software have accommodated for this and added the ability to edit your own FoF tracks, as well as import them from Guitar Hero and Guitar Hero 2, should you happen to have them lying around. You can also download tracks from sites like Keyboards on Fire. Once you have a new song downloaded, just extract it under the data/songs folder. You can also add custom labels to your homebrewed tracks. A good place to find old cassette labels is http://www.tapedeck.org/http://www.tapedeck.org/
Likewise, there are many Mods for FoF that allow for a different look to the game. These are generally found on FoF fan sites and forums. You can also create your own, though it may require knowledge of vector graphics editing, and software such as InkScape. Feel free to mess with the stock theme though and try your hand at homebrewing mods.
Step 11: Finish
That about wraps it up. You've made a cool guitar, gotten your software straight, and have a bajillion songs in a hello kitty modded rock-fest. All that's left is to get in there and rock!