NISTIR 7925

Method for Measuring Axis 

Orthogonality in MEMS 

Accelerometers

Craig D. McGray

Yaqub Afridi

Jon Geist
NISTIR 7925

Method for Measuring Axis 

Orthogonality in MEMS 

Accelerometers

Craig D. McGray

Yaqub Afridi

Jon Geist

Semiconductor and Dimensional Division

Physical Measurement Laboratory

July 2013

U.S. Department of Commerce 

Penny Pritzker, Secretary

National Institute of Standards and Technology 

Patrick D. Gallagher, Under Secretary of Commerce for Standards and Technology and Director 
Page 1 of 11

Method for Measuring Axis Orthogonality in MEMS 

Accelerometers

Craig D. McGray,

*a Yaqub Afridia

, and Jon Geista

a Semiconductor and Dimensional Metrology Division, 

National Institute of Standards and Technology, Gaithersburg, MD 20899

Abstract. A method is described for the computation of axis orthogonality errors in 3-axis 

accelerometers, based on the application of gravitational force at known angles. A precision twoaxis articulated gimbal system is used to control the angle at which the gravitational force acts on 

the accelerometer, while accelerometry data are collected at each applied angle. The resulting 

data are fit to a multivariate polynomial, and the coefficients of the linear terms are used to 

calculate the direction of each axis of the accelerometer and the angle between each axis pair.

 *Corresponding author: C. D. McGray Tel: 301-975-4110. Fax: 301-975-6021.

100 Bureau Dr., MS 6830, Gaithersburg, MD 20899

E-mail address: craig.mcgray@nist.gov
Page 2 of 11

1. Introduction

Many modern commercially-available accelerometers report accelerations along three distinct 

axes so that both the direction and magnitude of an acceleration acting on the sensor can be 

determined. It is typically intended that these three measurement axes all be mutually orthogonal. 

Manufacturing defects will produce some amount of error in the orthogonality of these axes, 

which will in turn effect the error in the acceleration vector calculated from the accelerometer’s 

output. It is hypothesized that axis orthogonality errors may be particularly stable components of 

the total error of an accelerometer, and that they may therefore yield to correction based on onetime calibrations. 

To determine the orthogonality of the accelerometer axis pairs, the static response of each axis 

to gravity is measured as the accelerometer is rotated through the space of possible orientations 

on a precision gimbal mount. Once the response function has been measured, the direction of 

each sensor axis is determined relative to an imposed external coordinate frame. The three angles 

between these directions can then be easily calculated. 

2. Conventions, Definitions, and Assumptions

We assume that the device under test will be an accelerometer having three scalar outputs 

corresponding to a right-handed set of axes that are all mutually orthogonal to within some small 

error angle. We will restrict our characterization of the device’s performance to its response to a 

constant acceleration of g , where g is the acceleration due to gravity. We assume a uniform 

gravitational field in the location where the experiment will be conducted. 
Page 3 of 11

Without loss of generality, we impose an extrinsic right-handed coordinate system defined by 

an orthonormal basis, B1 = {xˆ, yˆ,zˆ}, in which zˆ is parallel to, and opposite in sign to, the 

direction of gravity. We impose an intrinsic coordinate system defined by the orthonormal basis

B2 = {i

ˆ, ˆj, k

ˆ}, which rotates with the accelerometer. B2 is defined to equal B1 when the 

accelerometer has first been fixed to the gimbal mount and the gimbal axes are set to zero 

rotation.

The static stimulus applied to an accelerometer or to an axis of an accelerometer is a vector 

corresponding to the magnitude and direction of the applied acceleration. (We will not treat 

vibration.) For static accelerometer tests, the stimulus will always equal − gzˆ . 

The static response of any given axis of the accelerometer to a static stimulus is a scalar value

that depends on the stimulus and on the orientation of the accelerometer. The static response of 

the accelerometer as a whole is a vector corresponding to the static responses of the three 

accelerometer axes.

