Tuesday, December 24, 2013

Repairing a Rock Band guitar's tilt sensor

Last week, I decided to play Rock Band. If you don't know anything about this game, you might just want to stop reading now. If you have played the game, you are probably aware that in order for a guitar/bass player to activate the "overdrive" feature, he must either tilt the guitar into a vertical orientation or press its start button. Although some players disagree, I find that it is far easier to tilt the guitar than to press the button.

Well, since the last time I played, the tilt sensor in the guitar broke. No matter how much I tilted the guitar, the overdrive mode would not activate.

Most people at this point would either resign themselves to not being able to use the tilt gesture or buy a new guitar controller. Sadly, due to Rock Band losing popularity, manufacturers no longer make guitar controllers and stores selling them are asking collector's prices - some as high as $250.

Being the kind of person I am, I decided to try and fix it instead.

Looking inside the guitar controller, the mechanism is actually much simpler than I had initially expected:

Inside the guitar controller

In the center, to the left of the white rectangle that is the strum-bar is a small circuit board containing the tilt sensor:

Closeup on the tilt-switch board in the guitar

The board is secured with two screws and attaches to the guitar's motherboard with a simple pin-connector, much like how LEDs are attached to a PC's motherboard:

The guitar controller's motherboard The tilt-switch board removed

The black cylinder on the board is the actual tilt-switch itself. There are two of these, one on each side of the board. These switches are trivially simple parts. There is a small ball-bearing inside the cylinder. When it is tilted upward, the ball rolls to the side containing the wires, closing the circuit. When it is tilted in a different orientation, it rolls to the other side, opening the circuit

In the guitar controller, two of these switches are wired together in series. Presumably this is in order to "de-bounce" the circuit, because vibration can trigger false-positives.

Using a tester, I confirmed that one of the switches works great:

Working tilt-switch, held horizontal Working tilt-switch, held vertical

But the other switch is broken - it never closes the circuit regardless of orientation:

Broken tilt-switch, held horizontal Broken tilt-switch, held vertical

So this is what needs to be replaced.

I started out by reading many articles on the subject of replacing these sensors. Many people replaced the entire sensor board with a mercury switch. Mercury switches are really nice devices that are most commonly used for tilt switches in cars (e.g. to turn on the trunk light when it is opened.

The big problem with a mercury switch is that they are a bit too sensitive for a guitar controller. The ball-bearing sensors used by the manufacturer trigger when tilted by about 30°. Mercury switches, on the other hand, tend to trigger at about 10° or less. If used as-is, it would be difficult to keep the overdrive feature from activating at the wrong time.

The solution to this, however is simple. Install two mercury switches, wired in series, oriented 20-30° off of the guitar's main axis. This will mean that the guitar will have to be raised 30-40° from horizontal in order for both switches to close. So I bought two mercury switches and prepared to make the modification.

A few days later, I got them:

Mercury switch

I very quickly discovered, however, that although the switch itself is very small, it comes enclosed in a plastic housing that is huge. There was no way this would fit in the center of the guitar controller, although I think it would fit in some other location:

A tight squeeze

I was getting prepared to hot-glue these switches into their new location when I accidentally dropped one, cracking the glass. The plastic housing completely contained the mercury (not that I'm worried about one tiny drop poisoning anyone), but it did ruin the switch.

At this point, I decided to change my mind. I could order another mercury switch and be more careful this time, but I'm afraid that if a drop onto the floor is enough to break the switch, then dropping the guitar after project completion may also break it and I don't want to have to go back and repeat this project in the future.

So, I decided to switch to plan B. I was able to locate a hobbyist store that sells ball-bearing tilt switches. I bought three, figuring that I might need a spare (in case the other sensor fails in the future) or if I accidentally break one trying to install it (I didn't know, at the time, how fragile they might be.)

A new ball-bearing tilt switch

Fortunately, installation was simple. I de-soldered the broken switch from the tilt-sensor board and soldered the replacement switch in its place. Then I closed up the entire guitar controller and tried it out. Mission success. I can once again play Rock Band and tilt the controller to activate overdrive.

My only regret was that I forgot to take pictures of the actual repair so I can't share with you any images of the repaired insides. Suffice it to say that the tilt-sensor board looks pretty much the same as before, except that one of the tilt-switch cylinders is now gold colored instead of black.

Total cost for this (not counting spare parts and the mercury switches I ended up not using) came to $5.64 ($1.95 for the part and $3.69 postage.) Total labor was less than an hour. A whole lot better than spending over $100 for a new controller.

No comments: