The useful part, up front

What you’ll take away

  • An ideal accelerometer measures specific force, so support on a table can produce a one-g reading at rest.
  • The same full sensor vector can come from stationary tilt or from an upright accelerating device.
  • A magnitude close to one g and a stable record do not prove the gravity-only condition.
  • A simple low-pass gravity estimate can absorb sustained translational acceleration.
  • Calibration corrects channel errors; it does not by itself resolve motion-versus-tilt ambiguity.
01

Why does a device on a table report acceleration?

A device can lie still on a table while its accelerometer reports a reading close to one g. That looks like a contradiction if “acceleration” means only a change in the device's speed or direction across the room. The reading answers a different question. An accelerometer responds to the support and other non-gravitational forces acting on it, expressed as force per unit mass. The table keeps the device from falling. With the upward sensor axis correctly identified, that support produces an upward reading even though the device stays in one place. Android and Chrome documentation both describe this stationary-table behavior. [2][3]

The letter g here names the approximate strength of gravity near Earth's surface, commonly about 9.8 metres per second squared. It is not a gram. To make the arithmetic easy to inspect, our imaginary examples use a gravitational magnitude of exactly 10 m/s². Every numerical record below is constructed for explanation, not collected from a phone. We will follow a stationary device, a tilted one and an accelerating one, then ask what their numbers can actually tell us. Free fall appears only as a thought example; there is no reason to drop or throw a device to understand the distinction.

Keep these meanings separate. All numerical examples are original calculations. The model uses upward-positive room z and a declared gravity magnitude of 10 m/s².
All numerical examples are original calculations. The model uses upward-positive room z and a declared gravity magnitude of 10 m/s². · Ameer Journal — original explanatory diagramOriginal editorial illustration; no third-party artwork reused.
02

Keep gravity, motion and the sensor reading separate

Picture a fixed set of room axes with the positive vertical direction pointing upward. In our model, gravity points downward and has a vertical value of −10. A stationary device has a room acceleration of zero. The ideal accelerometer reading is the device's acceleration minus gravitational acceleration, with both expressed along the same axes. In the vertical direction, zero minus −10 gives +10. The two minus signs explain the positive reading without claiming that the device is moving upward. It is being supported against the fall that gravity would otherwise produce. [2][3]

Now consider ideal free fall without rotation or other forces. The device's downward acceleration is −10 in this model, matching gravity. Subtracting −10 from −10 gives zero. Zero on the accelerometer therefore does not necessarily mean that the device's velocity is unchanging. Conversely, a nonzero reading does not necessarily mean that it is moving across the room. The sensor is useful because it reports this particular physical quantity; the difficulty begins when a label such as “acceleration” hides which quantity is meant. A later software estimate can try to separate motion from the gravity-related part, but that is another step.

03

The three channels belong to a coordinate frame

A three-axis sensor reports three signed numbers, usually called x, y and z. They describe components along three directions attached to the sensor or defined by its software interface. They are not automatically east, north and up. Turning a device changes how a fixed room direction is divided among its sensor directions. Android specifies a sensor coordinate system, while web interfaces may distinguish device and screen coordinates. [2][3] Before interpreting a sign, find the positive directions and the coordinate frame in the relevant documentation.

Our first orientation makes sensor z point upward and sensor x sideways. A stationary reading is then (0, 0, 10), with all values in m/s². In a second stationary orientation, the upward support direction is shared between sensor x and sensor z. We choose the reading (6, 0, 8). Its overall size is still 10 because six squared plus eight squared equals one hundred, whose square root is ten. The device has not acquired two separate gravity fields. One vector has different components because the sensor axes point in different directions. Keeping that distinction makes a tilt calculation understandable.

One stationary vector, two coordinate descriptions. Original ideal stationary poses. The second orientation shares the upward support vector between sensor x and sensor z.
Original ideal stationary poses. The second orientation shares the upward support vector between sensor x and sensor z. · Ameer Journal — original explanatory diagramOriginal editorial illustration; no third-party artwork reused.
04

A tilt angle needs a condition on motion