For an ideal accelerometer, the response along a given axis with direction uˆ , to a static 

stimulus, v

 , will be Ru (v ) = s(u ⋅ v )+ b   ˆ ˆ , where s and b are constants reflecting the sensitivity 

and bias of the accelerometer, respectively.

The static response of an axis of a real accelerometer is expected to approximate s(u ⋅ v )+ b  ˆ

but to deviate in ways that may include offset (zero-g bias), nonlinearity, and crosstalk. It can be 

approximated to arbitrary complexity by Maclaurin series expansion as:

( ) ∑∑∑( ) ∞

=

∞

=

∞

=

= 0 0 0

, ,





  

m n

m n

u m n R v c i j k EQUATION 1

where each m n c, , is a constant and the coordinates of v

 in the intrinsic basis are i , j , and k . 
Page 4 of 11

For example, a series expansion of Equation 1 containing only 0th and 1st order terms produces 

the expression for an ideal accelerometer defined above.

The noise in the static response of an accelerometer axis is the portion of the variation in the 

measured response over time that exhibits a wavelength that is lower than the measurement 

duration. The drift in the static response is the portion of the variation in the measured response 

over time that exhibits a wavelength that is greater than or equal to the measurement duration.

3. The Three-Axis Accelerometer Static Response Transform

The static response transform for all three axes of an ideal accelerometer can be expressed in 

matrix notation as follows:

b Sv

a

a

a

R v    = +





















=

3

2

1

1 ( ) EQUATION 2

where v

 is a static stimulus with coordinates expressed with respect to the intrinsic basis

B2 = {i

ˆ, ˆj, k

ˆ}, 1 a , 2 a , and 3 a are the response values of the three axes of the accelerometer, S is 

a 3×3 matrix representing the directions and sensitivities of the three axes, and b

 is a vector 

representing the biases of the three axes. Equation 2 corresponds to a first-order approximation 

generated from Equation 1. If the axes of the accelerometer were to align perfectly with the axes 

of the intrinsic basis, then S would be diagonal.

Extension to a second-order approximation of the response transform (from Equation 1)

yields:





















+





















+





















= +





















=

jk

ik

ij

U

k

j

i

T

k

j

i

b S

a

a

a

R v

2

2

2

3

2

1

2 ( )   EQUATION 3
Page 5 of 11

where i , j , and k are the coordinates of v

 with respect to B2 . Higher-order approximations of 

the response transform can be generated from Equation 1 as needed.

4. Accelerometer Axis Directions

Regardless of which order of approximation of the static response transform is generated from 

Equation 1, the expression of the transform will include the linear matrix multiplier S . This 

matrix can be viewed as a change of basis from the intrinsic basis B2 = {i

ˆ, ˆj, k

ˆ} to the 

accelerometer basis, A {a1 ,a2 ,a3 }    = , thereby defining the axes of the accelerometer. To calculate 

the coordinates of the basis vectors of A with respect to B2 , we solve:

[ ] [ ] A B2 v S v   = for each [ ] 















































































∈

1

0

0

,

0

1

0

,

0

0

1

A v

 EQUATION 4

Yielding the vectors {[ ] [ ] [ ] } 2 2 2 1 2 3 , , B B B a a a    . The angle θ m between each pair of accelerometer 

basis vectors 



a and m a

 can then be calculated by:

[ ] [ ] [ ] [ ] a B am B a B am B ,m cos 2 2 2 2   

    ⋅ = θ EQUATION 5

The elements of the vector b



, the matrix S , and the higher-order matrices (if used) can be 

determined by fitting Equation 2 (or Equation 3, or a higher-order approximation) to the

response generated by the accelerometer upon applying a series of static stimuli with known 

magnitude and direction with respect to the intrinsic basis. These known stimuli can be applied 

by gravity if the change-of-basis transformation between the extrinsic and intrinsic bases is 

known.

5. Propagation of Uncertainty
Page 6 of 11

