|
|
Log in / Subscribe / Register

Linux Connectivity for the Wii Remote

By Forrest Cook
November 5, 2008

Linux has had support for numerous hand-held infrared remote control devices for many years through the Linux Infra Red Controller (LIRC) drivers. There has been recent work to include LIRC in the kernel. The Nintendo Wii Remote is a more sophisticated remote control that was developed for the Wii game platform, it is accessible through a collection of Linux tools called CWiid. Wikipedia describes the Wii Remote:

The Wii Remote, sometimes nicknamed "Wiimote", is the primary controller for Nintendo's Wii console. A main feature of the Wii Remote is its motion sensing capability, which allows the user to interact with and manipulate items on screen via movement and pointing through the use of accelerometer and optical sensor technology. Another feature is its expandability through the use of attachments. The Wii Remote was announced at the Tokyo Game Show on September 16, 2005.

The Wiimote hardware capabilities (photo) include:

  • Two-way wireless Bluetooth connectivity to the host.
  • A screen-mounted Sensor Bar with multiple IR light sources and a 5 meter range.
  • A built-in IR camera with distance and rotation sensing capabilities.
  • A three axis accelerometer for detecting hand motions.
  • Six general purpose remote control pushbuttons labeled A, -, Home, +, 1 and 2.
  • An up-down-left-right four-way pushbutton.
  • A power switch.
  • Four remote controlled LEDs.
  • A built-in speaker for providing audio effects.
  • A "rumble" device for producing vibrations.
  • Built-in non volatile memory with space for user data.
  • A hardware expansion port.
  • Powered by two AA cells, can use rechargeable types.

CWiid was written by L. Donnie Smith and has been released under the GPLv2. The project has been around since March, 2007 and is currently at version 0.6.00. The libcwiid API document explains the CWiid software interface.

There are currently at least twelve programs using CWiid. Some of the highlights include control of DMX lighting systems with Wiimote Control, 3D display of chemical structures using the Avogadro molecular editor, the WiiOSC control device for music programs and a newly released prototype Wiimote Control for the Ardour multi-track audio editor. Although the Wiimote control is ideal for use in games, there don't appear to be any such developments under Linux at this point.

One of the more interesting uses of the Wiimote includes Head Tracking for an immersive 3D experience, based on the work of Johnny Chung Lee. This approach to 3D visualization produces full-color displays, unlike the the old-fashioned 3D movie technology that uses glasses with red and green lenses. Other 3D technologies require expensive LCD shutters that tend to produce a lot of flicker. The head tracking 3D technology would be well suited for use by the physically disabled.

New Wiimote devices can be purchased for $40 or less. Many of them exist on the used markets, thanks to the popularity of the Wii platform. If your favorite application could benefit from a two-way wireless remote control device with a wide variety of features, the Wiimote looks like a good choice.



to post comments

Linux Connectivity for the Wii Remote

Posted Nov 6, 2008 8:58 UTC (Thu) by kleptog (subscriber, #1183) [Link]

This software is quite cool. Combined with a NES emulator you can play those old games using a normal controller, rather than having to use a keyboard.

Linux Connectivity for the Wii Remote

Posted Nov 7, 2008 8:35 UTC (Fri) by dlang (guest, #313) [Link]

take a look at http://code.google.com/p/linux-whiteboard
it lets you point two wiimotes at a screen and then use an IR LED 'pen' as a mouse

other people have replaced the IR filter on the wiimote with one to match a laser pointer (or in the right lighting, no filter) and then just use a laser pointer.

combine this with something like the inkscape whiteboard function (though a jabber server) and a projector, and you have a cheap, but effective collaberation tool

Linux Connectivity for the Wii Remote

Posted Nov 18, 2008 13:01 UTC (Tue) by Velmont (guest, #46433) [Link]

Last youle I tested cwiid, was a really simple API. I made a very bad OpenGL-game using the wiimote. :-)


Copyright © 2008, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds