I enjoy playing simulation games. Head tracking is very important in these games, to look around, follow an enemy, or see the car on your side.
However I was not happy with the existing solutions : tracking using only a webcam barely works even with a good camera, and only with light on, and I felt stupid wearing a 3 leds cap device on my head. These solutions also could not track on 360 degrees.
So I designed a tracker based on an Arduino, and a 9 DOF IMU. It works wirelessly using bluetooth, and is fully configurable in the user interface (sensivity, deadzones, etc). It is rechargeable, and could last several hours (>12) on a single charge. Enough for a full gaming night !
It works using FaceTrackNoIR software (Freetrack protocol, TrackIR compatible), so it is well recognized in most games.
It could also send its positionning data using a joystick
emulation (for games that does not support FreeTrack protocol) using the micro-USB port on the Arduino, and raw serial data (for
robotics) on the specially exposed pins. Actually, I only added these 2 modes because I could, but I never use them.
One push-button sets the center point, and another push-button switches between modes (FaceTrackNOIR, joystick/mouse, raw serial). One push on both buttons starts the calibration mode. Now the device is well calibrated, and I'm using a VoiceAttack voice command for centering, So I don't use these buttons anymore. So in a later revision using this IMU, I may keep only one button for initial calibration. But I'm also planning to build another one using another IMU that does not need inital calibration (Intellisense MPU-9250) and will be way smaller.
The RGB led blinks briefly once every seconds to show the working mode : Blue = Freetrack, Yellow = joystick, Green = raw serial, Blue-Red = calibration.
The 3D printed enclosure uses 4 mounts, for easy use with rubber bands. This is very versatile, and could adapt on every headphones I own, even on my plastic Google Cardboard helmet.
I'm using it extensively since almost 3 years, and could not live without it.
Note : The youtube demo videos 1 and 2 have a high deadzone setting. The demo 3 shows no deadzone, and it is way more immersive. This is easily configurable via the FaceTrackNoIR UI.
Hi. Did you posted the arduino code? I couldn't find it...