Building a Wiimote USB sensor bar

When the Wii first came out, I had a poke around online to see if anyone had done anything cool with the remote control that it came with - having seen it in action on the Wii, I figured there could be some interesting applications if it could be hooked up to a PC. Unfortunately, I drew a blank. However, in the intervening months, it appears that a lot of work has been done in this area, which came to my attention when reading a post by Roo Reynolds (a fellow IBMer).

The Nintendo Wii’s remote control, colloquially known as the Wiimote, packs a surprising amount of technology into it for a console controller. As well as containing a three-axis accelerometer, it also contains a 1024×768 pixel monochrome CCD, and an object-tracking chip.

In addition, instead of using a proprietory wireless communication protocol, Nintendo instead decided to opt for Bluetooth as a means to communicate between the controller and the console. This means that it is also possible to hook the controller up to your home PC, be it Windows, Mac or Linux-based.

The Wii’s remote control is capable of determining where it is being pointed, when combined with the Wii sensor bar. This bar emits two infra-red beams, which are picked up by the CCD and processed by the object-tracking chip. It can also determine how close it is to the screen, by examining the distance between the two points. In order to use the full capabilities of the Wii’s remote control when hooked up to a PC, these beams need to be replicated.

Fortunately, the IR beams that are emitted are not pulsed in any way, but are continuously lit. This makes it very simple to hack a home-made sensor bar together.

As this will be used on a PC, it makes sense to draw the power for the sensor bar from the computer, rather than relying either on batteries or external power supplies. Fortunately, a standard USB port provides 5v DC at 500mA. Note that this applies only for a USB port either on the PC itself, or on a powered hub. An unpowered USB hub can only supply 100mA, which will be insufficient for this project.

Parts required:

  • 1 USB extension cable.
  • Four high-power IR LEDs.
  • Two 27 ohm 1/2 watt resistors.
  • 50cm or so of wire.
  • Basic soldering skills.

It hardly needs mentioning, but I offer no guarantees as to your success at building this sensor bar. It’s highly unlikely you could break your PC, but if you’re inventive enough it is possible. If you don’t feel comfortable following this guide, find someone else to help you who is.

Construction:
If you don’t understand basic circuit diagrams, it’s probably time to find someone who does - that is outside the scope of this guide.

The USB extension cable contains four wires - out of these, we only need the red (5v) and black (ground) wires. Make sure you cut the correct end off the extension cable - you need to be able to plug this into your PC at the end!

The four LEDs will be grouped into two groups of two. By making each point consist of two LEDs, we double the output, which increases the range that the Wiimote will be able to detect our sensor bar.

The LEDs are wired together like so:

Wiimote Sensor Circuit Diagram

Note that while the 27ohm resistors will probably work for you, it depends on the specifications of your IR LEDs. To avoid risking damaging the LEDs, you should calculate the resistors required based on the specifications of your LEDs. There is an excellent calculator to do this here.

Testing:
Obviously, as the LEDs output infra-red, it’s difficult to check if they are working. The easiest way to check is to use a digital camera - a mobile phone camera is ideal. Pointing the camera at the LEDs should cause them to show up as white dots on the mobile phone screen.

Mounting:
The sensor bar LEDs could be mounted in a project box for easy transportation. Alternatively, if the sensor bar is unlikely to be moved, they can be mounted to your monitor more discreetly - I simply attached the LEDs to the bottom of my TFT with a small amount of blu-tack:

Homemade Wiimote Sensor Bar

Conclusion:
The Wiimote seems very happy with my homemade sensor bar. Using the excellent Wiinremote, I am able to control the mouse cursor by simply pointing the Wiimote at the screen.

The range of the device is at least 5 meters, which is more than enough given the size of most computer screens.

Useful Links:

  • LED array wizard - use to calculate the resistor values required based on the specifications of your LEDs.
  • WiiLi.org - the Wii homebrew Wiki.
  • WiiLi Forum - the associated user forum.
  • WiinRemote - a simple Windows driver for the Wiimote.

3 Responses to “Building a Wiimote USB sensor bar”

  1. Yay. Nice hack. I think I’ll be making one of these too.

  2. You know, the range is not determined so much by power as it is by width. If the LEDs are grouped close together, it’s great for close usage, but terrible for distance considering the limitation of resolution. If using this for a pc, you should probably have it about 6 inches apart. for a projector, probably at least two feet. There is no need for two unless you are using it outside, where there is lots of infrared sunlight. however, inside there is very little to compete with.

  3. Great instructions though. I’m not trying to bash you or anything.

Leave a Reply