Are there any experiments I can do to derive the speed of light with only common household tools?

  • 1
    Galileo proposed one in one of his books, though I'm not too sure about accuracy... ;) – user172 Nov 8 '10 at 10:15
  • I think that this solution was related to the moons of Jupiter. This is a classical way to obtain the speed of light. – asanlua Nov 12 '10 at 12:49
  • 1
    The moons of Jupiter solution is the one of Rømer (see @nibot 's answer), not Galileo's. Galileo's solution was just a lower bound, and indeed not accurate at all. See – Frédéric Grosshans Nov 16 '10 at 14:16
  • 7
    Technically, it's impossible to measure the speed of light. The speed of light is simply defined. Not that this matters a great deal since in an everyday household situation we think of a meter as the length of a meter stick, not the distance light travels in about three nanoseconds. – Mark Eichenlaub Dec 11 '10 at 6:07
  • 4
    @Mark Eichenlaub: If we accept the official definition of the speed of light, then the set of experiment described here can bee seen as a way to measure (1) short-time intervals (Microwave ansd chocolate/ rotating mirror) or (2) long distances (ping / Rømer's). So your point of view remove any reservation I had on the practicality of Rømer's experiment :-) – Frédéric Grosshans Dec 15 '10 at 18:03

12 Answers 12

I don't know if it qualify as home experiment, but you can use the internet to get access to thousands of kilometres of optical fibres for free. It allows you to measure a lower bound for the speed of light in the fibres, which is $c/n$, where $n$ is the refractive index of glass, typically around 1.5. This corresponds to $2\times 10^8 \text{m/s}$. Using ping, you measure a round trip time, that is it should correspond to 100 km/ms of round trip.

From Paris, I ping the website of Columbia, in New-York, I have

fred@sanduleak2:~$ ping
PING ( 56(84) bytes of data.
64 bytes from ( icmp_req=1 ttl=113 time=125 ms
64 bytes from ( icmp_req=2 ttl=113 time=116 ms
64 bytes from ( icmp_req=16 ttl=113 time=112 ms
--- ping statistics ---
17 packets transmitted, 16 received, 5% packet loss, time 16023ms
rtt min/avg/max/mdev = 108.585/118.151/132.156/7.728 ms

The minimum round trip time is 108 ms, which would correspond to 10,800 km instead of 5839 km. Off by a factor of 2, but the correct order of magnitude, due to delays in switches etc., which is why we said this is a lower bound.

If one looks more precisely the trajectory of my packets to New York with tracepath

fred@sanduleak2:~$ tracepath

 1:  sanduleak2                                            0.266ms pmtu 1500
 3:                                 1.072ms 
 6:                   28.747ms asymm  9 
 7:              20.931ms 
 8:                        30.307ms asymm  9 
 9:                       33.780ms asymm 10 
10:                       36.570ms asymm 11 
11:        127.394ms asymm 12  
12:                128.238ms 
13:                      135.948ms 
14:  ....

We see that the packets travel around (Paris, London, Amsterdam) and cross the Atlantic between Amsterdam (10) and New-York (11) in 127-37=90 ms (roundtrip). This still gives us a 9000 km distance, way too long. I don't know if it is due to the cable trajectory, electronic delays, to small sampling by tracepath or an error on my calculation.

Related to this ping delay, you have the funny 500 miles bug.

Another in-the-lab experiment using cheap material and computers is in the arXiv paper speed of light measurement using ping. However, their measurement is indirect (they measure the propagation inside CAT5 cables), but it should also be doable with optical fibres.

Edited to add: My idea of using tracepath probably comes from Measuring the Earth with Traceroute. In this paper they are more lucky than I was (only 20% slower, instead of 100% !)

  • 8
    @Frédéric: I'm not sure you can simply take the difference of two times in traceroute. It neglects the processing overhead which may be substantially different at each node. – Joe Fitzsimons Nov 18 '10 at 10:58
  • 4
    @Frédéric: At each hop there is routing overhead. When a packet expires at that hop the processing is different. – Joe Fitzsimons Nov 18 '10 at 11:22
  • 3
    +1 for referencing "Speed of light measurement using ping" at , although as a real experiment this would likely only give a lower bound to c. – sigoldberg1 Nov 18 '10 at 17:24
  • 5
    @sigoldberg1 : OK, but this lower bound is way better than Galileo's. – Frédéric Grosshans Nov 19 '10 at 11:44
  • 7
    @Frédéric - although to be fair, he only had dialup – Martin Beckett Apr 23 '11 at 20:13

There is a trick I have heard about before but never tried. The basic idea is to put a mars bar in a microwave oven for a short amount of time. First you remove the turntable, so the chocolate bar stays stationary. Then you turn the microwave on just long enough for the chocolate to start to melt. It should melt at the nodes of the standing field. You simply measure the distance between the nodes, and multiply by the frequency of the microwave oven to obtain the speed of light. There is a YouTube demonstration (by a kid) here.

  • 3
    you have to know the frequency of the microwave, though. – Stefano Borini Nov 12 '10 at 0:13
  • 8
    Yes. Fortunately it is usually written on them. – Joe Fitzsimons Nov 12 '10 at 1:03
  • 2
    which raises the question of the minimal delay we might hope to measure, at home, I.e. "with common household tools". Are we allowed to include a computer, smart phone, or other device? Are we allowed to reprogram something. Can we construct a delay line out of fiber or cable? Can we measure interference fringes? – sigoldberg1 Nov 12 '10 at 3:27
  • 4
    Well, I don't know about you, but I don't have 30000 km of optical fiber in my kitchen cabinets. – Joe Fitzsimons Nov 12 '10 at 5:15
  • 3
    This is a really, really cool answer. – spencer nelson Apr 23 '11 at 19:45
up vote 16 down vote

You could find a capacitor and read of its capacitance, alternately build one and measure it, and measure its dimensions. Now you can get a good estimate on the permitivity of vacuum, epsilon.

There are possibly other intricate ways to measure this number.

The speed of light is then given by a relation involving another number, the vacuum permeability, µ , which needs no measuring as it is defined.

This relation can be derived from Maxwell's equations.


  • 2
    +1 : You could add the value of $\mu_0=4\pi\cdot10^{-7}$ SI units – Frédéric Grosshans Dec 11 '10 at 15:36

With a clock and a telescope you could repeat Rømer's determination of the speed of light.

  • That experiment need 6 month, but you should also find a way to determine earth-sun distance. Any idea ? – Frédéric Grosshans Nov 17 '10 at 15:21
  • The historical way to determine the earth-sun distance seem to more complex than Rømer's determination of the speed of light: :-( – Frédéric Grosshans Nov 17 '10 at 15:29
  • You could find the earth-sun distance from parallax. No idea how much distance you'd have to travel to do that, though. – Jerry Schirmer Apr 24 '11 at 3:43

You might also want to try the rotating mirror method, of Léon Foucault. It is detailed here and here. The only difficult part is the rotating mirror, but it could probably be done with a drill.

  • It looks like this needs rotation on the scale of $10^2$ to $10^3$ rotations per second. Do you know if this is feasible/measurable with a mirror and a household drill and easily makable gears (if necessary)? – Justin L. Nov 18 '10 at 1:23
  • 1
    My drill makes 2800 rotations per minute, i.e. 47 rotations per second. The experiment sounds tricky, but doable. – Frédéric Grosshans Nov 18 '10 at 10:10
  • 7
    We did this in my undergrad lab course. It was pretty sweet. We made an Indiana Jones-style folded optical path in the lab room. – Keenan Pepper Nov 22 '10 at 5:46
  • 2
    @Justin : If you want to measure the speed of the drill, I would try to record the sound of it on a computer and looks at its spectrum obtained by FFT. I hode to see 47 Hz spaced peaks. If you want to make a mecanical speed measurement, I would use a spool of thread for sewing machine (they are made to spin quickly and convert a rotation angle into a thread length, which is easier to measure.) – Frédéric Grosshans Nov 29 '10 at 16:17
  • 1
    You could compensate low rotation speed by just enlarging the optical path. Do it on a football field. :) A laser pointer nowadays can easily cover hundreds of meters. – Florin Andrei Oct 14 '11 at 0:32

I can't think of a way to do it with "common household tools" but if you have an oscilloscope, a laser diode, a couple of photo-sensors, a beam splitter, you can do it. All of these things are readily available from science supply/hobby stores online, but not usually in most homes.

Set up the laser diode to hit the beam splitter and be split into two beams. Set up the two beams so that they hit two photo-sensors, but make one of the photo-sensors exactly twice the distance from the beam splitter as the other. This will create two separate paths for the light, one twice as long as the other. Run the output of the photo-diodes into two channels of the oscilloscope. Switch on the laser diode, and you should see two pulses on the o-scope, one from each of the two laser diodes. The difference between them is the time it takes the light beam to travel the distance of the difference in the two paths.

The reason to do it this way is accuracy - if you only had one beam, and your photo-diode took, say, 1 microsecond longer to turn on than what was in the documentation, or your laser were slow to turn on, then you would get very inaccurate results. But with two beams, those errors cancel each other out, and so all you're left with is the time of the light.

  • 1
    Can this experiment really be done in a small room, say < 10 m? The oscilloscope has to be very accurate. – unsym Dec 11 '10 at 8:08
  • 1
    I think so - light travels about 1 foot per 1.02 nanoseconds, so you're bumping against the accuracy of the cheapest O-scopes, but my little $200 USB Oscope will do 50 ns/division. I think you should still be able to do it by making one light path very short and the other very long, then adjust your math accordingly. Then you could see the difference of half a division or so... – Eric Cox Dec 11 '10 at 18:07
  • 4
    @hwlau: Just use mirrors. – BebopButUnsteady Jun 16 '11 at 21:07

Those laser tape-measures operate in an interesting way, that relies on the speed of light to determine distance. So conversely, if you have a known distance, then with the same equipment you should be able to estimate c.

What the tape measures do is modulate the intensity of the outgoing laser according to the intensity of the reflected light. It's basically an oscillator whose frequency depends on the optical propagation delay. The commercial products use the resulting frequency to determine a distance to display.

If you can get at the oscillator output, and set up to measure a known distance, you should be able to estimate c as the frequency in Hz times the round-trip distance in meters.

Perhaps a Fizeau inteferometer:

Most of that should be in range of a keen amateur but I'm not sure what you use as a beam splitter without just buying one though.

I think the simplest would be to use an RF oscillator, a receiver to determine its frequency and Lecher wires (i.e. a pair of parallel wires) where the nodes of the standing wave are determined using an RF voltmeter. See .

This was one of the experiments in an electronics kit which I had in my youth. The length of the Lecher line was about 5m and the frequency of the oscillator was about 100Mhz using just one transistor in a common base circuit.

As a variation it is also possible to change the frequency and measure how much the nodes have moved.

Didn't the amateur radio guys (Hams) once launch a ballon like reflecting satellite? Is it still in orbit? Even at a few hundred kms, the delay would be in the ms. Maybe the ISS is partly reflective.

  • 1
    Even if you used the retroreflector left on the moon (which is never more than 406000 km from us, the time delay between sending and recieving a reflected signal is only a little over a second. For a signal bounced off the ISS (assuming you could even achieve this) the time delay would be roughly 1ms. It would be extremely hard to measure this accurately using 'common household tools', not to mention the difficulty of actually distinguishing the signal from the background noise. – Joe Fitzsimons Nov 12 '10 at 1:16
  • which raises the question of the minimal delay we might hope to measure, at home, I.e. "with common household tools". Are we allowed to include a computer, smart phone, or other device? Are we allowed to reprogram something. Can we construct a delay line out of fiber or cable? Can we measure interference fringes? – sigoldberg1 Nov 12 '10 at 3:30
  • It used to be easier a few years ago, when long distance communication where done via geostationary satellites (36000 km × 4 ), you could clearly hear the delay between question and answer when calling someone sufficiently far away (Europe to Asia, for example). It was roughly 1/2 second Now cable are everywhere, and the delay cannot be hard anymore, except on TV, when on the field journalist are answering to the studios via a Satellite connection. – Frédéric Grosshans Nov 16 '10 at 12:07
  • Using a satellite, or the Moon, how would you check on the distance? Or are we comfortable trusting outside authorities? – DarenW Nov 17 '10 at 2:40
  • @DarenW : For example, you measure the size of the Earth like Erathosthenes (make a holiday trip), and then use either Newton's gravitation to compute the distance of a satellite given its period and g. – Frédéric Grosshans Nov 18 '10 at 10:17

What about a doppler shift method? A doppler speed radar or lidar gun might have all the necessary components, for its logic to be reversed. Here's one for instance, ready for disassembly.*S%3F&GUID=0537e92612c0a06456359f45ffd1174f&itemid=300374815766&ff4=263602_304642#ht_2332wt_979

Has anybody a pointer to the Kinect patent?? the device of the XBox measures distance using reflection of infrared light, so for sure it depends on a finite lightspeed to work.

  • I would imagine it simply uses the falloff in illumination to measure distance. That seems far easier than timing pulses. – Joe Fitzsimons Jan 18 '11 at 10:09
  • 2
    This wrong opinion on Kinect is told rather often in forums. – Georg Apr 23 '11 at 18:37
  • 3
    @Georg the Kinect originally was to use the ZCam which has a per-pixel time-of-flight rangefinde. the production version uses structured light and steroe camera – Martin Beckett Apr 23 '11 at 20:17
  • @Martin, do a front-of-envelope calculation on impulse duration and rise time for light pulses needed for time of flight at such distances. Then look for electronic parts which do that and are small enough and affordable. – Georg Apr 24 '11 at 8:00
  • 3
    @Georg You are right in the fact that it's not affordable to do direct time of flight detection for each pixel. But ZCam used a solid state modulator to transform time of flight differences in intensity differences that are much easier to detect. – mmc Apr 24 '11 at 14:18

Your Answer


By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.