Laser measurement device


The Laser Measurement Device is a digital tool designed to measure the distance between two points. This project originated from the desire to enhance traditional analog measuring devices, providing a more efficient and potentially more accurate method of distance measurement. The usefulness of this device extends to various fields, such as construction, surveying, and DIY projects, where precise measurement is required​

Descriere generală

The device employs an array of hardware components, including an Arduino microcontroller, an OLED display, a laser distance sensor, a laser diode, a gyroscope, and a microswitch. The software module, running on the Arduino, processes the measurements and controls the interaction between these components. However, the device currently suffers from accuracy issues, likely due to the use of low-cost components and the inherent complexity of the measurements it attempts to perform​

Hardware Design

The Laser Measurement Device uses the following components:

  1. Arduino microcontroller
  2. OLED display
  3. Laser distance sensor
  4. Laser diode
  5. Gyroscope
  6. Microswitch

These components are interconnected based on electrical schematics derived from the datasheets and usage guides of each component. Simulations during the design phase aided in fine-tuning the operation of the device

In addition to the electronic components, a significant part of the hardware design involved creating a custom enclosure for the device. The enclosure was designed using Fusion360, a popular 3D modeling software, and subsequently 3D printed. This approach allowed for a tailored fit of all the components, ensuring a compact and portable device. The design of the box was carefully thought out to provide easy access to the device's controls while protecting the sensitive electronic components inside

Software Design

The software for the Laser Measurement Device is developed in the Arduino IDE. The code includes libraries for the OLED display, the laser distance sensor, and the gyroscope, among others. Also, it uses the Madgwick filter for sensor fusion, which is crucial in calculating the distance accurately

The software first measures the initial distance and orientation, stores these values, and then measures the final distance and orientation. It then calculates the actual distance moved in 3D space using these measurements. However, due to potential inaccuracies in sensor readings and the assumptions made in the calculations, the computed distance might not always match the actual distance moved

The software part of the project is designed in C++ and is intended to run on an Arduino board. The codebase is modular and includes several custom libraries to manage the different functions of the project:

common.h – A header file that contains definitions, configurations, and utility functions that are used across the entire project.

distance.h – A header file responsible for measuring distances. This is especially important for the project as the primary function is to calculate the distance between two points.

display.h – A header file that manages the display of information on an external device.

gyro.h – A header file that manages the gyroscope sensor data. This information is used in conjunction with the distance measurements to calculate the three-dimensional displacement of the device.

The main algorithm is responsible for the calculation of the displacement of the device. The device records two distance measurements, and from these, it calculates the displacement in three dimensions (x, y, z). The calculation uses the pitch and yaw data from the gyroscope to account for the rotation of the device

The code uses the MadgwickAHRS library for sensor fusion, which is a method used to combine data from multiple sensors to improve the quality and reliability of the data

The software is designed to be robust and accurate, with the ability to handle errors and uncertainties in the sensor data

Rezultate Obţinute

Although the Laser Measurement Device conceptually offers an innovative approach to distance measurement, in practice, it currently falls short in terms of accuracy. This discrepancy is likely due to the use of low-cost components and the inherent complexity of the calculations involved. Further improvements and calibration are necessary to enhance the accuracy of the device


The Laser Measurement Device represents a step forward in the digitalization of traditional measuring tools. With its capability to measure distances in a digital and potentially more precise manner, it holds significant promise. While the current iteration of the device has shown room for improvement, it nonetheless serves as a crucial stepping stone towards a more accurate and reliable digital distance measurement tool.

The project's combination of various hardware components, such as the Arduino microcontroller, laser distance sensor, and gyroscope, showcases the power of integrating different technologies. Moreover, the software design exhibits the potential of applying advanced algorithms and sensor fusion techniques in practical applications

Despite the challenges faced in terms of accuracy, the project has been an invaluable learning experience. It underscores the importance of careful component selection, meticulous algorithm design, and thorough testing in the development of an electronic device. As the project progresses, these learnings will undoubtedly serve as a guide towards refining the device and achieving better accuracy in future iterations

In conclusion, the Laser Measurement Device project is an exciting venture in the field of digital measuring tools. With ongoing improvements and refinements, it has the potential to revolutionize the way we measure distances, ultimately providing benefits in various applications ranging from construction and surveying to personal DIY projects



Various resources were utilized in the development of the Laser Measurement Device. These resources include datasheets for the hardware components, libraries for managing the components, and online tutorials and guides for the Arduino platform

pm/prj2023/apredescu/laser_distance.txt · Last modified: 2023/05/28 14:35 by flaviu.popescu
CC Attribution-Share Alike 3.0 Unported Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0