Wii-Stuff



Because motion controls are awesome.

I/O
See also the Wiibrew article.

Accelerometer
3x 8 bit, for X, Y and Z. The readings include earth gravity (1G). Supported range is about -6G .. 6G, giving us a pretty bad precision of 0.04G.

Useful for determining the absolute wiimote tilt state (pitch/roll/yaw) and throws (x=y=z=0 ⇒ "zero gravity" at the tip of a throw)

tilt sensors (MotionPlus)


Roll, Pitch and Yaw, 16 bit per value. Only reports relative motion, earth gravity doesn't matter. Also, it only reports motion around the Wiimote's own axis. Moving the wiimote up/down/left/right on a straight line doesn't really affect the readings.

Useful for pointing devices (works as good as infrared pointing) and detecting rotation (augmented reality).

Speaker
See Wiibrew.

LEDs
Four LEDs. The bluetooth connection is fast enough to implement software PWM with 10 brightness levels.

Buttons
Can be read via Polling and Interrupts.

Done

 * Neverball: Wiimote is already supported, use tilt_wii.patch for balance board + wiimote support. Note that the patch is unstable and may crash while syncing.
 * pointing device: wminput supports infrared and button controls. Using the MotionPlus, one can have infrared-behaviour without actual infrared LEDs. The patch is available in the mplus-pointer branch on github
 * Audio output with MPD interface (low quality)
 * interactive blinkenlights using the LEDs

Ideas

 * Stepmania via Balance Board? (if it is precise enough)
 * Minecraft: Movement via Balance Board, wiimote as pickaxe
 * Use Wiimote as lightsaber (already possible for smartphones, but... whatever :p )

Videos

 * Neverball with balance board: mkv / youtube
 * Testing Minecraft "Augmented Reality": mp4 / youtube
 * Audio example: Imperial March