IR Tracking Beacon

In order to track the Wiimote in six degrees of freedom (6-DOF, 3D position and 3D orientation), its camera needs to see four target points, not all in the same plane, at known positions. This requires building a custom infrared beacon, since the IR sensor bar sold by Nintendo (a misnomer since the bar is an emitter and not a sensor) only contains two target points (formed by a cluster of LEDs each for larger range) at the far ends, and is only suitable to determine the yaw or heading angle of the Wiimote.

Mechanical Assembly

The main components of an IR tracking beacon suitable for 6-DOF tracking are four IR LEDs forming a non-planar arrangement and a power source. The overall size of the beacon, i.e., the distances between its LEDs, is a trade-off between accuracy and tracked volume. Due to the Wiimote's camera's small field of view, and due to the fact that it needs to see all four LEDs at all times, a small beacon size increases the angle at which the Wiimote can be pointed away from the beacon and still see all LEDs. On the other hand, due to the camera's low resolution, a large beacon size increases tracking accuracy and reduces jitter.

Current IR Beacon

My current IR beacon, shown in Figure 1, is aimed at desktop applications that require good accuracy at medium distances, and is relatively large. It is based on a Lego backbone, combining a small amount of standard bricks for the frame and battery holder, and some Technic bricks to hold the LEDs and guide the cables.
Figure 1: Photographs of the current Lego-based IR beacon. Top left: View of the tetrahedral LED array. By coincidence, the LEDs fit exactly into the Technic bricks' holes, and were fixed from the back with hot glue. Top right: View of the battery holder and power switch, which coincidentally exactly fit a 2x1 Lego brick. The "on" position is marked because the IR LEDs are completely invisible to the naked eye. Bottom center: Full frontal view of the LED array, as it would be seen by the Wiimote's camera. Click on each of the images for a higher-resolution version.

Electrical Assembly

The current beacon uses a 9V battery block as a power source, a standard three-way switch as power switch, and four Radio Shack high-output 940nm IR LEDs connected in parallel. To limit current to the LEDs, a single 560 Ohm resistor is placed between the battery and the four LEDs. The required resistance depends on the voltage of the power supply, and the exact type of LED used. The circuit diagram for the IR tracking beacon is shown in Figure 2.
Figure 2: Circuit diagram for the IR tracking beacon. Note that the size of the resistor depends on the voltage of the power supply and the actual type of LED used.
Note: The size of the resistor needs to be calculated based on the voltage of the power supply and the specifications of the used LEDs. A too small resistor can cause the LEDs to burn out immediately. If the power supply is rated at X V, and the LEDs are specified at Y V(DC) and Z A, the minimum resistance R in Ohm can be calculated as R = (X - Y) / Z. For the current IR tracking beacon, the minimum resistance is 269 Ohm (X = 9V, Y = 1.2V, Z = 0.029A), but I decided to use a 560 Ohm resistor instead to increase battery life and reduce wear on the LEDs. And because Fry's was out of 300 Ohm resistors.