Skip to main content

Is My Accelerometer Working?

Start the test and tilt your device to see real-time acceleration values (X, Y, Z) in m/s squared. A ball inside a circle responds to gravity, showing how your device senses motion.

This test reads 3-axis acceleration data (X, Y, Z) from the DeviceMotionEvent API, measuring g-force in m/s² with a visual ball-in-circle indicator.

At rest on a flat surface, the Z-axis reads approximately 9.8 m/s² (Earth's gravity); the sensor range is typically ±16g.

Sensor access is required to run this test.

What Do Your Results Mean?

Result Range Meaning
Good Z ≈ 9.8 m/s² at rest, all axes respond to tilt Your accelerometer is working correctly. The ball tracks device tilt smoothly and values change in real time.
Warning Values are noisy or drift when stationary Some sensor noise is normal. Excessive drift may indicate a calibration issue — restart your device to recalibrate.
Bad All values stay at zero or no data received The sensor may be unsupported, disabled, or permission was denied. On iOS 13+, tap Start to trigger the permission prompt.

Common Issues and How to Fix Them

All acceleration values are zero

On iOS 13+, the page must call DeviceMotionEvent.requestPermission() after a user tap. Tap the Start button and grant sensor permission when prompted.

Test works on phone but not on desktop

Most desktop computers lack an accelerometer. This test is designed for phones and tablets with built-in motion sensors.

Related Tools

Frequently Asked Questions

How do I test my phone's accelerometer?

Tap Start Test, then tilt or shake your device. The ball moves in response to gravity and motion. X/Y/Z values update in real time. At rest, Z should read approximately 9.8 m/s squared (gravity).

What do the X, Y, and Z values mean?

X is lateral acceleration (left-right tilt), Y is vertical acceleration (forward-back tilt), and Z is acceleration along the screen normal. At rest on a flat surface, Z equals roughly 9.8.

Why does the test ask for sensor permission?

iOS 13+ requires explicit user consent for motion sensor access. Android browsers typically allow access by default without a permission prompt.

Is any data uploaded during the test?

No. The DeviceMotion API processes all acceleration data locally on your device. No server communication occurs.