Given known uncertainties on the elements of S , the combined variance of each θ ,m can be 

determined from the Law of Propagation of Uncertainty [1] (assuming statistical independence 

of the inputs) as follows:

( ) ∑∑ ( ) = = 















∂

∂ =

3

1

3

1

,

2

2

,

2

m n

m n

m n

c u S

S

u

θ θ EQUATION 6

where ( ) u Sm,n is the uncertainty of the element in the m

th row and nth column of S , and 

where the partial derivatives can be calculated from Equations 4 and 5. 

Figure 1 – Diagram of the articulated gimbal system.

6. Gimbal System Design

The change-of-basis transformation between the extrinsic and intrinsic bases can be 

determined with an instrumented gimbal system that rotates the accelerometer with two 

orthogonal degrees of freedom. The gimbal system utilized for these tests is configured in a rollover-elevation configuration with 360° of travel in each axis so that the gravitational force can be 
Page 7 of 11

applied to each axis of the accelerometer from all possible angles. Positioning accuracy of each 

axis of the gimbal system is better than 18 arcsec, with orthogonality of the two axes better than 

0.05°. A third tilt axis with a range of ±2° is included to allow alignment of the elevation axis 

with respect to the direction of the local gravitational field. A diagram of the gimbal system 

appears in Figure 1.

7. Gimbal System Calibration

Calibration of the articulated axes of the gimbal system is performed by rotating a calibrated 

alignment cube through the positions of the gimbal while measuring the rotation of the alignment 

cube using a pair of autocollimators. Measuring concurrently with two autocollimators allows 

the global rotation error to be assessed. With a cubic alignment calibration artifact, only 90° 

rotations of the gimbal can be accommodated. Each axis of the instrument is therefore tested

across 90° rotations beginning at each of N equally-spaced orientations, while the other axis is 

held fixed in place. 

Figure 2 – Sub-gimbal assembly for calibrating the articulated gimbal.
Page 8 of 11

To facilitate the calibration process, the alignment cube is mounted on a manual two-axis 

gimbal assembly which in turn is mounted on the roll axis of the articulated gimbal as shown in 

Figure 2. The two autocollimators are aligned to adjacent faces of the alignment cube. One axis 

of the articulated gimbal is rotated by exactly 90°, the change in alignment of each 

autocollimator relative to the cube is recorded, and the axis is returned to its starting position

plus 360 N degrees. The misalignment between the cube and the autocollimators resulting from 

this motion may exceed the measuring range of the autocollimators. If so, then the axes of the 

manual sub-gimbal assembly are adjusted to compensate. The articulated gimbal is then again 

rotated by exactly 90°. This process is repeated until all N rotations have been measured.

The differences at each step, as measured by autocollimator, between the true rotation of the 

gimbal actuator and the nominal (i.e. commanded) rotation can be used not only to check that the 

gimbal is within its specified accuracy, but also to refine or correct the accuracy of the gimbal. 

Let θ be the nominal orientation of the gimbal actuator relative to its home position, and let φ

be the true orientation. We can say that φ(θ ) = θ + ε (θ ), where ε is the positioning error. The i

th 

autocollimator measurement can then be expressed in terms of the nominal orientation as 

follows:





 



  −



 



  = + 

 



 = N

i

N

i

N

i

mi E πε

π π

ε

π 2

2

2 2

EQUATION 7

If the positioning error, ε (θ ), is modeled as a uniform k-segment cubic spline, where k is a 

multiple of 4, then E(θ ) will also be a uniform k-segment cubic spline. The autocollimator 

measurements m1mN can be fit to a uniform k-segment cubic spline to determine the function 

E(θ ). The positioning error function, ε (θ ), can then be found by solving Equation 8 for the 

spline coefficients of ε (θ ):
Page 9 of 11

( ) ε (θ ) π θ ε θ  −



 



 = +

2

E EQUATION 8

A similar analysis can be performed to calculate the true cross-axis orientation, 

