Place your phone face-down on any surface and tap it.
The accelerometer captures the vibration decay.
Different materials — wood, glass, concrete, metal — resonate at different frequencies.
Your phone can tell them apart.
this is how seismologists detect underground structures.
Surface wave analysis reveals what's underneath — soil type, water table depth, void spaces.
Oil companies sweep terrain with sensors like this to find reservoirs.
Your phone's MEMS accelerometer does the same thing at human scale.
—
Hz · dominant resonance
waiting
0.00X m/s²
0.00Y m/s²
0.00Z m/s²
waveform
0 – 50 Hz · resonance spectrum
try this: lay phone flat on a wooden desk → tap the desk surface 1m away.
Then try on glass, metal, concrete. Watch the decay shape change.
Soft surfaces (wood, fabric) absorb fast. Hard surfaces (glass, metal) ring longer.
▶ how does this work?
The DeviceMotionEvent API delivers acceleration at up to 100 Hz on most devices.
We capture a rolling buffer and run a simple DFT over it to extract the frequency content of vibrations.
After a tap, the surface oscillates at its resonant frequency — determined by mass, stiffness,
and damping. A glass table resonates at ~20–40 Hz; a wooden desk ~5–15 Hz; a concrete floor shows
a broad low-frequency signature. The decay envelope (how quickly it goes quiet) reveals material properties.
On iOS, tap "start sensor" to trigger the permission prompt (required since iOS 13).