I am using a 3 axis gyroscope (Android device) to record angular velocities using a sensor data logger application.

When the device is placed stationary, the gyroscope recorded the following values:

  • X: 0.003
  • Y:0.00042
  • Z:0.0045

At an instantaneous time t.

If I resolve the vector components to find angular velocity using the below formula,

enter image description here

(Is this formula correct btw?)

The angular velocity of the device = sqrt(0.0000009+0.0000001764+0.00002025) =0.0046 rad/sec = 0.26 deg/sec

What is the reason that the device is calculating a rotational speed of 0.26 deg/sec even when the device is stationary?

The Earth's rotation rate is only 0.0041 deg/sec. What am I missing here? Is this a calculation mistake or is this due to the sensor noise?

I am aware that cheap sensors used in Android devices are susceptible to noise data.

What I wanted to know is:

  1. Do gyroscopes in general (fiber optic gyroscopes and MEMS gyroscopes) record the angular velocity of the Earth's rotation around its own axis?
  2. Do gyroscopes also record the angular velocity of the Earth's revolution around the sun?

If the angular velocity of the Earth's rotation and Earth's revolution around the sun is recorded by the gyroscope, what is the optimal method to remove it?


  1. For the final project we are using fibre optic gyro scope to measure orientation of a ground vehicle, The above experiment was only for Proof of concept using MEMS IMU.

However I understand that due to difference in sensitivities of measurement and error factors in MEMS and Fibre optic gyroscopes these devices may or may not measure earth's rotational velocity (It is possible for fibre optic gyroscope to measure earth's rotational rate i.e., earth's angular velocity)


My end goal is to design a system which records the orientation of a car in 3D space for a time period of 24 hours using a fiber optic gyroscope,

However if fiber optic gyroscopes record earth's rotational rate velocities I am here to ask for the method of compensation of these velocity from my gyroscope readings. Since rotational velocity of earth is subjected to change in each axis of gyro to give different values w.r.t orientation of device on earth, what is the optimal method to remove earth's rotational velocity from gyroscope readings any literature/Research Papers recommendation for this specific topic will be helpful I am using integration for the recorded angular velocities to find the angular displacement in each axis.

  • 1
    \$\begingroup\$ Not a gyroscope expert here, but it measures angular acceleration around ITS own axes. And the distance from us to the Earth's center is pretty big. The gyroscope shouldn't be able to pick that up. Accelerometers however are a different story. They DO pick up the G vector, and it is very visible. In fact you can even use that to enhance your gyroscope readings. I'm no expert tho so don't really take my word for it. \$\endgroup\$ Mar 14 at 12:50
  • 1
    \$\begingroup\$ Never tried with the angular acceleration, but on the (linear) accelerometer side of things trying to track the position with any decent precision for even a few minutes is nearly impossible due to the accumulated errors, so 24 hours is just impossible IMHO. If you want to track the orientation of the device you're probably way better off using instantaneous readings of the compass + (linear) accelerometer rather than any form of integration. See developer.android.com/guide/topics/sensors/… \$\endgroup\$
    – jcaron
    Mar 14 at 13:49
  • 2
    \$\begingroup\$ See en.wikipedia.org/wiki/Inertial_navigation_system#Drift_rate for the drift rate when computing position from the accelerometers: "Even the best accelerometers, with a standard error of 10 micro-g, would accumulate a 50-meter error within 17 minutes." Same principle would apply to computing orientation by integrating angular acceleration. \$\endgroup\$
    – jcaron
    Mar 14 at 13:54
  • 4
    \$\begingroup\$ @UsmanMehmood I don't think the distance from the axis has any effect. Regardless of the distance, the angular velocity/acceleration around the own axis will be the same as around the Earth axis (you can convince yourself with a simple sketch of how a tangential vector behaves when moving around a circle of an arbitrary radius). \$\endgroup\$
    – Eugene Sh.
    Mar 14 at 14:17
  • 1
    \$\begingroup\$ You can trivially check if the numbers you see are real rates or just offset errors: Rotate the device 90 degrees around one of the axes. The two remaining axes should swap places (one inverted), do the measured numbers do the same? Or rotate by 180 degrees around one axis: do both remaining numbers change their sign but keep their magnitude? \$\endgroup\$
    – TooTea
    Mar 14 at 21:32