φ (θ ) ε (θ ) + = + + 0 , where ε (θ ) + is the cross-axis positioning error function.

8. Gimbal Initialization

If the two articulated gimbal axes are orthogonal to one another and the elevation axis is 

orthogonal to the direction of the local gravitational field, then force can be applied to the 

accelerometer along any direction relative to the accelerometer axes simply by selecting the 

appropriate rotations of the two articulated gimbal axes. To ensure orthogonality to gravity, the 

gimbal may be initialized prior to use.

To initialize the gimbal, the elevation axis of the gimbal is first moved to its home position, 

in which the gimbal will appear as shown in Figure 1. The roll axis in this configuration is 

nominally parallel to gravity, but may be offset by some small angle due to non-planarity of 

components of the gimbal or due to tilt in the surface on which the gimbal is situated. The roll 

axis is then set to rotate continuously, and the output of the accelerometer is monitored. If the 

roll axis is parallel to gravity, then the force vector acting on the accelerometer will hold constant 

as the roll axis rotates. If not, then the accelerometer output will vary cyclically with each 

revolution. The gimbal operator then adjusts the articulated elevation axis and the manual tilt 

axis until the variation in the accelerometer output is nulled.

9. Measurement of the Accelerometer Response Transform

With an accelerometer mounted on the roll axis of the calibrated gimbal, and with the gimbal 

axes initialized, measurement of the accelerometer response transform can be performed. A set 

of coordinate pairs (θ,ψ ) is selected, with θ corresponding to the elevation axis, and ψ
Page 10 of 11

corresponding to the roll axis. While a number of methods exist to select coordinate pairs so that 

they are distributed approximately equally throughout the spherical parameter space, one simple 

way is as follows. If approximately N coordinate pairs are desired, let I be the set of integers 

between − N 2 and N 2 . For each I I m ∈ , let ( I N ) m m θ = arccos 2 , and let 

( ) N m I m N π

ψ = + 2 . With the gimbal axes positioned at each coordinate pair, the output 

values of the accelerometer are collected for a constant time, t , and averaged to reduce the effect 

of noise. 

Each point in the resulting data set is therefore a 5-tuple of the form {θ,ψ ,a1 ,a2 ,a3 }, where 

θ is the orientation of the elevation axis, ψ is the orientation of the roll axis, and {a1 , a2 ,a3 } are 

the values reported by the three axes of the accelerometer. The elevation and roll axis 

orientations can be used to change the basis of the static stimulus, gzˆ , from the extrinsic basis, 

B1 to the intrinsic basis, B2 . This is achieved simply by multiplying the stimulus vector by the 

following rotation matrix:

[ ] [ ] 2 1

ˆ

sin 0 cos

cos sin cos sin sin

cos cos sin sin cos

ˆ B B gz gz





















−

−

=

θ θ

θ ψ ψ θ ψ

θ ψ ψ θ ψ

EQUATION 9

Having performed this rotation, each point in the data set is now a 6-tuple of the form 

{i, j, k, a1 , a2 , a3 }, where i , j , and k are the coordinates of the stimulus with respect to the 

intrinsic basis, B2 . Once in this format, the data can be fit to Equation 2, Equation 3, or a more 

complex model function derived from Equation 1. The matrix multiplier, S , can be extracted 

from the linear term of the model function, allowing the components of the accelerometer basis 
Page 11 of 11

{[ ] [ ] [ ] } 2 2 2 1 2 3 , , B B B A a a a    = to be calculated according to Equation 4. Once the accelerometer basis 

is known, the accelerometer axis angles can be calculated according to Equation 5.

REFERENCES

[1] W. G. ISO Technical Advisory Group 4, "Guide to the expression of uncertainty in measurement," ed: International 

Standards Organization, 1995.

[2] C. D. McGray, R. A. Allen, M. Cangemi, and J. Geist, "Rectangular scale-similar etch pits in monocrystalline 

diamond," Diamond and Related Materials, vol. 20, Nov. 2011.