iOS research tool for measuring MEMS accelerometer and gyroscope static bias as a device fingerprinting signal.
Research writeup: Your iPhone's Accelerometer Has a Fingerprint
Every MEMS sensor has a fixed manufacturing offset — a small, constant value it adds to every reading regardless of actual acceleration. This bias is a Physical Unclonable Function (PUF): it's baked into the hardware at the factory and cannot be changed in software.
SensorPrint measures this bias by sampling CMDeviceMotion at 100Hz while the device is still, then computing the mean across all samples. The result is a 6-value vector (ax, ay, az, gx, gy, gz) that is stable across measurements and unique per device.
- iPhone and iPad Z-axis bias values differ by 45% (0.003147 vs 0.004569 m/s²)
- iPhone measurement stability: drift ±0.000059 m/s², SNR 53x
- Hand contact during measurement inflates readings — 3-second countdown eliminates this artifact
- MEMS sensors exhibit a warm-up effect: first measurement of a session is less stable
- 100Hz sampling via
CMDeviceMotion - 3-second countdown before recording (eliminates hand-contact artifacts)
- Auto 5-run batch mode with 2-second settling intervals between runs
- Stability analysis across runs (drift visualization)
- CSV export and clipboard copy
- iOS 17+
- Real device (simulator returns zero bias — no physical hardware)
- Xcode 15+
- Place device flat on a stable surface
- Tap Auto 5 Runs and step away
- Wait ~45 seconds for all runs to complete
- Review the bias vector and stability drift in the History section
- Export CSV to compare across devices