User Rating 0.0
Total Usage 0 times
X-Axis
0.00
Peak: 0.00
Y-Axis
0.00
Peak: 0.00
Z-Axis
0.00
Peak: 0.00
Magnitude
0.00
Peak: 0.00
m/s²
Real-Time Graph
X Y Z Mag
Device Orientation
Pitch: 0.0° Roll: 0.0° Yaw: 0.0°
Statistics
Samples0
Frequency0 Hz
Duration0.0 s
Avg Magnitude0.00
Is this tool helpful?

Your feedback helps us improve.

About

Modern smartphones and tablets contain MEMS accelerometers that measure proper acceleration along three orthogonal axes. Proper acceleration differs from coordinate acceleration: a device at rest reports 1g ( 9.81 m/s2) on the vertical axis due to gravitational force. This tool reads raw sensor data via the DeviceMotionEvent API and computes the total magnitude a = x2 + y2 + z2 in real time. An optional low-pass filter with configurable smoothing factor α isolates gravitational vs. linear components. Sensor accuracy varies by hardware: consumer-grade MEMS accelerometers typically exhibit noise floors of 0.01 - 0.05 m/s2 and update at 60 - 200 Hz depending on the chipset and browser throttling.

Incorrect accelerometer readings can cause failures in step-counting algorithms, screen rotation logic, gaming controls, and structural vibration monitoring. This tool exposes the raw data stream so you can verify calibration, detect dead axes, and identify bias drift before relying on sensor output in production applications. Note: desktop browsers without physical sensors will report zero on all axes. iOS 13+ requires an explicit user permission grant before motion data is accessible.

accelerometer test device motion sensor g-force meter accelerometer online motion sensor test gyroscope test device orientation

Formulas

The total acceleration magnitude is the Euclidean norm of the three-axis vector:

a = ax2 + ay2 + az2

where ax, ay, az are acceleration values along each device axis in m/s2.

The exponential moving average low-pass filter separates gravity from linear acceleration:

gn = α an + (1 α) gn1

where α [0, 1] is the smoothing factor. Smaller α values produce heavier smoothing. A common default is α = 0.8. Linear acceleration is then: ln = an gn.

Tilt angles derived from static acceleration readings:

θx = atan2(ay, az) 180π
θy = atan2(ax, az) 180π

where θx is pitch and θy is roll in degrees.

Sampling frequency estimation from event timestamps:

fs = 1000Δt Hz

where Δt is the average interval between consecutive DeviceMotionEvent timestamps in milliseconds.

Reference Data

ParameterTypical RangeUnitNotes
Measurement Range±2 to ±16gConfigurable in hardware; most phones default to ±8g
Sensitivity0.001 - 0.004g/LSB14-bit or 16-bit ADC resolution
Noise Density99 - 300μg/√HzLower is better; affects static precision
Update Rate (Browser)10 - 200HzChrome ~60 Hz, Safari ~60 Hz, Firefox ~60 Hz
Earth Gravity (g)9.7803 - 9.8322m/s2Varies by latitude and altitude
Standard Gravity9.80665m/s2ISO 80000-3 defined constant
Zero-g Offset (Bias)±20 - 80mgFactory calibration residual
Cross-Axis Sensitivity±1 - 2%Leakage between orthogonal axes
Temperature Drift (TCS)±0.01 - 0.02mg/°CSignificant for long-term monitoring
Power Consumption6 - 200μADepends on ODR and operating mode
Common ChipsetsBosch BMA456, STMicro LIS2DH12, InvenSense ICM-42688, Analog ADXL345
Free-Fall Threshold< 0.3gUsed for drop detection in phones
Shock Survival10000gMechanical shock tolerance (non-operating)
Tilt Accuracy (derived)±0.5 - 1.0°From arctan of axis ratios at rest
Bandwidth (3dB)1 - 1000HzHardware low-pass filter cutoff
FIFO Buffer32 - 1024samplesOn-chip buffering reduces CPU wakeups

Frequently Asked Questions

A stationary device experiences gravitational acceleration. The accelerometer measures proper acceleration (reaction force against gravity), not coordinate acceleration. The reading of 9.81 m/s2 on the vertical axis is correct and expected. Use the "Exclude Gravity" mode (accelerationIncludingGravity vs acceleration) to isolate linear motion.
Desktop computers and most laptops lack MEMS accelerometers. The DeviceMotionEvent API returns null or zero values without physical sensor hardware. Some 2-in-1 tablets (Surface Pro, iPad) do contain accelerometers. Use a smartphone or tablet for testing. The tool displays a clear notification when no sensor is detected.
The smoothing factor α controls the time constant of the exponential moving average. At α = 1.0, no filtering occurs (raw data passes through). At α = 0.1, the filter heavily smooths the signal, introducing lag but eliminating high-frequency noise. For gravity isolation, values between 0.1 and 0.3 work well. For responsive motion detection, use 0.7 - 0.9.
Starting with iOS 13, Apple requires explicit user permission via DeviceMotionEvent.requestPermission() before granting access to accelerometer and gyroscope data. This is a privacy measure to prevent fingerprinting and covert motion tracking. The tool detects iOS and presents a "Grant Permission" button that triggers the native permission dialog. This must be called from a user gesture (tap/click) per Apple's security policy.
Static tilt accuracy using arctan of axis ratios is typically ±0.5 - 1.0° under ideal conditions. However, any linear acceleration (hand tremor, vehicle vibration) contaminates the gravity vector and degrades accuracy significantly. For sub-degree precision, sensor fusion with a gyroscope (complementary or Kalman filter) is required. This tool shows raw accelerometer-derived tilt without gyroscope correction.
Peak detection records the maximum and minimum acceleration values observed on each axis and for total magnitude since the last reset. It uses a simple running comparison: if the current sample exceeds the stored maximum, the maximum updates. This captures shock events, drops, and maximum vibration amplitude. Peak values are useful for detecting whether a device exceeds its rated g-force range during transport or use.
The CSV export contains timestamped acceleration values for all three axes plus computed magnitude. This data can be imported into MATLAB, Python (NumPy/SciPy), or Excel for FFT-based frequency analysis. However, browser sampling rates are typically limited to 60 Hz, which by the Nyquist theorem limits detectable vibration frequencies to 30 Hz. For industrial vibration analysis requiring higher bandwidth, dedicated hardware is necessary.