A light detection and ranging (LiDAR) scanning system (200, 200'), comprising: a light source, wherein the light source is configured to transmit a pulse of light to illuminate a surface of an object; a modulator (212, 220) operable to encode the pulse of light with a sequence code in response to a signal from a sequence generator; a light detector configured to detect a pulse of scattered light from the surface of the object originating from the light pulse; a correlator electrically coupled to the light detector, wherein the correlator is configured to correlate the pulse of scattered light with the sequence code and output a peak value associated with a time that the pulse of scattered light is received, a microprocessor electrically coupled to the light source and the correlator, wherein the microprocessor is configured to: determine whether an amplitude of the peak value exceeds a threshold value; in accordance with a determination that the amplitude of the peak exceeds the threshold value: determine a time difference between a time that pulse of light was transmitted and the time that the pulse of light is received; calculate a distance to the surface of the object based on the time difference; and determine a reflectivity of the surface of the object based on the amplitude of the peak value. a light source, wherein the light source is configured to transmit a pulse of light to illuminate a surface of an object; a modulator (212, 220) operable to encode the pulse of light with a sequence code in response to a signal from a sequence generator; a light detector configured to detect a pulse of scattered light from the surface of the object originating from the light pulse; a correlator electrically coupled to the light detector, wherein the correlator is configured to correlate the pulse of scattered light with the sequence code and output a peak value associated with a time that the pulse of scattered light is received, a microprocessor electrically coupled to the light source and the correlator, wherein the microprocessor is configured to: determine whether an amplitude of the peak value exceeds a threshold value; in accordance with a determination that the amplitude of the peak exceeds the threshold value: determine a time difference between a time that pulse of light was transmitted and the time that the pulse of light is received; calculate a distance to the surface of the object based on the time difference; and determine a reflectivity of the surface of the object based on the amplitude of the peak value. determine whether an amplitude of the peak value exceeds a threshold value; in accordance with a determination that the amplitude of the peak exceeds the threshold value: determine a time difference between a time that pulse of light was transmitted and the time that the pulse of light is received; calculate a distance to the surface of the object based on the time difference; and determine a reflectivity of the surface of the object based on the amplitude of the peak value. determine a time difference between a time that pulse of light was transmitted and the time that the pulse of light is received; calculate a distance to the surface of the object based on the time difference; and determine a reflectivity of the surface of the object based on the amplitude of the peak value.