That's right, Nintendo's Motion Plus addon is out, and inside is a 3 axis, 16 bit gryo (well, a 2 axis gyro and a 1 axis gyro). Which is way better than the 2 axis, 10 bit one I was expecting. Communicates via I2C and costs less than $20. This could be pretty revolutionary for hobby IMUs. Coupled with a Nunchuck, its a 6DOF all digital sensor for $40!Details on the innards and protocol here.For the moment, it seems that you need to switch between the Motion Plus and the Nunchuck via a somewhat complicated method. Can't just read them both from different addresses. Hopefully that will be resolved when people better understand what's going on inside it.There's also some mention of it being able to run at two different sensitives toggled by some i2c command. And possible temperature compensation (they did this in software, only using the gyros?)Eventually I'll write some arduino code for the Motion Plus, but there are probably lots of you out there who could do it better/faster, so by all means give it a go!PS: Anyone know about progress on adapting the DCM method to ardupilot/arduino?
@Todd: Pretty sure all of that is I2C. The addresses discussed there resemble the method I've seen elsewhere for communicating with a nunchuck via I2C. Uh...I think. Could be mistaken
@Jack: Why in the world would you want to do that? You've got a board designed specifically to give you a high resolution digital 3 axis gyro. Maybe you could bring down the weight a bit by salvaging the gyros, but doesnt really seem worth it to me.
I believe the documentation / protocol you point to is over the wireless bluetooth (I don't see anything related to I2C adresses / registers and motionplus), has there been anything done towards listening on the I2C, and getting the data straight through hard connection?
Hmm, so you're saying a simple data request will return the 6 bytes of motionplus data and the 6 bytes of nunchuck data? I got the impression that when the motionplus is enabled it takes over the address from whatever is connected to it. Deactivating it then frees up that address for the other peripheral. But...that's just from reading, havent been able to test it yet (3 prong screw driver is on order...)
The nunchuck address of 0xA4 gets incorporated into the motion plus address of 0xA0. Then commands are sent to the motion plus on address 0xA0 and both gyro and accelerometer data is read on 0xA0. That's if you plug the nunchuck into the motion plus. Normally i2c bus is a parallel bus, BUT with the motion plus nunchuck combo, the motion plus rear i2c is only connected to the microprocessor in the motion plus so the software in the motion plus can do some trickery. I got one of the first ones at Best Buy and cracked it open. I am developing my UAV for a Parallax Propeller chip. It is called AutoProp8 if your interested.
Comments
@Jack: Why in the world would you want to do that? You've got a board designed specifically to give you a high resolution digital 3 axis gyro. Maybe you could bring down the weight a bit by salvaging the gyros, but doesnt really seem worth it to me.
-Todd
DIY DRones discussion
These sensors have gone from $35 to almost nothing in 3 months.