Hacking Wiimote Bluetooth

[mo] sent me this video showing the latest on hacking the wiimote via bluetooth . They haven’t figured out all the values yet, but this is only the beginning. How long until we see some mac/pc games that can use the Wiimote?

43 thoughts on “Hacking Wiimote Bluetooth

  1. This is pretty interesting actually. i like the deomonstration how how when it is in free-fall, the acceleration on all axis is 0. My physics teacher would love to see this.
    I think it could be very simple to control a PC game with the wiimote

  2. Definitely a LOT of potential for the wiimote! As a strict PC user this really opens up a lot of possibilities.
    And ditto #2! Was starting to get a little nauseous with the constant rocking throughout the vid.

  3. He said that it isn’t [i]measuring[/i] any acceleration.

    Because it is accelerating at 1g down, that cancels out the constant 1g from the planet, so it measures 0.

    No errors, you just need to pay attention.

    In any case, I can’t wait until we have drivers for the wiimote and ps3 controllers. Too bad the 360 uses a proprietary standard.

  4. Huh? The wiimote senses acceleration when it’s just sitting on the desk because of gravity? That doesn’t make any sense. Acceleration is meters per second per second. And so if it’s standing still, there’s 0 acceleration. There is a downward force acting on the device, but that’s being countered by the upward force of the table. But there certainly isn’t any acceleration.

  5. Wow, some people need to read up on basic physics. I don’t claim to be an expert, but I am pretty sure that simply sitting in a gravitational field means you are accelerating. Yes, it sounds strange, but you are in fact resisting gravity. To give in to gravity, to “free fall”, is the only time you can be free of this acceleration. Sure, you have to accelerate to that rate from standing still, but that happens pretty quickly.

    To put it another way.. think of a spaceship drifting through space. Inside that spaceship you would feel no gravity, and float around inside the ship. But if you were to accelerate at 32 feet per second per second, you would feel the equivalent of Earth’s gravity.

    Yes, acceleration and gravity are indistinguishable from each other. It sounds strange, but go read some physics and learn about it. Again, I’m no expert, and I might have stated some of this rather clumsily, but it’s true. I hope a physics major can come along and straighten this up more tidily.

  6. The wiimote is not measuring acceleration when it’s standing still. It’s just that it’s “zero” value is around 9m/s/s. That’s why when it falls it measures 0. Why it’s designed like this is the real mystery to me….

  7. I thought this thing just took the positions of the IR leds and transcribed that into remote position. Kinda like VR positional camera systems. I used to program VR stuff so I wonder if this would be similiar in anyway. Seems like a direct representation of those camera capturing systems used for virtual reality. Sensors and reflection from IR leds and cameras to capture the positions. Just what it seemed to me from the beginning. Any links of open wiimotes?? Like to see the capturing device.

  8. well this is going to turn into a bs wiimote wannabe for Mac/PC sometime. “Play your Wiigames on Mac or PC then right back on the Wii with the **** Branded Nintendo Wii Hybrid controller” those asterisks^ were meant to be just a placeholder, but they really stand for shit

  9. re:20

    0 is easier to remember and use in programming.

    rather than having to change your variables to + 1 or -1 on the accel, just change it to output “0”.

    Pure ease of use – remember while they ARE using physics, they also just want things to be easy to program, and remembering that you need to + or – 1 is not good programming! (unless for some obscure reason you’d need that, but they don’t, in this case)

    /most/ people would say that 0 is standing still, not 1.

  10. jacubilloro said: “Why it’s designed like this is the real mystery to me….”

    Watch the Wii PC videos again; it’s because you get tilt control when it’s designed like this. When you tilt it, the other axes will show nonzero acceleration values. Outside of any gravity field, all sensors will read zero.

  11. Post # 2 (chris), 11 (…), 18 (grim_factor) : sorry guys, but you are the ones who are incorrect. I majored in Physics. Yes, they are called “ACCELERometers” but what do they ACTUALLY measure (meter)? They actually measure the FORCE excerted by whatever outside source is acting on the device, whether that force be gravity or a “change in speed/direction” (which manifest themselves identically). When the Wiimote is lying flat on a table, two axes experience no force being applied. The third axis experiences the force of gravity which the device translates as acceleration. The device does not know whether it is near an object that has a strong enough gravitation field to exert that force or whether it is “free floating” in space and being accelerated by a rocket motor (see F=ma below). As others have noted, acceleration BY DEFINITION is the rate of change of the speed of an object, or speed (distance/time) change per unit of time (1/time). While lying still on the table, the object is not changing direction or speed, it is merely being acted upon by gravity. If the table were removed gravity would CAUSE acceleration and the force acting on the internal mechanism would now be equal to the force acting on the exterior of the Wiimote (the UPWARD force applied by the table is gone) so the measuring mechanism would have no DIFFERENCE in forces to measure.

    Anyone who took college level physics can probably recall that their prof probably joked about deriving the “meaning of life” from
    F = ma
    Force = mass * acceleration

    This leads to an interesting observation: acceleration CANNOT be measured directly. It is always DERIVED from at least two other measurements, i.e. how fast (usually m/s) was the object going 1 time-unit (usually 1 second) ago and how fast is it going now, take the difference in speed and divide by the time unit ( m/s / s = m/s^2 ). Of course speed is derived from the measurement of the separation of two locations (distance) divided by the time required to travel between those to locations. Alternatively, force applied to an object can be measured and the mass of an object can be measured. A quick bit a algebra changes F=ma to F/m=a. So we take the force applied and divide by the mass of the object and get the amount of acceleration caused on the object.

    What does all this mean? Diddly-squat!!! As Juliet said, “That which we call a rose/ By any other name would smell as sweet;” This is really cool and I look forward to seeing the interesting applications people come up with! :-)

  12. It is perfect that it measures the gravity acceleration when standing still. Because it measures x,y and z axes. You can figure out the position of the device by looking at these values. So the user can just tilt the device and the accellerations change on the axes. Check out my xmms wii control scripts on my page by the way. I just got a wii remote for christmas and after few hours it already controls my xmms mp3 player in ubuntu (since I dont have a wii console to use it :) ).

  13. Frame of reference.

    If you’re on a train, you see everything going backwards, but everybody sees you going forwards. Same thing is happening here: when the wiimote stands still, it feels a downward force. When it’s falling, it feels no force. The accelerometer isn’t measuring acceleration, it’s measuring the forces acting on the accelerometer, which since F=ma, is proportional to acceleration, which is why it gets the name. It’s really a force-ometer.

    HOWEVER! The wiimote uses infrared LEDs to sense its position, I think … see ‘wii don’t need no stinkin’ sensor bar’. Thus it’s a position sensor. Unlike the Gyration mouse! It uses solid-state gyroscopes which they claim utilize the Coriolis effect (why hurricanes have the directions they do). You just tilt your wrist and the cursor moves. It’s quite sweet. I love it.

    Anyway, frame of reference is why Einstein’s theory was so new – one if this many great discoveries was that the speed of light is constant in each frame of reference. Thus simultaneous events are not always simultaneous.

    I’ll leave you with this question: suppose the sun were to suddenly disappear. Besides all humanity dying, the earth would obviously start going in a straight line tangent to its orbit. But tangent at what point? Where it was when the sun disappeared, or where it was 8 1/2 minutes later? The former is what Newtonian physics dictates, the latter is Eintsteinean.

    Eh I’ve babbled for too long already – hope this was useful!

  14. the wiimote senses apparent gravity (acceleration). normally, the apparent gravity (acceleration) that the wiimote experiences is 9.8 m/s/s, but in freefall, the wiimote experiences no gravity (acceleration). just like you feel weightless when you jump off a cliff.

    and it’s theorized that the earth would stay in a normal orbit for those 8 1/2 minutes, since gravity travels at the speed of light.

  15. is it possible to capture the wii remote data for an action, say, bowling a strike in wii sports, then use a computer with bluetooth to broadcast the captured strike? basically can you record your motions and play them back to the wii from your pc like macros?

  16. Newbs, STFU and learn physics. Acceleration due to Earth’s gravity is 9.80 m/s^2. This means if you hold a Wiimote 1m above the ground, it will be traveling 9.80m/s when it hits. Gravity is always pulling, even if you’re not moving. It’s basic physics. End of discussion. Stop flaming.

    Other than that, interesting finding.

  17. I do math, not physics, but I think post 38 is wrong. If you do the math, you end up with the object hitting the ground at about sqrt(-2*g), which on our planet is about 4.427 meters per second.

  18. Yes, the Wiimote is measuring acceleration when standing still, the rate of gravity. There are g-forces acting on your body right now, as you sit still in your chair. Acceleration is just how hard those g’s are pulling. You swing the wiimote up and the g’s increase for it to measure, likewise with left to right, tilting, etc. But there is always the constant pull of gravity, even if something is stopping you from moving.

  19. “Yes, it sounds strange, but you are in fact resisting gravity….”

    If you’re sitting on a chair, and gravity is acting on you, you are not accelerating, because the chair is exerting an equal and opposite force against you. You are resisting nothing. If you are in free-fall, you are accelerating because in an inertial reference frame, your velocity is not constant.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.