Motion Analyzer
Analyze accelerometer, gyroscope and orientation data together in real time. Record motion sequences, watch live 9-DOF charts, export to CSV. Free.
About Motion Analyzer
Comprehensive motion data recording and analysis tool that combines data from multiple sensors including accelerometer, gyroscope, and device orientation. Record motion data with high sampling rate, visualize real-time charts for all sensor axes, and export complete datasets to CSV for further analysis. Perfect for motion tracking, gesture recognition research, activity analysis, or sports performance monitoring.
- Press Start recording to activate all motion sensors and begin data collection.
- Move or rotate your device to generate motion data across all sensors.
- Watch real-time charts showing acceleration and rotation rate for each axis.
- Monitor live sensor data in the table showing current values for all sensors.
- View statistics showing current magnitude values and recording duration.
- Press Stop when you've finished recording your motion sequence.
- Click Export CSV to download all recorded data points in spreadsheet format.
- Use Clear data to remove all recorded data and start a new recording session.
Frequently Asked Questions
A motion analyzer reads multiple sensors simultaneously — accelerometer, gyroscope, magnetometer, and sometimes GPS — and visualizes them together to characterize how your device moves through space. The accelerometer provides linear acceleration in meters per second squared (m/s²) on three axes, the gyroscope provides angular velocity in degrees or radians per second, and the magnetometer provides field strength in microteslas for compass orientation. Fused together via sensor fusion algorithms (complementary filter, Mahony filter, or extended Kalman filter), these produce a 9-DOF (degrees of freedom) view of motion: position changes, rotations, and absolute heading in 3D space. This combined view powers AR, navigation, gesture detection, gait analysis, and vehicle telematics.
Sensor fusion is only as good as its weakest input. If the accelerometer is biased, the gyroscope drifts excessively, or the magnetometer is contaminated by hard-iron offsets, the fused orientation goes wrong — but the symptoms (wandering compass, drifting AR objects, false fall alerts) often look like software bugs. A motion analyzer reveals each individual sensor's raw output side-by-side, letting you spot which one is misbehaving. It also confirms that all sensors update at expected rates (typically 50–100 Hz) and that timestamps are consistent across sensors — temporal misalignment is a leading cause of fusion errors. For developers, this tester is invaluable when prototyping gesture recognition or AR experiences.
Acceleration: m/s² (SI) or g (1 g = 9.80665 m/s²). Angular velocity: degrees per second (dps) or radians per second (rad/s) — most browsers report dps. Magnetic field: microteslas (μT), with Earth's surface field 25–65 μT. Orientation: degrees of pitch/roll/yaw (Euler angles) or unitless quaternion (x, y, z, w). Position derived from GPS: latitude/longitude in decimal degrees, altitude in meters. Time: milliseconds since page load (DOMHighResTimeStamp) or Unix epoch. For consistent fusion, all sensors should be sampled at the same rate (50 or 100 Hz typical) with synchronized timestamps. Watch for unit mismatches — older browsers sometimes report gyroscope in rad/s while others use dps.
No single inertial sensor produces accurate, long-term orientation. The accelerometer measures gravity well at rest but is corrupted by linear motion. The gyroscope tracks rotation precisely on short timescales but drifts linearly. The magnetometer points to magnetic north but is easily disturbed by metal objects. Sensor fusion combines their complementary strengths: the gyro provides short-term smoothness, the accelerometer corrects pitch and roll drift via gravity, and the magnetometer corrects yaw drift via magnetic north. The complementary filter weights each sensor by its noise band — typically gyro at high frequencies (>1 Hz), accel/mag at low frequencies. More sophisticated fusion uses an Extended Kalman Filter (EKF) or Madgwick/Mahony quaternion-based algorithms that model sensor biases explicitly.
Look for three telltale symptoms. First, after rotating the phone slowly to a known orientation and holding still, the displayed heading or rotation should converge to the true value within 1–2 seconds and stay stable. If it drifts continuously, the gyro bias is not being corrected. Second, point the phone at magnetic north (or any known direction); if the heading is off by more than 5° outdoors, the magnetometer is uncalibrated. Third, accelerate the phone gently along one axis (slide on a desk); the accelerometer should briefly spike then return to gravity-only readings. Persistent non-zero linear acceleration after motion stops indicates fusion lag or bias. Most phones do periodic background calibration, so motion analyzer testing should be done after letting the phone sit still for 10 seconds.
Several sources contribute. Gyroscope bias instability causes the angular velocity to read non-zero at rest, integrating into orientation error of 10–50°/hour without correction. Magnetometer hard-iron offsets shift readings by tens of μT, throwing off the heading by up to 30° if uncalibrated. Accelerometer zero-g offset shifts each axis by a few hundredths of a g, which when integrated to estimate position grows quadratically with time — within a minute, position estimates from accelerometer alone can drift kilometers. This is why GPS or vision-based reference is needed for absolute position tracking, and why phones never display position from accelerometer integration alone. Sensor fusion explicitly bounds these drifts using the longer-timescale references.
The analyzer combines four W3C APIs. DeviceMotionEvent provides acceleration (with and without gravity) and rotationRate at 60 Hz, requiring DeviceMotionEvent.requestPermission() on iOS 13+. DeviceOrientationEvent provides fused alpha/beta/gamma orientation angles, also gated by permission. The newer Generic Sensor API exposes Accelerometer, Gyroscope, Magnetometer, AbsoluteOrientationSensor, and LinearAccelerationSensor classes with configurable frequencies — currently supported on Chromium browsers behind the Sensors permission. Geolocation API (navigator.geolocation.watchPosition) provides GPS-derived position. For best results across browsers, the analyzer feature-detects each API and falls back to legacy DeviceMotionEvent when Generic Sensor is unavailable. Both require HTTPS and explicit user consent.
IEEE 1554 (IMU and gyroscope test methods) and IEEE 952 (gyroscope specifications) define performance metrics like Allan variance bias instability and angle random walk used to compare sensor chips. ISO 16063 covers accelerometer calibration. The MEMS Industry Group publishes a sensor data interchange standard for IMU vendors. For sensor fusion algorithms, the open-source x-IMU3 protocol and TI's Sensor Fusion Library are common references. AR/VR head-tracking systems use the OpenXR runtime spec for orientation reporting. Standards-compliant Kalman filtering originates from NASA's Apollo navigation work in the 1960s. Consumer phones easily meet the 1° pitch/roll accuracy and 5° heading accuracy specified by the IATA aviation supplemental specification, sufficient for most AR and navigation use cases.

