Here's an idea that might be a bit complex, but it shouldn't be too hard to implement: Have an oscilator which produces a square wave a a few 100 MHz. Feed it through a BPF to shape it into a sine wave and feed it to a high speed laser diode driver. Place a reflector at the location to which you are trying to find the range. Have a PIN photodiode receiver with another BPF and amplifier chain (this receiver is located back near the laser). The output of this receiver is sent thru a fast schmitt trigger and then to a fast counter. A second fast counter counts the output of the oscilator directly. The PIC (yes, there is a pic :) ) triggers the whole system by feeding the oscilator to both the laser and one of the fast counters, and clearing both counters. It then waits the maximum ranging time of flight, and turns off the OSC. THe difference between the numbers on the two counters represents the number of cycles that occured during the TOF. I think that this is superios to the single counter method becvause in that case, something has to detect the reflected signal very quickly and stop the count. I think that it can be very difficult to sense a signal reliably in only a few cycles. If a false detect occurs with the single counter, the result will be way off. With the two counters, it will just be off by the numbver of spurious cycles. Sean