AN-1049: Calibrating iMEMS® Gyroscopes

Gyroscopes are often used for inertial navigation or other applications where high accuracy or stability is required. To maximize performance, the gyros used in these applications are generally calibrated and externally temperature compensated. This application note outlines a method for performing calibration and temperature compensation.


If a gyro is used in a temperature stable environment (or if it is kept at a constant temperature by means of a temperature control system), a single temperature point calibration is sufficient. To do this, simply bring the gyro up to the intended operating temperature (allowing sufficient soak time) and measure the null output voltage (V0).

To determine the scale factor (S), some method of applying angular rate must be used (in general a rate table). Because the ADXRS6xx series of gyros has very little nonlinearity, measure the output at one rotational rate (preferably one near full scale). The scale factor can then be calculated by

S = (VROTATING − V0)/Rate of Rotation

Once V0 and S are known,

Angular Rate = (VGYRO − V0)/S

Temperature Compensation

If the gyro will be operated over a range of temperatures, the best performance will be realized using temperature compensation. The ADXRS6xx series of gyros incorporates an on-chip temperature sensor to facilitate this.

The calibration information required is similar to the single temperature point method described previously except that V0 and S must be measured at different temperature points. In addition, the temperature sensor output (VT) must also be recorded. Because the temperature performance of the ADXRS6xx gyros is somewhat nonlinear, at least three temperature points should be used for compensation. Using more temperature points results in improved accuracy and null stability; however, the calculations become more complex.

Using a 3 temperature point calibration, 250°/hour null stability can be achieved with an ADXRS6xx. 40°/hour null stability generally requires more than five points.

Three-Point Calibration

Once temperature and null voltages are measured and the scale factor is calculated at the three temperature points, it is convenient to reduce the calibration data down to calibration coefficients that can be applied to a general equation for temperature compensation. There are several ways to do this. The method outlined in this application note was arbitrarily chosen.

Define any gyro output parameter by the following equations:

VP1 = VP0 + a(VT1 − VT0) + b(VT1 − VT0)2

VP2 = VP0 + a(VT2 − VT0) + b(VT2 − VT0)2


VP0 is a parameter value at the temperature sensor value ambient temperature (VT0).

VP1 is the same parameter value at the temperature sensor value (VT1M/sub>).

VP2 is the same parameter value at the temperature sensor value (VT2).

The a and b coefficients are described by Equation 5 and Equation 6

a = (VP1 − VP0)/(VT1 − VT0) − b(VT1 − VT0)

b = [(VP1 − VP0)/(VT1 − VT0) − (VP2 − VP0)/(VT2 − VT0)]/ (VT1 − VT2)

Once the a and b coefficients are calculated, all parameters may be expressed using the general equations previously presented.


A given gyro is measured at −40°C, +25°C, and +85°C. The test results are shown in Table 1.

Table 1. Example Gyro Test Results.
Output −40°C +25°C +85°C
Temperature (V) 1.97777 2.49699 2.97868
Null (V) 2.34948 2.35468 2.34216
Scale Factor (mV) 11.9081 12.7440 13.1951
Table 2. Definition of Terms.
Terms Definition
V0 Gyro null output at ambient temperature (+25°C)
V1 Gyro null output at Temperature Point 1 (−40°C)
V2 Gyro null output at Temperature Point 2 (+85°C)
Vnull Gyro null output
VT0 Temperature output at ambient temperature
VT1 Temperature output at Temperature Point 1
VT2 Temperature output at Temperature Point 2
VTEMP Temperature output
S0 Gyro scale factor at ambient temperature
S1 Gyro scale factor at Temperature Point 1
S2 Gyro scale factor at Temperature Point 2
S Gyro scale factor

For this gyro the null output coefficients are show in Equation 7 and Equation 8.

anull = (V1 − V0)/(VT1 − VT0) − b(VT1 − VT0)

bnull = [(V1 − V0)/(VT1 − VT0) − (V2 − V0)/(VT2 − VT0)]/ (VT1 − VT2)


anull = −0.00866

bnull = −0.03597

In this example, the null output of the gyro at any temperature can be described by Equation 9

Vnull = V0 + anull(VTEMP − VT0) + bnull(VTEMP − VTO)2

Similarly, the scale factor coefficients are Equation 10 and Equation 11.

ascale = (S1 − S0)/(VT1 − VT0) − b(VT1 − VT0)

bscale = [(S1 − S0)/(VT1 − VT0) − (S2 − S0)/(VT2 − VT0)]/ (VT1 − VT2)


ascale = 1.26056

bscale = −0.6728

This gyro’s scale factor at any temperature can be described by the following equation:

S = S0 + ascale(VTEMP − VT0) + bscale(VTEMP − VTO)2

Calculating Temperature Compensated Angular Rate

Once the calibration coefficients are calculated, it is easy to convert the gyro output to temperature compensated angular rate data in degrees/second using the following four-step process.

  1. Read the temperature output in volts. Determine the calculated null at the actual temperature using Equation 9.

    NULLcalc = V0 + anull(VTEMP − VT0) + bnull(VTEMP − VTO)2
  2. Read the rate output in volts and calculate the null temperature corrected rate output using Equation 14.

  3. Calculate the scale factor at the device temperature using Equation 12.
  4. Using the previous information, calculate the actual angular rate using Equation 15

    Angular Rate = RATECORRECTED/S

For the example gyro presented previously at 85°C, if the rate output is measured as 3.00 V, the actual angular rate is calculated as follows:

The calculated null at 85°C is

NULLcalc = V0 + anull(VTEMP − VT0) + bnull(VTEMP − VTO)2

NULLcalc = 2.35468 − 0.00866 × (2.97868 − 2.49699) − 0.03597 × (2.97868 − 2.49699)2

NULLcalc = 2.34216 V

The corrected rate voltage at 85°C is


RATECORRECTED = 3.00 – 2.34216 = 0.65784 V

The calculated scale factor at 85°C is

S = S0 + ascale(VTEMP − VT0) + bscale(VTEMP − VTO)2

S = 12.744 + 1.26056 × (2.97868 − 2.49699) – 0.6728 × (2.97868 − 2.49699)2

S = 13.1951 mV

Thus, the angular rate in degrees/second is


Angular Rate = 0.65784/0.0131951 = 49.85°/sec


Temperature compensation of the ADXRS6xx series of gyros is straightforward. Using a simple curve fit to calculate calibration coefficients, only a minimum of calibration information must be stored in NVRAM and calculation of the actual rate requires only simple equations. A 3-point temperature calibration corrects for null drift sufficiently to achieve 250°/hour null stability. Better null stability can be achieved using greater than three calibration temperatures and more complex calibration equations.



Harvey Weinberg

Harvey Weinberg is a Division Technologist for the Analog Devices Automotive business unit. Over the past few years he has been working on early technology identification and development as it pertains to automotive - principally sensors. Prior roles at Analog Devices have been System Application Engineering Manager for the Automotive BU and before that, leader of the Applications Engineering group for MEMS inertial sensors. He has 13 US patents in technologies varying from ultrasonic airflow measurement to inertial sensor applications to LIDAR systems. He has been at Analog for 23 years. Before Analog, he worked for 12 years as a circuit and systems designer specializing in process control instrumentation. He holds a Bachelor of Electrical Engineering degree from Concordia University in Montreal, Canada.