3 Answers 3


Be sure to calculate the level of those signals and compare with the offset, noise and drift of the Android gyroscope chip.

Generally speaking, measuring the earth's rotation with a gyroscope has not been possible with something less than an expensive (and often controlled in the regulatory sense) tactical grade unit. In fact it's considered a kind of benchmark of gyroscope performance. A decent fiber optic laser gyro should do it. Or a ring laser gyro.

Earth's rotation about its axis is about 0.004°/s. An MPU-6050 has initial tolerance of +/-20°/s and sensitivities to power supply voltage, temperature etc. that are the order of 0.1°/s for small changes. A good (non-ITAR- but perhaps because of its origin) fiber gyro has bias of <1°/h and Allan variance of < 0.01°/h. There is really no comparison.

Rotation about the sun is orders of magnitude less again.

Recently, in Physics Today, an experimental chip-scale ring laser gyro capable of measuring the earth's rotation about its axis was announced.

  • 2
    \$\begingroup\$ Measuring Earth's rotation with a consumer gyroscope is certainly possible. You have to do lock-in, and wait. \$\endgroup\$
    – user71659
    Mar 15 at 0:44

What is the reason that the device is calculating a rotational speed of 0.26 deg/sec even when the device is stationary?

The non-zero numbers your device shows when it is stationary is called a zero error. All devices have a zero (or static offset) error. You need to calibrate your actual readings to take account of these zero errors.

However, these offsets can change in time and change with temperature so, sometimes a fairly extensive calibration might be needed.

There are also gain errors to consider.


My end goal is to design a system which records the orientation of the device in 3D space for a time period of 24 hours. I am using integration for the recorded angular velocities to find the angular displacement in each axis.

This is high-end inertial navigation grade sensitivity... not only it's not something you'll be able to put together using low cost off-the-shelf components without very expensive know-how, but such devices and their documentation is subject to regulation. Even if you put it together from lower-end COTS (commercial off the shelf) building blocks, you might not be allowed to share the design with the world at large, depending on local legislation.

I am using integration for the recorded angular velocities to find the angular displacement in each axis.

This is just about the hardest way of doing it, and requires state-of-the-art metrology. Sure you can do it in a home lab, but you'll need a $10k-$50k budget, depending on how much you know and how lucky you are in finding bargains.

Why not do what everybody else is doing, namely using a fusion of magnetometer, gyro and DC accelerometer signals? It will give you a pretty good orientation without having to integrate anything. About as good as you'll get without spending thousands of dollars on it. Most phones do a pretty good job at it already. If you want something a bit better characterized than a phone, then there's a multitude of wireless IMU modules for biomedical applications. Those work pretty well too and don't cost a fortune. You can just buy a very good one for about $1k-$2k and it'll be way better than anything a phone does.

If you need something "lab grade" in a home lab, then a search coil system is the next bet for a cheap DIY approach. It's much easier than sensor fusion in the sense that it requires only very rudimentary signal processing and would have been feasible a century ago.

If the search coil operating volume cannot be kept away from conductive objects, then the volume can be pre-linearized by recording the position and orientation as measured by the coil on a calibrated 3D grid, and using that data to compensate the error. This still could have been done with personal computers at the turn of 1980, so is not a big deal nowadays, and you'd probably use a manipulator arm with a fiberglass extension to calibrate the volume with no manual labor involved.

Of course, the search coil results will be referenced to Earth, but you can easily reference them to the Sun if you so wish. Earth's orbital motion and self-rotation is pretty accurately known after all.

You'd really have a much better chance at getting helpful answers if you specified what is the application you're looking for.

  • \$\begingroup\$ "not only it's not something you'll be able to put together using low cost off-the-shelf components" Nope. You just have to know how to use lock-in techniques. \$\endgroup\$
    – user71659
    Mar 15 at 0:36
  • \$\begingroup\$ @user71659 OP is talking about determining the orientation of the phone at regular intervals iver 24 hours by integrating the angular velocity taken at some unknown sampling interval. It’s a very different proposition from trying to measure Earth’s nearly constant angular velocity, and it’s just not going to happen. \$\endgroup\$
    – jcaron
    Mar 26 at 22:01

Your Answer

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

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