# Phyzix — 100+ physics instruments in your pocket > Turn the phone into a physics lab: live sensors, graphs in SI units, simulations, and bilingual classroom use. 2025-10-22 · 22 min read · phyzix, education · by ntan (ntan) for uranashel Canonical HTML: https://uranashel.com/blog/phyzix-pocket-lab.html --- Students carry laboratories in their pockets without realizing it. Every smartphone ships an accelerometer, a gyroscope, a magnetometer, a barometer, a microphone and a light sensor, all sampling real physics at rates that would have required rack-mounted equipment a generation ago. Phyzix exists because most of those sensors hide behind opaque APIs and never appear in a homework problem. We expose them as readable instruments with SI units, time histories and export paths, plus simulations where the equation sits beside the motion, so the graph connects to the formula instead of replacing it. The short pitch lives on [the app page](https://uranashel.com/apps/phyzix.html). This is the long version. Phyzix is a bench full of handheld meters, not a gamified quiz app with badges for memorizing constants. Benches get messy. What ours promises is honesty about sample rate limits and axis conventions, which is about the least an instrument can do. The app ships in English and Vietnamese because uranashel builds from Ho Chi Minh City classrooms as much as from garage sensor debugging. ## Live instruments and what they teach Mechanics views draw three-axis acceleration and angular rate into ring buffers holding 30 to 120 s of history. You can scrub back through the trace. Export produces comma-separated values ready for any spreadsheet, which is still how most lab reports get plotted, and nothing in that pipeline is exotic. That is deliberate. A trace you can scroll teaches more than a number you can only glance at. The wave tools run a microphone FFT beside a pair of tone generators. Play 440 Hz on one phone and 443 Hz on another and the room fills with a slow 3 Hz throb, because `f_beat = |f1 − f2|` and the ear sums what it cannot resolve. Meanwhile the spectrum shows two clean peaks. Your head insists there is one wobbling tone; the plot politely disagrees, and that gap between perception and measurement is the whole lesson. If transforms are new territory, [FFT made readable](https://uranashel.com/blog/fft-made-readable.html) walks through the math at whiteboard speed. Field views render magnetometer vectors and compass roses, including raw and calibrated plots side by side. Walk into a steel parking structure and the raw trace smears into an ellipse while the calibrated one holds its circle a little longer, then gives up too. That is soft-iron distortion made visible, the same distortion Wheria fights in production every day; [the compass calibration story](https://uranashel.com/blog/compass-calibration-story.html) covers what fighting it actually takes. ## Environment, astronomy and the fine print Environment panels read barometric pressure and ambient lux. The footer documents the actual achieved sampling rate in small print, because iOS and Android throttle sensors differently once the screen locks, and a chart labeled 100 Hz that quietly delivers 40 Hz corrupts every conclusion drawn downstream. Astronomy stubs expose device attitude for rough sky orientation demos. They are rough. They still settle which way west is. Math utilities convert units and enforce significant figures, so students stop reporting ten decimal places copied from a calculator that has no idea what the meter's least count is. The unit converter refuses to invent precision for the same reason: feed it 3 significant figures and 3 come back. ## Bench notes: what the sensors are worth Before trusting any instrument view we measured the hardware itself. Method: 7 phones from the office shelf, 3 iPhone and 4 Android, each resting on a foam block for 10 minutes while logging every sensor at its maximum requested rate. The numbers below come from that run, and they seed the noise-floor bands Phyzix shades onto its charts. - Accelerometer: 15 to 40 mm/s² RMS noise per axis at a nominal 100 Hz. The newest phone did best; a 2019 budget Android did worst. - Gyroscope: bias drift between 0.5 and 2 °/min after a 2-minute warm-up. - Barometer: 0.3–1 Pa RMS, which against roughly 12 Pa per metre of altitude means the pressure trace wanders by a coffee mug's height while the phone sits perfectly still. - Magnetometer: about 0.4 µT RMS on top of Ho Chi Minh City's roughly 43 µT background field. - Achieved rates: requesting 100 Hz returned anywhere from 47 to 104 Hz depending on device and thermal state. None of this makes phone sensors bad. It makes them instruments with a spec sheet, and the app's job is to print the spec sheet where you can see it. The barometer line alone carries a full post: [the barometer math](https://uranashel.com/blog/barometer-parking-math.html) derives what 0.3–1 Pa of noise does to floor detection when a garage storey stands 3.2 m tall. ## Simulations that show their working Interactive models cover projectile motion with optional drag, simple harmonic oscillators, a double-slit intensity toy and RC charging curves. These are not AAA game physics. Each model renders its differential equation or discrete update rule next to the animation, so a learner changes the initial velocity and watches the parabola respond while the symbols responsible stay on screen. The drag model is the honest kind. Quadratic drag gives `dv/dt = g − (k/m)·v·|v|`, which has no closed-form trajectory, so the app integrates with semi-implicit Euler at a fixed 1/120 s step and admits as much in the caption. The oscillator shows `x'' = −(k/m)·x` with `ω = √(k/m)`. The slit toy plots `I(θ) ∝ cos²(π·d·sin θ/λ)`. The RC panel draws `V(t) = V₀·(1 − e^(−t/RC))` and marks `t = RC`, where the curve crosses 63% of its final value. Phyzix shares conceptual DNA with Wheria's Kalman demo and Sonarish's spectrum view here: make the computation visible instead of wrapping it in a black box. ## Three labs that fit in one class period The stairwell altimeter. Hydrostatics says `Δh = ΔP/(ρg)`, and near sea level `ρg` comes to roughly 12 Pa per metre. Log pressure while climbing one storey of our test garage, 3.2 m per floor, and the trace steps down by about 38 Pa. Students then invert the formula, recover the floor height and discover their error bars are set by that 0.3–1 Pa RMS barometer noise. And the whole lab fits in one flight of stairs. The beat generator. Two phones, two tones 3 Hz apart, one microphone watching the spectrum. Then narrow the gap to 1 Hz and time each beat with the stopwatch that also lives in the app. The shake-proof step counter, or rather the version that is not shake-proof yet. Phyzix ships a deliberately naive pedometer view for teaching: ``` // teaching version, deliberately naive mag = |accel| // magnitude, gravity included for s in mag: if s > threshold and isLocalPeak(s): if timeSinceLastStep > 0.25 s: steps += 1 // shake at 5 Hz: threshold passes, refractory passes, // the counter climbs. This bug is the curriculum. ``` Walk normally and it counts. Shake the phone and it also counts, enthusiastically. The fix, band-passing to walking cadence near 1–3 Hz before picking peaks, is what production pedometers do, and [the step detection post](https://uranashel.com/blog/step-detection-imu.html) derives why the band sits there. ## Bilingual labels and classroom reality Every label, help sheet and error string exists in English and Vietnamese. ktuyen reviews the physics terminology so translations use "gia tốc" rather than colloquial shortcuts that confuse students once they open a textbook. The same discipline drives the platform rule: if a feature ships on iOS, it ships on Android, with parity checks documented in [shipping iOS and Android at the same time](https://uranashel.com/blog/cross-platform-two-codebases.html). Classroom logistics stay boring on purpose. Teachers mirror a phone to the projector for demonstrations; students capture CSV for homework plots. There is no account gate, no advertisement SDK and no requirement for classroom Wi-Fi, which matters in rooms where the router is a rumor. You buy the app once on the store. We do not sell curriculum licenses that expire when a semester ends. For deeper sensor theory, including why an accelerometer resting on a table reads 9.81 m/s², read [sensor hacking 101](https://uranashel.com/blog/phyzix-sensor-hacking.html). For the privacy expectations shared across every uranashel sensor app, see [why everything runs on your phone](https://uranashel.com/blog/on-device-first.html). Phyzix logs stay on the device. ## From classroom to garage The same accelerometer trace a student shakes for a homework plot is the sensor Wheria uses to count steps underground. Phyzix makes that continuity explicit. You watch naive peak picking fail when you shake too fast, then read how the production code band-passes walking cadence instead. Magnetometer ellipsoid plots explain why compass badges turn yellow in steel garages. The microphone FFT ties forward to Sonarish's baseline diffs and backward to the Nyquist lecture you half remember. One pocket lab, many apps. Nobody is repackaging homework here. The physics underneath is shared, and students deserve to see it. --- uranashel · [Home](https://uranashel.com/) · [Apps](https://uranashel.com/apps.html) · [Lab](https://uranashel.com/lab.html) · [About](https://uranashel.com/about.html) · [Blog](https://uranashel.com/blog/) · [Developers](https://uranashel.com/developers/) · [API docs](https://uranashel.com/docs/) · [Privacy](https://uranashel.com/privacy.html) Machine-readable: [llms.txt](https://uranashel.com/llms.txt) · [sitemap.xml](https://uranashel.com/sitemap.xml) · [openapi.json](https://uranashel.com/openapi.json) · [API](https://uranashel.com/api/v1/)