What Is a Device Motion Test?
A device motion test checks what motion information your browser provides from its device sensor system. This test uses DeviceMotionEvent to display linear acceleration (with gravity removed, when supported), acceleration including gravity, and rotation rate. These are reported values from the browser, not independent calibration measurements of individual physical components.
How to Use the Device Motion Test
- Open the page on a phone or tablet using HTTPS. Most laptops and desktops lack accessible accelerometer or gyroscope data. Chrome DevTools sensor emulation is suitable for debugging, not proof of physical hardware performance.
- Tap Start Sensor. On iPhone or iPad, allow motion access if prompted. Starting is deliberate: the test does not begin recording readings in the background.
- Hold the device still. If gravity-inclusive acceleration is available, its combined magnitude may be near 9.8 m/s². Depending on the orientation, several axes can share that value.
- Move gently in different directions. The linear acceleration X, Y and Z readings should change if your browser reports them. Rotate the device to observe alpha, beta and gamma angular speeds, if available.
- Review the charts and rate. The graphs display recent browser readings; observed event frequency (Hz) measures event arrival timing, not the actual hardware's maximum sampling rate. Unavailable axes are not replaced with zeros. Optionally enable Smooth charts for a 3-point moving-average display; numeric readings and exported samples remain unchanged.
- Tap Stop or Reset. Stop keeps the latest displayed readings. Reset clears them. Export CSV downloads up to the most recent 300 valid readings locally, without uploading data.
How It Works
The devicemotion event exposes three optional sets of values. acceleration is linear acceleration with gravity removed (m/s²); accelerationIncludingGravity includes the gravity contribution (m/s²); and rotationRate reports angular rates (°/s), not orientation angles. Each axis may be null when unavailable. This test requires at least one finite numeric reading before showing a live measurement.
Observed event rate is calculated from the time spacing of recent usable events received by the page. The browser-reported interval is displayed separately; neither is a calibrated hardware sampling measurement. The charts retain up to 300 recent event samples in browser memory and are cleared on reset or page close.
Understanding Your Results
- MEASURED: the browser delivered one or more numeric values for that stream. Zero is a valid numeric reading and will be displayed as
0.00, not as missing. - UNAVAILABLE: the stream or a particular axis is missing or null. A phone can expose gravity-inclusive acceleration without exposing linear acceleration or rotation rate.
- Unavailable / inconclusive after 10 seconds: either no events arrived or events contained no usable numeric values. That is not a definitive hardware-failure verdict.
- Values appear noisy or drift: some movement-related noise, filtering, limited precision or inconsistent browser event timing can occur; this page cannot verify sensor accuracy or calibration by itself.
Browser Limitations and Privacy
This tool requires a secure context and a browser that exposes motion events. On browsers that implement DeviceMotionEvent.requestPermission(), explicit user permission is requested after pressing Start Sensor. Embedded frames, browser settings, platform privacy controls, or Permissions Policy can block readings. Desktop computers often have no accessible motion sensor hardware even if the API exists.
Motion readings stay in this page's memory. Export CSV creates a local download only; no sensor data is transmitted by this test. Browser event timing may slow when the tab is not visible, so the test stops on tab hide.
Frequently Asked Questions
Why do I get no sensor values on my laptop?
Most laptops and desktop computers do not provide the motion sensors used by this browser API. If the browser fires events containing only null values, the tool reports an inconclusive result rather than pretending the sensor is working.
Does 60 Hz prove my accelerometer samples at 60 Hz?
No. The Hz value is calculated from the rate at which usable events arrive at this web page. Browsers can throttle, cap or resample events.
Why is one section unavailable even though others update?
Browsers and devices may provide some motion fields but not others. In particular, gravity-inclusive acceleration can be available without gyroscope rotation data or gravity-filtered acceleration.
Is it safe to move the device during the test?
Yes, gentle movements and rotation are enough. Avoid drops, vigorous shaking or impacts.
Is motion data stored or uploaded?
No. Recent readings are kept temporarily in browser memory for display and optional local CSV download. They are discarded on reset or page close.
Conclusion
The Device Motion Test helps you see which motion-related values your device and browser can report, without inventing readings for unsupported hardware. For orientation angles rather than movement rates, also try the Orientation Sensor Test.