The ordinary Wii remote combines a 3-axis accelerometer for the detection of pitch and roll with a point-tracking infrared camera. When the sensor bar (actually a pair of infrared LEDs) is within the field of view of the camera, the absolute position and orientation of the remote can be calculated. However when the sensor bar is not in view of the camera, the only information available is the pitch and roll or other accelerations (e.g. percussive motion or shaking). The Wii Motion+ adds gyros for rate-of-rotation sensing.
Obviously, the remote is designed to for pointing applications where a fixed object is usually in the forward view, i.e., the game visual display. However, the goal of this project was to make a pointer that provides absolute position and orientation sensing over a three dimensional volume of space with no constraints on the direction of orientation. This means the optical method of determining the heading and position of the remote is no longer sufficient.
First, I removed the IR camera using a cutting tool. The camera IR-pass filter was replaced with a Madcatz Gametrack clip. The builtin speaker was also removed, and using a Dremel, the plastic housing around the speaker was also removed. In its place I put in an XBee radio transmitter.
An OS4000 3-axis compass was inserted into the empty space where the camera once was. This tiny compass module has an on-board 3-axis accelerometer and automatically compensates for the platform tilt. Because I was unable to mount the compass flat, it was reprogrammed to use orientation setting #5 where the heading points out the top of the board. The compass output is TTL serial and is wired to the XBee serial input. The XBee is wired to the Wii remote battery terminals.
Using lots of electrical tape to route the wires, the remote is carefully packaged up.
Screws are replaced. I use an ordinary flathead screwdriver for this operation.
The completed remote. Only minor damage from the dremel along the edge. Apart from the missing camera, this the buttons and acceleration sensors are still fully functional.
A second XBee module is configured as the network master and relays the compass data to a computer over USB-Serial.
A MadCatz Gametrack is mounted overhead on the ceiling. This inexpensive unit is sold for a golfing game on the PS2. The Gametrak uses a nylon tether (red line in photo) that is spring-tensioned. A geared turn-pot senses the distance the tether is pulled out. The tether is threaded through a 2-axis analog joystick. Combining one radial measurement and two angles, it is possible to obtain the absolute position of the end of the tether, anywhere within a conical region below the Gametrack.
The Gametrack tether connection.
Now connected to the modified Wii remote.
The remote also has the correct weight to achieve neutral buoyancy versus the retraction spring. This has interesting applications enabling pendulum-like kinetic interactions as well as "parking" the remote at a particular height in space.
The 3-axis compass, by measuring the direction of the Earth's magnetic field, enables us to determine the difference in absolute orientation. For example, we can now determine the difference between this orientation:
and this one: