I found this in one of my rss feeds:
The MPU-9150™ is the world’s first 9-axis motion tracking device designed for the low power, low cost, and high performance requirements of consumer electronics equipment including smartphones, tablets and wearable sensors.
The MPU-9150™ is actually two chips in one package: the MPU-6050 ( 3-axis gyro / 3-axis accelerometer ), and an AK8975 ( 3-axis digital compass ). They’ve also included what they call a Digital Motion Processor™ (DMP™) which is used to precisely process and ship sensor data over I2C.
It’s pretty small- 4x4x1mm with a 2.4 to 3.34V operating range. So… probably not something you can hook-up directly to a microcontroller. [Via]
I would like to hear from people who have used the HMC5883L and the MPU9150. While trying the sensors as a compass, we realised that the 9150 was too sensitive and varied too much while the hmc was more stable. Any suggestions on how to get more stable values out the 9150 when used as a compass.
Also on the hmc, you can change the sensitivity. Is it possible to do so on the 9150?
Though I'm not using MPU6050 DMP at present, I'm using Mahony's DCM filter in quaternion form to fuse data from MPU6050 & HMC5883L. I have no problems so far. Fusion is working fine.
I also like to experiment DMP soon. For any updates check : http://harinadha.wordpress.com/
I heard AK8975 ( 3-axis digital compass ) on MPU-9150 is too sensitive.
@Logan Greenlee, this link might be useful regarding your i2c question:
AFAIK the DMP code only exists on the I2C version of the chip and hasn't been ported to the SPI version used by the ArduIMU V3. This assumes that the I2C binary blob is the same as the SPI, which isn't necessarily the case.
Short of finding an SPI chip in the wild and grabbing the code off the bus during startup, Invensense does not seem to be in any hurry to support DMP on the chip used on the ArduIMU V3. SPI Embedded MotionApps is supposed to be under development, but it's anyone's guess when that will be delivered. The I2C arduino code has just been updated this last week though.
Regarding the MPU 9150, I'm not going to be an early adopter this time around. If Invensense delivers an actual working product this time I will probably suck it up, but I'm waiting for success stories before I spend any money. "Fool me once..."
@Andras: Everbody and their brother in the open source world now appears to have the code necessary to use the DMP.
@Jawahar: That's really neat! I'd love to see that used on the next APM, with wireless data transfer to the main CPU/IO unit. No more wires getting in the way of a great vibration damping system for those gyros!
Andras, sorry, our project is not open source, at least we can't provide the code before our first official firmware release.
Krill, where is the source code ?
As for DMP, yes, it was very hard to make communication with it, however, we finally did it. Main MCU reads already-processed data (quaternion / Euler Angles) via FIFO at 200Hz rate (the maximum which MPU provides).
It flies very stable, you can check it here http://sky-drones.com/video.php
Question - why does everyone hate I2C?
@ThomasB like some others have eluded to - there are lots of words surrounding the capabilities of the MPU chips. The 6000 and 6050 both are advertised as 9DOF capable but the only chip that it might work with is the AK8975. Based on all of the forum posts no one has actually gotten it to work. The code is very difficult to work with and uses the ASF framework, but it only works with 3 boards and converting the project is a huge pain. I recently tried to port the project to the StackFoundry Copper UC3B board and had issues. Even if it does work, it will still need a filter to help stabilize precession with a mag sensor or GPS COG input.
There is an I2CDev project that has made excellent progress reverse engineering the MPU. However, it has taken almost 7 months since I started tracking this. DIY drones actually sold this board last year, but it was not possible to fit the required APM code on the 328p chip at the time - I was a little miffed when told that the "software was free" and that selling the board was no expectation of an actual working product.
That said there is FreeIMU, which I have actually gotten to work with a Pro Mega and the 6050 under I2C.
The code has support for many of the sensors we are fond of. The board is nicely built, but i really wish everyone would make mounting holes a design requirement for their PCBs!