Although for installation error, which is mentioned in the first subcategory, the calibration can be done at zero cost, without the need of additional equipment and all the work can be accomplished in normal indoor environment, while the calibration of the matching error is still expensive, for a servo motor or encoder is needed. Therefore, it is worthwhile to figure out a way to calibrate the matching error at low cost. For the calibration of the matching error, the commonly used method is to align the data from the 2D lidar and the angle of the motor shaft by time stamps. Since the frequency of the two types of data is different, interpolation is used to obtain matched data pairs. The prerequisite for using this method is that the rotating unit that rotates the 2D lidar can output the absolute angle position of its shaft, which requires expensive device such as a servo motor or encode. This method has been used in [3; 5; 16; 17; 18; 19]. A similar method was used in [2; 8; 20], for each time, when a group of data from the 2D lidar is received, the angle of the motor shaft at this moment is recorded. According to the serial number of each data in this group, its corresponding motor shaft angle can be estimated linearly. In [21], a pitching 2D lidar was built. In this work, a high-precision potentiometer was used to measure the angle of the motor shaft. In [22], a rotating 2D lidar used on an unmanned aerial vehicle (UAV) was built, and the software package Spin_Hokuyo [23] was used to generate the 3D point clouds in real time. The applicable hardware for Spin_Hokuyo is a 2D lidar UTM-30 LX Hokuyo and a servo motor Dynamixel MX-28, while the servo motor Dynamixel MX-28 also can output the rotation angle. In order to facilitate the use of this software package, the above hardware was used in [22]. In addition to the above literature,the rotating units in [9; 29] were stepper motors, without using encoders. The matching error was neglected, the matching between the 2D lidar and the motor was done through rough estimation, merely. According to [2; 3; 5; 8; 16; 17; 18; 19; 20; 21; 22; 23], in order to accurately match the 2D lidar and the motor, the rotating unit must be able to output the absolute angle position of the motor shaft. Therefore, a device like a servo motor or encoder is necessary. This goes against the idea of reducing costs. The reason why we built a rotating 2D lidar instead of using a commercial 3D lidar directly is because we wanted to reduce costs. The high price of commercial 3D lidars makes them unaffordable for many users, and the cost of a rotating 2D lidar is one-tenth of it. The obvious advantage of a rotating 2D lidar over a commercialized 3D lidar is the lower cost. Therefore, for a rotating 2D lidar, the question of how to further reduce its cost under the premise of ensuring accuracy is worth studying. If a rotating 2D lidar is not equipped with an encoder or a servo motor, and only a stepper motor is used as the rotating unit, the cost can be further reduced. However, the angle of the motor shaft cannot be measured, because of which, the 2D lidar and the motor cannot be accurately matched according to the existing methods. This will reduce the accuracy of the 3D point cloud. In this paper, we focus on the low-cost calibration of matching error between the lidar and the motor for a rotating 2D lidar. Compared with the existing methods, our method reduces the cost. In order to reduce the cost, we did not use a sensor to measure the angle of the motor shaft in our prototype, because it is expensive. We calibrated the matching error between the 2D lidar and the motor without using a servo motor or encoder. A stepper motor was used to rotate the 2D lidar, photoelectric switch and shading sheet were used to define the initial position of the motor shaft, a triangular plate was used to calibrate the matching error between the 2D lidar and the motor. While reducing the cost of a rotating 3D lidar, our method ensured the accuracy of the 3D point cloud.