I am trying to get the position data from an IMU 6 Degrees of Freedom (MPU-6150) board using an Arduino Uno. I am trying Jeff Rowberg’s example MPU6050_DMP6.ino that may be found here.

This is the first time I've worked with an IMU. I have no idea whether it's possible to get the position data using the using quaternions and yaw, pitch and roll data? It would be great if someone can explain how to find the position of the sensor (translation in cm or mm and rotation in degrees) using that sketch.

  • \$\begingroup\$ Postion is the second integral of accelleration. Unfortunately, small accelleration errors become position errors proportional to the square of the time since the last known position. Usually drift is such that after a second or two the integrated position is useless. \$\endgroup\$ Apr 10, 2013 at 12:03
  • \$\begingroup\$ Try reposting this in dsp.stackexchange.com also \$\endgroup\$
    – hassan789
    Apr 10, 2013 at 15:36
  • \$\begingroup\$ Position will drift... correcting for that drift via a camera or "differential GPS" is the best way I know how to get accurate x,y,z position. Note: attaining the euiler angles is much easier than attain position \$\endgroup\$
    – hassan789
    Apr 10, 2013 at 16:44
  • \$\begingroup\$ @hassan789 - Thanks! Do you recommend any reference for how to correct the drift using camera with an IMU 6DOF \$\endgroup\$
    – Sanjeevi
    Apr 12, 2013 at 5:50
  • \$\begingroup\$ Theres no short answer to this... you can open another question. In the meantime, goto diydrones.com \$\endgroup\$
    – hassan789
    Apr 16, 2013 at 14:37

1 Answer 1


I have never worked with this component before.

First off, you may or may not realize, but it is impossible to measure exact position with the gyro & accelerometer, but only change in position. The gyroscope will give you orientation, but if you are not moving, or moving with negligible acceleration, the 3-axis accelerometers in your MPU-6150 will not give any signal.

I would suggest to look at the datasheet. Which I found here:


By the looks of it the device will use an I²C Bus which you will have to use to communicate between the two embedded devices.

Hope it helps


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.