Crafting experience...
3/29/2026
A Project Made By
Submitted for
Built At
Hardware Hack
Hosted By
This project aims to build a low-cost, DIY LiDAR scanner..
Our team built a custom rotating LiDAR scanner from scratch. A Garmin LiDAR-Lite sensor is controlled by a mechanical system that controls the LiDAR sensor on the pitch and yaw axes. As the motor steps through angles, the LiDAR takes distance readings, and the collected point cloud data is then visualized, allowing us to generate a 3D map of an area.
In order to get the components to spin appropriately, we used a 17HE15-1504S stepper motor, connected to a DRV8825 motor driver, and a servo. All of these pieces were connected on a breadboard and controlled by an Arduino (see Toolbox.ino). The Arduino takes the Pitch, Yaw, and Distance data from the LiDAR sensor and motors and outputs them through a Serial connection to Unity for further processing.
We utilized Unity to visualize the data in a meaningful way. To do this, a C# Script was used to read the data in from Serial, and another C# Script was used to render the points on our scene. Each script was added as an asset on the main unity file. Here is an example image showing the point cloud that is created when the LiDAR sensor rotates around an empty area.
Our main issue was a tolerance defect on the slip ring. It does not hold the gear in place correctly, causing the LiDAR sensor to not move as intended.
However, the visualization works appropriately.
We ran into a few issues where the LiDAR sensor would read out garbage data if it was sitting for too long / slightly bumped. Fixing the connection of wires / limiting the amount of serial output per second fixed this issue.
We were able to poll both motor positions and LiDAR data, sending it to Unity for visualization.
Our next steps would be to improve the model so that the tolerance of the ring holding the gear can hold up to expected use. After that, we would extend this to further applications by narrowing its scope to solve a specific problem.