A single photon avalanche diode based range detecting apparatus comprising: a reference array of single photon avalanche diodes configured to receive light from an illumination source via an internally coupled path; a return array of single photon avalanche diodes configured to receive light from the illumination source via an external free space path; a calibration pulse generator configured to generate calibration signal pulses; characterized by a multiplexer; and readout circuitry configured to receive: an output of the reference array via a reference signal path between the reference array and the readout circuitry; an output of the return array via a return signal path between the return array and the readout circuitry; a first calibration signal pulse via a first signal path forming a first input to the multiplexer, wherein the first signal path couples the calibration pulse generator to the multiplexer; and a second calibration signal pulse via a calibration signal path forming a second input to the multiplexer, wherein the calibration signal path couples the calibration pulse generator to the multiplexer, the calibration signal path substantially following the reference signal path to the reference array and then back to the multiplexer, wherein the readout circuitry is configured to: determine a delay difference value between the first signal path and the calibration signal path representing a delay value of the reference signal path, based on a determined time difference between the calibration signal pulses received via the first signal path and the calibration signal path; and apply the delay difference value to a reference measurement, in order to compensate for the delay of the reference signal path. a reference array of single photon avalanche diodes configured to receive light from an illumination source via an internally coupled path; a return array of single photon avalanche diodes configured to receive light from the illumination source via an external free space path; a calibration pulse generator configured to generate calibration signal pulses; characterized by a multiplexer; and readout circuitry configured to receive: an output of the reference array via a reference signal path between the reference array and the readout circuitry; an output of the return array via a return signal path between the return array and the readout circuitry; a first calibration signal pulse via a first signal path forming a first input to the multiplexer, wherein the first signal path couples the calibration pulse generator to the multiplexer; and a second calibration signal pulse via a calibration signal path forming a second input to the multiplexer, wherein the calibration signal path couples the calibration pulse generator to the multiplexer, the calibration signal path substantially following the reference signal path to the reference array and then back to the multiplexer, wherein the readout circuitry is configured to: determine a delay difference value between the first signal path and the calibration signal path representing a delay value of the reference signal path, based on a determined time difference between the calibration signal pulses received via the first signal path and the calibration signal path; and apply the delay difference value to a reference measurement, in order to compensate for the delay of the reference signal path. an output of the reference array via a reference signal path between the reference array and the readout circuitry; an output of the return array via a return signal path between the return array and the readout circuitry; a first calibration signal pulse via a first signal path forming a first input to the multiplexer, wherein the first signal path couples the calibration pulse generator to the multiplexer; and a second calibration signal pulse via a calibration signal path forming a second input to the multiplexer, wherein the calibration signal path couples the calibration pulse generator to the multiplexer, the calibration signal path substantially following the reference signal path to the reference array and then back to the multiplexer, wherein the readout circuitry is configured to: determine a delay difference value between the first signal path and the calibration signal path representing a delay value of the reference signal path, based on a determined time difference between the calibration signal pulses received via the first signal path and the calibration signal path; and apply the delay difference value to a reference measurement, in order to compensate for the delay of the reference signal path. determine a delay difference value between the first signal path and the calibration signal path representing a delay value of the reference signal path, based on a determined time difference between the calibration signal pulses received via the first signal path and the calibration signal path; and apply the delay difference value to a reference measurement, in order to compensate for the delay of the reference signal path.