Skip to content

Measure phone motion and tilt in the browser

Compare stillness, tilt and a return to flat, then save a phone sensor record with its access state and context.

Physics Phoebe: I want your placement and permission notes beside the reading before you compare it., your practice guide

Physics Phoebe: I want your placement and permission notes beside the reading before you compare it.
Predict the reading, then compare it with the measurement.

Phone browser (Web APIs)

Phone browser

Compare stillness, tilt and a return to flat, then save a phone sensor record with its access state and context.

Tier 2 · Phone browser · No account

Version tested: Chromium 151.0.7922.34 (Playwright, 390×844, scale 3); CDP accelerometer, linear-acceleration, gyroscope and relative-orientation overrides; Android Chrome/iOS Safari untested here. Date: 2026-09-10.

Open the lab on your phone over HTTPS, then use its permission button.

Open the phone lab (new tab)

Steps

Screens captured against Phone browser (Web APIs) Chromium 151.0.7922.34 (Playwright, 390×844, scale 3); CDP accelerometer, linear-acceleration, gyroscope and relative-orientation overrides; Android Chrome/iOS Safari untested here on 2026-09-10; the tool may have moved on — the text steps are the contract.

  1. 1 Step 1

    Do
    Open the prepared page on your phone over HTTPS. Read the secure-context message before starting.
    You will see
    Secure context ready. No readings are collected until you tap Start sensors.
    Why it matters
    An API needs a secure page and a user action. Record a blocked or unsupported outcome instead of treating it as zero.
    Step 1: Secure context ready. No readings are collected until you tap Start sensors. Orange ring marks the relevant readout; badge sits outside it.
    Step 1 · Phone browser (Web APIs); numbered callout added to a real capture. Enlarge screenshot (new tab)
  2. 2 Step 2

    Do
    Tap Start sensors and allow motion and orientation if asked. Place the phone screen-up on a table.
    You will see
    The motion panel shows x, y and z in m/s² plus a timestamp. The capture uses injected x=0.20, y=0.10, z=9.80; your phone will differ.
    Why it matters
    Gravity remains in this reading even when the phone is still. Keep source, units and placement with the value.
    Step 2: The motion panel shows x, y and z in m/s² plus a timestamp. The capture uses injected x=0.20, y=0.10, z=9.80; your phone will differ. Orange ring marks the relevant readout; badge sits outside it.
    Step 2 · Phone browser (Web APIs); numbered callout added to a real capture. Enlarge screenshot (new tab)
  3. 3 Step 3

    Do
    Hold the phone in portrait orientation and tilt it gently sideways. Watch gamma and the bubble.
    You will see
    Gamma changes and the bubble moves from the crosshair. The capture uses a 15° sideways tilt.
    Why it matters
    A known movement checks whether the displayed value responds to your action. It describes the phone, not automatically its owner.
    Step 3: Gamma changes and the bubble moves from the crosshair. The capture uses a 15° sideways tilt. Orange ring marks the relevant readout; badge sits outside it.
    Step 3 · Phone browser (Web APIs); numbered callout added to a real capture. Enlarge screenshot (new tab)
  4. 4 Step 4

    Do
    Return the phone screen-up to the table and compare with the previous reading.
    You will see
    Near level appears when beta and gamma are both within 3° of zero. The captured return uses beta=1°, gamma=1°.
    Why it matters
    Repeating the original placement checks the direction and recovery of the response. It does not calibrate the phone.
    Step 4: Near level appears when beta and gamma are both within 3° of zero. The captured return uses beta=1°, gamma=1°. Orange ring marks the relevant readout; badge sits outside it.
    Step 4 · Phone browser (Web APIs); numbered callout added to a real capture. Enlarge screenshot (new tab)
  5. 5 Step 5

    Do
    Tap Request location once. Allow it only if you want to; otherwise keep an area note.
    You will see
    A received fix shows coordinates, accuracy radius and time; denial shows Permission denied. The capture uses a browser-injected location with a 25 m radius.
    Why it matters
    Location is a fallback observation, not a replacement motion value. Uncertainty determines whether the fix fits your question.
    Step 5: A received fix shows coordinates, accuracy radius and time; denial shows Permission denied. The capture uses a browser-injected location with a 25 m radius. Orange ring marks the relevant readout; badge sits outside it.
    Step 5 · Phone browser (Web APIs); numbered callout added to a real capture. Enlarge screenshot (new tab)
  6. 6 Step 6

    Do
    Write your placement and flat–tilt–flat comparison in the note. Tap Save a snapshot, then inspect the latest record.
    You will see
    The saved count increases. The record keeps the source, timestamp, access state, context and an unreviewed label.
    Why it matters
    The host chapter accepts comparable records only after checking their context. Saving a value does not make it accepted evidence.
    Step 6: The saved count increases. The record keeps the source, timestamp, access state, context and an unreviewed label. Orange ring marks the relevant readout; badge sits outside it.
    Step 6 · Phone browser (Web APIs); numbered callout added to a real capture. Enlarge screenshot (new tab)
  7. 7 Step 7

    Do
    Tap Stop sensors, then return to the motion panel. Download your JSON if needed and clear saved records when finished.
    You will see
    Motion and orientation say stopped. The last values are marked stopped rather than live; they no longer update.
    Why it matters
    A bounded collection window prevents old readings being presented as fresh. No record is sent to a server.
    Step 7: Motion and orientation say stopped. The last values are marked stopped rather than live; they no longer update. Orange ring marks the relevant readout; badge sits outside it.
    Step 7 · Phone browser (Web APIs); numbered callout added to a real capture. Enlarge screenshot (new tab)

Chapter checks

These questions refer to the chapter’s examples. Use the return links to review their answers.

  1. A participatory noise survey receives phone readings with no location context or permission state. How should the dataset treat them?

    Return to the chapter’s knowledge check
  2. A class collects phone-based sound observations, but some records lack timestamp, access state, and phone placement notes. What is the strongest review feedback before comparing the submissions?

    Return to the chapter’s knowledge check

Caution

Keep the phone over a table and tilt gently. Browser support and permission prompts vary. A missing value is not zero. Location is optional and can be sensitive; records stay in this browser until you download them. This is a classroom comparison, not a calibrated level or continuous tracker.

Return to Participatory Sensing · Browse Labs