IMU (Remote)
Pair a phone to stream its inertial measurement unit. Accelerometer, gyroscope, and magnetometer readings are sent over a WebRTC data channel and plotted live below.
Enter the 4-digit code shown on the host laptop to use this phone as its sensor.
Pair your phone
Generating session…
On your phone, open sensingstudio.org/imu-remote and enter this code.
Join a session
Enter the 4-digit code from the host laptop:
Accelerometer (m/s²)
Gyroscope (°/s)
Magnetometer (μT)
A true magnetometer feed requires Android with the Generic Sensor API; on iOS the only available channel is compass heading, shown here as a single trace.
Tilt: complementary filter (°)
The accelerometer reads the gravity vector, so it gives clean tilt at rest but is corrupted by linear motion. The gyroscope reads angular rate, smooth and responsive but its integral drifts. A complementary filter trusts the gyro at short timescales and the accel at long ones: θ = α · (θprev + ω · Δt) + (1 − α) · θaccel.
Slide α toward 1 to favour the gyro (smooth, drifty); toward 0 to favour the accel (jittery, no drift).
Pitch (rotation around phone X — tilting top edge up/down)
Roll (rotation around phone Y — tilting left/right edge down)
Try shaking the phone in place — the accel trace jumps around while gyro stays calm. Now hold it steady at an angle for a while — the gyro trace slowly walks away from truth while accel stays anchored. The complementary trace stays both smooth and anchored.
Orientation (°, from DeviceOrientationEvent)
α (yaw / Z) —
β (pitch / X) —
γ (roll / Y) —
Waiting for phone…
3D box
Racing
Hold the phone roughly in front of you and tilt it like a steering wheel. Stay on the grey strip for full speed; leave it and you slow down. Cross the chequered line at the bottom to record a lap.
Display
Sensor Mode
This phone streams its IMU readings to the laptop. Tap Start, grant motion access, and keep the screen on.
Status
Tap Start to enable sensors and connect.
iOS will prompt for motion permission. Some browsers expose the magnetometer only over HTTPS.
Try a different code
Enter a 4-digit code from the host laptop:
Live readings
Accel —
Gyro —
Mag —