Archive for November, 2007

arm7-oled-clock pcb

2007-11-16

I finished off the design of the printed circuit board for my clock. Sent it off this morning to get manufactured ($35 for two). Here’s hoping that it works!

Here’s a rendered pic of what the front will look like:

arm7-oled-clock-rev00-small

custom Gibson SG mza

2007-11-08

My roommate has Guitar Hero and he jammed too much on the whammy bar of his guitar hero controller, so he threw it away. I recycled it and made it wireless with a $14 wireless ps2 controller from Ross’s and gave it to my girlfriend for her 19th birthday. I’m 23, so age/2+7 doesn’t present a problem…

Before I started, I thought it would be simple enough. Remove the unnecessary plastic parts from the wireless controller and solder the wires from the buttons in the guitar to the wireless controller button pads. Here’s all the parts in a wireless ps2 controller:
wireless controller parts
As it turns out, there’s two problems:

The first problem is that Guitar Hero I and Guitar Hero II will both let you use a regular controller to play the game, but the buttons you use to do different things are different for the two games. For me, this meant that I had to have a GH1 and a GH2 mode, and have the actual fret buttons connect to different pads on the wireless controller based on which mode it was in. So it has 8 pnp transistors to do this (4 of the fret buttons had to be switched, 1 of them happened to correspond to controller buttons that for each game weren’t used in the other game, so it was okay to have them both down at once). Because of the mode switch and the transistors, I was able to work around this quirk.

The second problem is that Guitar Hero II treats a ps2 controller differently from how it treats a ps1 controller.
If you have a ps1 controller and you hold down the left d-pad button when you plug the controller in (or turn on the ps2), Guitar Hero I will treat it as a guitar, so you press the fret buttons whenever and strum with the up and down buttons on the d-pad. Otherwise (if the left d-pad button isn’t held down or you’re using Guitar Hero II), it requires that you press the frets down exactly when needed and this pressing of the fret buttons is the effective strum. The wireless guitar that I built still suffers from this deficiency – there’s no workaround, so Guitar Hero II doesn’t behave the same as it does with a wired guitar.

Here’s a picture of the wireless controller board with attached wires:
wireless controller board + wires

As for the broken whammy bar, my roommate threw away some of the parts for it after he disassembled it to try to fix it, so two features needed to be reimplemented:

The first was that the whammy bar base in a functioning guitar hero controller rotates on a split axle, so there’s a post on either side of a plastic piece and the plastic piece rotates when you move the whammy bar. One side of the split axle was missing. I don’t know what the original looked like. I re-implemented this with two layers of vector board and a bolt and nut and some .025″ metal wire-wrap posts and a lot of hot glue. This part works fine (although having a slightly larger bolt would have been better). Here’s a pic:
axle

The second thing was the spring that returns the whammy bar to the upright position when you let go of it. I still had the spring, but whatever it went between was long gone and/or broken. To remedy this, I put a bar of vector board across two of the four plastic posts this whole assembly fits between (and tapped the two posts and screwed the vector board in) and drilled a hole in the white plastic whammy base and just inserted the spring between them. The new whammy bar is more stiff than on the original controller.
spring

The wireless controller came with rechargeable batteries and a charging cable to connect between the thing you plug in to the ps2 to receive the wireless transmission and the controller. So I just kept that part and added a matched jack & plug to where the original wired controller wire came out. When not charging, you can unplug it right at the base of the guitar. For when the rechargeables die, I put in a switch inside it to switch between NiMH mode and alkaline mode (which just determines whether it tries to charge the attached batteries) and included a two AA battery holder with the same connector that the rechargeables use.

I wired all the switches and lights to the top of the neck and drilled holes where the tuning post nubs were and mounted everything there. There’s a power switch, a charge light, a power/connecting light and a GH1/GH2 mode switch.
switches and lights

The only other upgrade, besides the wirelessness was that I replaced the two strum buttons under the strum bar with quieter versions. With the regular guitar, the loudest thing is the strum button. And I mean louder than the music. It’s all you hear unless your tv is at full volume. I found some quieter buttons at the local electronics shop that were about the right size and were less than a dollar each and mounted them on a piece of vector board. I had to add some spacers to get the strum distance right, but other than that, it was a straight replacement and it worked well.

This project took me 8 days (worth of nights and weekends) from buying the wireless controller to shipping it off to my girlfriend.

Here’s some pictures of the insides:
whole guitar
neck
body

Here’s the finished product:
guitar

And here’s the parts from the wireless controller that weren’t used:
unused controller parts

Other than all that, it works, and it is a solid guitar.