Hi Josh,
Sorry I didn't reply earlier, but I did take a look and your magnetometer data is very wrong, no question there. The accelerometer and gyroscope seems to suggest that the device is at rest, however the magnetometer offet changes radically. This MUST be coming from external sources.
The magnetometer calibration status also reflects that. When it is 0/3, the magnetometer data in ignored in the sensor fusion, and heading drift is inevitable.
Hope that helps you find the problem.
... View more