If the device is stationary and the sensor is ideal, the reading can reveal how its axes lean relative to vertical. In our x–z example, x reads 6 and z reads 8. The angle between the sensor's positive z direction and upward vertical is about 36.87 degrees. It comes from an angle calculation using the ratio 6 to 8. The exact angle is less useful than the condition that made the calculation valid: we already knew that the device had no room acceleration. Analog Devices explains that inclination sensing assumes that gravity is the only acceleration stimulus contributing to the calculation. [1]

The extra condition matters in ordinary moving systems. A sensor can experience a sustained sideways acceleration as well as support against gravity. Those contributions share the same output channels. A tilt formula will still return a number, but a returned number is not proof that it describes the actual pose. The manufacturer's note specifically warns that additional steady acceleration corrupts an inclination estimate based on gravity alone. [1] Before calling our 36.87-degree result an observed tilt, ask how the no-motion condition was established. A clean display, a stable value and a familiar-looking angle do not establish it by themselves.

05

Two different physical states can produce the same vector

Keep the first explanation of (6, 0, 8): a tilted device resting still. Now consider a second device whose axes remain upright in our room frame. Let its room acceleration be 6 sideways, zero along y and 2 downward, written (6, 0, −2). Subtract gravity, (0, 0, −10), from that room acceleration. The accelerometer output becomes (6, 0, 8), exactly the same three numbers as before. Both calculations use the same units and the same gravity strength. Neither depends on measurement noise.

The second device is not tilted by 36.87 degrees. Its sideways and downward motion changes account for the reading. If the stated acceleration is sustained over a finite interval while the axes remain upright, its output stays constant over that interval. A steady record can therefore have either explanation. The manufacturer's warning about additional constant acceleration is visible here as an exact numerical counterexample. [1] An algorithm that sees only this record must return the same result for both cases, unless it has extra information. It cannot recover a distinction that is absent from its input simply by using a more confident label.

06

A one-g size is a clue, not a proof of rest

It is tempting to check the overall reading and say, “It is close to one g, so this must be gravity only.” Our two cases show why that shortcut fails. Both give a size of 10 in a model where gravity also has size 10. The tilted stationary case fits the rule, but so does the upright accelerating case. The test accepts a state that violates its intended assumption. A useful check can catch some problems without proving that every accepted record has the desired explanation.

There is a similar problem with treating a constant reading as proof of rest. A constant vector can contain a constant motion-related contribution. A varying vector, meanwhile, might come from changing tilt, changing room acceleration, or both. Analog Devices notes that turning through gravity changes the projections and that filtering affects how quickly the output settles to a new static value. [1] Magnitude, stability and smoothness are useful descriptions of the data. To turn those descriptions into a claim about movement, state the conditions and the additional evidence used. Our example's exact numbers make the logical gap visible before noise complicates it.

A one-g magnitude does not prove rest. Original counterexample: every sensor component agrees. Both cases use the same downward room gravity of (0, 0, −10) m/s².
Original counterexample: every sensor component agrees. Both cases use the same downward room gravity of (0, 0, −10) m/s². · Ameer Journal — original explanatory diagramOriginal editorial illustration; no third-party artwork reused.
07

Smoothing cannot identify every gravity contribution

A common simple approach treats the slowly changing part of the accelerometer record as gravity-related and subtracts it to estimate motion. Android shows an example that repeatedly blends an old gravity estimate with the new reading. [2] Consider our own calculation with an old estimate (0, 0, 10) and repeated readings (6, 0, 8). At each update, keep 80 percent of the old estimate and add 20 percent of the new reading. After one update, the estimate is (1.2, 0, 9.6). Subtracting it from the reading gives a motion estimate of (4.8, 0, −1.6).

After a second update, the gravity estimate becomes (2.16, 0, 9.28), leaving (3.84, 0, −1.28) as the remainder. With the same input repeated, the estimate gradually approaches (6, 0, 8) and the remainder approaches zero. That is sensible for the tilted stationary case after settling. For the upright accelerating case, however, the method gradually absorbs the sustained motion contribution into what it calls gravity. The smoothing calculation cannot tell the cases apart. It assumes a useful difference in how gravity-related and motion-related parts change over time; it does not discover that difference in every possible record. [1][2]

08

Calibration fixes a different kind of mistake

