As of June 2008, Nintendo has sold nearly 30 million Wii game consoles. This significantly exceeds the number of Tablet PCs in use today according to even the most generous estimates of Tablet PC sales. This makes the Wii Remote one of the most common computer input devices in the world. It also happens to be one of the most sophisticated. It contains a 1024x768 infrared camera with built-in hardware blob tracking of up to 4 points at 100Hz. This significantly out performs any PC "webcam" available today. It also contains a +/-3g 8-bit 3-axis accelerometer also operating at 100Hz and an expandsion port for even more capability. These projects are an effort to explore and demonstrate applications that the millions of Wii Remotes in world readily support.



Any software on this page is primarily meant for developers and may not run without proper the development tools installed. Downloading and installing this software is at your own risk, and no support or guarantee is provided with this software. The official discussion forums for my wiimote projects can be found here: WiimoteProject.com



NOTE: For most of these projects, you don't need the Nintendo Wii console. You only need the Wii controller and a bluetooth connection.

Tracking Your Fingers with the Wiimote Using an LED array and some reflective tape, you can use the infrared camera in the Wii remote to track objects, like your fingers, in 2D space. This lets you interact with your computer simply by waving your hands in the air similar to the interaction seen in the movie "Minority Report". The Wiimote can track upto 4 points simultaneously. The multipoint grid software is a custom C# DirectX program.



Software

To run the grid program you see in the video:

1. First, follow this walkthrough on using the wiimote with C#. You may need to download a copy of Visual C# Express to compile/run this sample if you don't have it yet.

2. Download a copy of the DirectX SDK. You may not need this to simply run the sample grid program, but you will need it if you want to make any changes to it.

3. Download the Wiimote Multipoint Grid sample program. Make sure your wiimote is connected via bluetooth, and then run the ".exe" shortcut in the main folder.



A visit to this project's FAQ and Advanced Discussion post may be very englightening. You may also find the official discussion forums for my wiimote projects helpful: WiimoteProject.com

Head Tracking for Desktop VR Displays using the Wii Remote Using the infrared camera in the Wii remote and a head mounted sensor bar (two IR LEDs), you can accurately track the location of your head and render view dependent images on the screen. This effectively transforms your display into a portal to a virtual environment. The display properly reacts to head and body movement as if it were a real window creating a realistic illusion of depth and space.



The program only needs to know your display size and the size of your sensor bar. The software is a custom C# DirectX program and is primarily provided as sample code for developers without support or additional documentation. You may need the most recent version of DirectX installed for this to work.



Software

To run the DesktopVR program you see in the video:

1. Connect your wiimote to your PC via Bluetooth. If you don't know how to do this, you can follow this tutorial. I've been told it works with other Bluetooth drivers, but I have not tested them myself.

2. Download the WiiDesktopVR (v02) sample program. Read the README file on program usage and configuration. Launch the "WiiDesktopVR.exe" in the main folder. A potentially more stable/Vista/64-bit compatible version has been created by Andrea Leganza. There also may be more variants on the web.



NOTE: If you are having trouble with running the program, you can check my project blog post about it or check the forum for assistance. I am unable to replicate these problems, so it hard for me to debug them. But, other people have figured it out. Things that have been identified to help: delete the "config.dat" file and re-run the program, install a new version of Direct X, or istall .NET 2.0.



Developers Notes: The code is built on top of this Wiimote library. To compile the program, you will need a C# IDE and the DirectX SDK. More notes are in the README.



A visit to this project's FAQ and Advanced Discussion post may be very englightening. You may also find the official discussion forums for my wiimote projects helpful: WiimoteProject.com

Coming Later: 3D tracking, and more....

Unfortunately, time constraints in the next couple of months have significantly reduced my ability to work on more projects. But, you can subscribe to updates via my project blog [procrastineering.com]