One of my favorite activities to do when I have some spare time is hacking the Wii, more specifically, the Wii-motes to interface and work with my computer.  A lot of my inspiration for this comes from Johnny Lee, a professor of HCI at Carnegie Mellon University.  The Wii-mote is an interesting piece of technology.  It is readily available and affordable at about $40 each.  They contain a relatively high powered IR camera along with some accelerometers and a Bluetooth connection.  Plus, they are fairly durable, just ask anyone who has thrown their Wii-mote into their fancy new TV, or just go to YouTube to find out.  Some of my more primitive projects regarding programming the Wii-mote are a basic mouse utility to control the mouse on my computer with the Wii-mote without using IR.  The big problem–control.  The motion of the mouse was strickly based on the readings from the accelerometers which can only determine pitch and roll, not yaw.  This means that movement along the x-axis is controlled by roll, this is an extremely unnatural and counter intuitive to use.  My next project will be to create an IR emitter which can attach to my computer via USB (I don’t have FireWire).  This can be an issue because the voltage output of USB is only 5v compared to FireWire’s 12v output.  Another, simpler project I did was what I commonly referred to as WiiTunes.  A simple program that used the Wii-mote to control iTunes.  The buttons on the Wii-mote correlated to buttons in iTunes so I could be a number of places and still control my iTunes library.  Lastly, another simple project is to use it as a PowerPoint remote to control the flow of a slide show during a presentation, this will get you major geek points.  A good resource to get started with programming your Wii-mote is to head over to WiiLi, a wiki based site filled with great information.  Here is my favorite project by Johnny Lee, it uses head tracking to create a 3D environment.