Free Fall Experiment — Measuring g

Goal: Measure the fall time of a ball from a known height and determine gravitational acceleration g by a technique different from the pendulum. If you've done both experiments, comparing their errors is instructive.

Historic demo: feather and hammer on the Moon

Astronaut David Scott, on the Apollo 15 mission (1971), released a feather and a hammer from equal height on the lunar surface. In the absence of air, both landed simultaneously — a direct confirmation of Galileo's prediction that fall is independent of mass. Actual footage below:

Apollo 15 — Hammer and Feather Drop on the Moon (NASA)

If it doesn't play: youtube.com/watch?v=03SPBXALJZI

Theoretical background

In free fall (no air resistance), an object released from rest at height h falls a distance after time t:

h = ½ g t²

If we know the drop height and measure the total fall time:

g = 2h / t²

Errors: In this experiment the main error comes from your reaction time — the delay between the ball hitting the ground and your click on Stop. Reading precision on the ruler also limits accuracy. Additionally, a hidden systematic error is injected on the instruments that only analysis reveals.

Error propagation: for g = 2h/t²:

δg/g = δh/h + 2·δt/t

The factor 2 in front of the time error means the time error is doubled onto g. So precise timing matters more than a precise ruler.

1. Set up the experiment

Ready

Controls

Ruler reading: 200 cm

0.000
Release the ball
Method: Click "Drop", watch the ball, and hit "Stop" exactly when it reaches the ground. Late or early clicks become your timing error.

2. Measurement data

# h (cm) t measured (s) g calculated (m/s²) Action
No trials yet. Record at least 5.

3. Automatic calculation

Record at least 3 successful trials to compute.

4. Analysis with Python

The rough calculation above is a sketch. Real analysis uses Python + numpy + matplotlib in-browser (Pyodide). An important note for this experiment: if you kept height constant, use averaging. If you tried varying heights, you can fit against h linearly (slope = 2/g) — a more accurate method that reduces timing error.

Data is in trials_data: list of dicts with keys h_cm, t, g_calc.
Pyodide not loaded — the first "Run" downloads it (~6 MB, once)
Python execution output appears here

5. Reveal the true value

Once your calculation (auto or Python) is complete, click this button to see the true g at this location and what errors were injected into the instruments.