XBox Headtracking system....
Last week, I was driving home and thinking about servos, the basic stamp and a few other things when ,as is the way the mind works, I recalled a simple "robot" my friend built based on the basic stamp that used 2 photoresistors to track the brightest light in the room.
Inspiration struck. Out of nowhere, came an idea that I found brilliant. I had wished there was a headtracker system for the xbox ever since it came out. Current console systems have a ton of rendering power and being an old school geek, wondered why there was no one exploiting the power of these systems for vr. I have a HMD and gaming on it is great, but I have always longed for a head tracking system to make it truly immersive.
How about a headtracker system for the xbox? There are commercial headtrackers for PC games and expensive systems for real vr use. Why does it need to be complicated? Why not use photoresistors to replace the pots in the analog thumbsticks? As long as the resistances are right it should work fine.
I decided on a system of 4 photoresistors (henceforth called pr's so I don't have to keep typing that) mounted in a diamond pattern. I had envisioned using a pic microcontroller to translate the resistances into the appropriate resistances that the xbox could understand. Turns out the control circuitry wasn't needed.
Here's the original concept sketch I showed my good friend B.
Here's what he proposed to simply replace the pots with the photoresistors.
In essence the resistance drops in the direction your going. So for example, if you look down the top photoresistor get illuminated and thus drops the resistance. So in essence you have to wire the board upside down and backwards. Though often in games you can reverse the cameras movements in the settings but not always. Best thing is to screw around and play with it and make sure it works before finalizing your design.
So here's what I needed.
1. An xbox controller I didn't care if it got trashed.
2. 4 Photoresistors.
3. A bunch of wire.
4. An activating light (I used a led based head mounted flashlight)
First I tore down an old style xbox controller. I never used it, I always thought it was to big.
Next we made the board that mounted the pr's. We kept it real simple. Good old fashioned cardboard. We started mounting the pr's then wired them all together.
Next up was soldering the wires to the xbox controllers pcb. Not bad, just 6 lines. Remember to thread them through the hole in the controller's case or your gonna be stuck. It was fun trying to figure out how to wire it up, looking at the pcb upside down and then looking at the analog stick right side up, and trying to figure which is necessary who need more resistance and less, was a pain. It took 2 of us to do it. One to use the multimeter and one to move the stick which was in the vice. So yes I took that pic while moving the stick and he was checking resistance.
Next we had to reassemble the controller. In this iteration the sensor board is soldered directly to the controller, but I will probably get around to putting a small 6 conductor connector on the controller so I can separate the 2 pieces.
Next was put on the led headlamp, hmd, plug it in and test.
It worked great. The only short coming was the fact that the headlight I used was so focused it was kind of an all or nothing affair. I'm going to switch to a normal flashlight bulb and things should be perfect. Here's a few screenshots of the game I was playing. I was kicking ass.
Video is coming as soon as I find my s-video cable so I can capture it from my camcorder. Hope you guys like this and you can use it. It's not polished but it works as is. A better light and fine tuning of distances is all it needs. I have some decent video of me using it in first person mode of "Buffy the Vampire Slayer" (yes I'm a fan, so sue me ;) ). Can't wait to play "Call of Duty" and "Medal of Honor". Should be great as that is what this was really designed for, FPS's.
Total cost was around $6 bucks. Needed 2 packs of the assorted PR's so I could get 4 that matched. Everything else I had.
Here's a video of it in action.