Using Hacked Wiimotes As Scientific Sensors 110
garg0yle writes "Scientists are repurposing Wiimotes as scientific sensors to help measure wind speed or evaporation from lakes, among other things. At about $40 per unit, the controller is much cheaper than specialized sensors. The scientists are still considering how to add storage and extend the battery life."
Extend the battery life (Score:5, Informative)
There's a few Wii battery packs out there that allow the controller to be powered over USB with a standard A to mini-B cable. Here's one:
http://www.dealextreme.com/details.dx/sku.4978 [dealextreme.com]
Of course, if you drain the battery pack faster than you can recharge it, you might have a problem.
Re:Power Glove (Score:1, Informative)
It's a gyro. Really cool tech actually, in that it's completely solid state (like the accelerometers)
Re:Other Sensor Platforms (Score:4, Informative)
Re:Power Glove (Score:3, Informative)
More specifically, a tuning fork gyroscope [wikipedia.org].
Apparently it is easy to read with i2c as a standalone part, too.
Re:It's not about how much it costs to make (Score:5, Informative)
Cheap sensors work great for things like wind speed and the water level of a lake because any small variation in these readings means absolutely nothing.
Now, as for the wiimote being an amazing tool, it's really not. It's being touted as such by scientists who apparently aren't actually examining how this thing works.
The case in the article mentioned using it to measure water level by using the IR camera on the sensor to record an IR beacon on a floaty thing in the water. You can do the same thing with a cheap ass digital camera and the same laptop that reads the data from the wiimote for about $10-15. They also mention putting wiimotes on a collapsing building to gather data. This is because the wiimote contains a chap accelerometer which you can actually buy on sparkfun.com for much cheaper than an entire wiimote.
Apparently these guys have never heard of embedded devices. The arduino, PIC microcontrollers, and NI DAQ devices have been around for years and would perfectly suit the purpose of data collection. As I'm attending an engineering university currently I've noticed something. Engineers seem to be much more up to date and logical about what's PRACTICAL. Sure, you could use a wiimote, but you could get an arduino, a flash drive, and some cheap accelerometers for about $50 and you could use it to collect AND PROCESS five times the amount of data and use it on orders of magnitude more applications.
Re:Oh Science. (Score:2, Informative)
http://www.nintendo.com/consumer/systems/wii/en_na/privacyEULA.jsp [nintendo.com]
The agreement only restricts what devices/software you can use with the Wii console, not the controller.
Re:It's not about how much it costs to make (Score:3, Informative)
Re:Power Glove (Score:3, Informative)
Yep. That socket in the bottom of a Wiimote is nothing but a proprietary i2c interface connector. You can get accelerometer, button, and joystick input from a nunchuck with a $2.50 Atmel microcontroller. I don't know if they still have them, but sparkfun used to have a little adapter board to let you connect a Wiimote accessory to a .1" pitch 4 pin header.
Re:Power Glove (Score:4, Informative)
While a gyro is necessary to actually do full 6-DOF position tracking (otherwise you must assume that you're holding a specific orientation... this can still be good for something like an in-the-air mouse), the Wii system still wouldn't be good for detecting absolute motion without the sensor bar as well.
The problem is that while the sensors are fairly precise as far as measuring the accelerations (if they're anything like the iPhone sensors they're around 0.02g precise), when you try and integrate them twice to get the position, things start to fall apart. Imagine you do a simple up-and-down motion. You get a sinusoidal acceleration curve that when you integrate it once gives you an offset sinusoid to represent your velocity, and a second integration gives a third one to represent your position. However, at the end, your integration to the velocity level comes out to be not quite zero, because those small acceleration errors will mostly cancel out, but not perfectly. This is still a pretty good velocity estimate, since its close to zero. However, as far as your position is concerned, close to zero and actually zero are very different, so you get a constant, growing drift in your position from a small velocity error. The same things apply to gyros, although the math is a little more complex.
Basically if you want to use a sensor as a double integrator it has to be extraordinarily precise, and even then you're going to get some drift that you have to remove every once in a while, or have an absolute position value to keep it in check (kalman filters do a great job of interpreting data from multiple sensors). What the sensor bar and IR sensors do is give you an incomplete but useful reference on position and orientation that you can use to keep that drift in check. Adding the gyros definitely helps a lot too, but you still need the sensor bar to keep drift in check.