I burned out my ArduIMU V3 and still want to play so I took my flip1.5 with the MPU6050 and created a Frankenstein version of the 3DR ArduIMU1.9 code. I got rid of the fastserial headache and used FreeIMU to initialize and retrieve the sensors over i2c, using the arduino 1.0.3
First problem I had was the orientation of the sensors is different from the ArduIMU, so I had to make several trials before I had a clue how to fix it. I changed the order of how the ADC tab reads in the sensors and finally got it right. I got my sensor signs from FreeIMU.
Luckily, the MPU6000 and 6050 are really the same except for how it communicates. That meant I didn't have to change the constants for gravity or gain.
Once I had the basic IMU working, I wanted to add GPS so that it could use DCM to lock yaw. The problem here is the flip1.5 uses a separate board over i2c to process GPS. To get lat and lon into the DCM, I needed to read the multiwiiserial protocol. It took some work to figure it out but it wasn't too bad. I'm still not sure on some of the units like is it in cm or m and which does DCM need.
Anyway, it works. With it stationary and a fix, if GPS gets wild and erroneously reports a fast enough ground speed, the Arduimu test program will show the plane turning to match the ground course. This is how it should work, but in the air and moving the course and speed will be much truer to life.
The actual changes to the ArduIMU 1.9 program were minimal, with me only replacing the sensor initialization and how it reads GPS, and which pins correspond to the LEDs.