So far, the sensor itself has been ideal. Now imagine a known horizontal-axis offset: x reports 0.2 m/s² too high while the other channels are exact. An upright stationary device that should read (0, 0, 10) instead reports (0.2, 0, 10). A gravity-only tilt calculation interprets that small sideways value as about 1.15 degrees of lean. This angle comes from the ratio 0.2 to 10. The device has not leaned; the output has an added offset. Analog Devices explains why offsets and unequal axis sensitivities can create inclination errors. [1]

If the offset is independently known, subtracting 0.2 from x restores the ideal reading in this example. That correction addresses a measurement error. It does not solve the earlier ambiguity between a perfect sensor that is tilted and a perfect sensor that is accelerating. Both problems can appear in a real system, so they need separate reasoning. Calibration should also match the quantity being calibrated: shifting a displayed angle by one constant is not generally equivalent to correcting the sensor channels before calculating angles. The manufacturer's guidance applies offset and sensitivity corrections to the acceleration values first. [1]

A known channel offset can imitate a small tilt. Original upright stationary model: x bias is +0.2 m/s², all other channels are ideal. This is not a measured device specification.
Original upright stationary model: x bias is +0.2 m/s², all other channels are ideal. This is not a measured device specification. · Ameer Journal — original explanatory diagramOriginal editorial illustration; no third-party artwork reused.
09

Read the name of the output before subtracting anything

A device or app may offer an accelerometer value, a gravity estimate and a linear-acceleration value. Those names should lead you to different expectations. Android describes the accelerometer output as including the gravity-related contribution, and linear acceleration as excluding it. At rest, its gravity output should match its accelerometer output. [2] Chrome documentation likewise distinguishes an accelerometer's supported one-g reading from the near-zero linear-acceleration reading expected at rest. [3] Three numbers labelled “acceleration” therefore need more context than their units alone.

In our sign convention, an upright stationary accelerometer reads upward +10, and the gravity-related part to subtract is also upward +10. The physical gravitational acceleration in the room is downward −10. Mixing those two meanings of “gravity” would produce the wrong subtraction. A software estimate can use information beyond a single accelerometer, and some exposed sensor quantities are calculated or fused rather than direct hardware outputs. [2][3] Its documentation should explain what it represents. Neither the output name nor the presence of three decimal places guarantees a particular accuracy, availability or motion-separation method on every device.

10

What would make a sensor explanation convincing?

Start with the question the reading is supposed to answer. If it is about tilt, establish why motion-related acceleration can be ignored or explain what other information separates it. If it is about room movement, find how the gravity contribution and coordinate frame are handled. Then check a simple reference case: with our upright stationary model, the raw ideal reading is (0, 0, 10), while the ideal linear-acceleration result is zero. A sign or output-label mistake often becomes visible in that comparison before a complicated record is interpreted.

Return to the original surprise. One g on a table is consistent with support against gravity. A one-g-sized reading elsewhere does not, by itself, prove that the device is stationary or reveal a unique tilt. Our exact pair of (6, 0, 8) readings demonstrates why. Smoothing can produce a useful estimate under suitable assumptions; calibration can correct known channel errors; additional information can constrain motion. Each has a different job. A convincing explanation states which job was done and preserves the remaining uncertainty instead of asking one sensor vector to answer more questions than it contains.

Read the quantity before interpreting the motion. An interpretation sequence for the source-backed model. A smooth vector and a familiar magnitude do not establish every required assumption.
An interpretation sequence for the source-backed model. A smooth vector and a familiar magnitude do not establish every required assumption. · Ameer Journal — original explanatory diagramOriginal editorial illustration; no third-party artwork reused.
Follow the evidence

Sources & further reading

Explore the references behind this guide. External pages may change after our review.

  1. AN-1057: Using an Accelerometer for Inclination Sensing | Analog Devices
    Christopher J. Fisher / Analog Devices · Accessed 6 Nov 2026
  2. Motion sensors | Sensors and location | Android Developers
    Android Developers / Google · Accessed 6 Nov 2026
  3. Sensors for the web | Capabilities | Chrome for Developers
    Chrome for Developers / Google · Accessed 6 Nov 2026

Article updated 6 Nov 2026.

Found something we should revisit?

Good explanations get better with thoughtful feedback.

Suggest a correction