OpenSimpleLidar
Based on published sources · Not tested by us ·
License: MIT, MIT (author code); bundled ST library under MCD-ST Liberty V2, MIT (root); BSD header on ROS node files derived from xv_11_laser_driver · Details by part
Overview
DIY triangulation scanning laser rangefinder (STM32F030, TSL1401CL line sensor, 780 nm laser, slip-ring head) rated by its author at 5 scans/s, 2-degree steps and up to 4 m; a sensor component for robots, not a robot. [S001] [S004] [S010]
OpenSimpleLidar is not a robot. It is an open-hardware 2D scanning rangefinder that a mobile robot could use in place of a purchased LiDAR. Its author reports 5 scans per second, 180 measurements per rotation (2-degree steps), a 4 m maximum distance and roughly 3–5 cm accuracy at 3 m depending on surface colour. These are the author's figures, not catalog measurements. [S001]
Specifications
| Detail | Description |
|---|---|
| Type | Rotating triangulation laser rangefinder: main PCB with laser and lens spins on a slip ring, belt-driven by a small DC motor (sensor component). Reported by source [S001] [S004] [S010] · Checked 2026-10-05 |
| Intended users | Electronics builders comfortable with SMD soldering, optical alignment and STM32 programming Editorial assessment [S005] [S010] [S011] · Checked 2026-10-05 |
| Assembly | Wiki pages cover main-PCB electronics, optics, programming and first tests, scanning head, laser alignment and focusing, and calibration. Reported by source [S010] [S011] [S012] · Checked 2026-10-05 |
| Calibration | Per-device coefficients (Coeff A/B; a_coef/b_coef in the ROS launch file) from a video-guided calibration. Reported by source [S008] [S009] [S012] · Checked 2026-10-05 |
| Operating system | Not known |
| Computer needed | A host reads scans over UART (USB-UART converter during alignment); the ROS 1 node publishes scans on the host. Reported by source [S008] [S011] · Checked 2026-10-05 |
3D preview
Preview not available yet. Design-source links are available. A configuration-matched assembly and its file-level reuse scope have not yet been reviewed for a hosted preview.
Model sources
Design-source links are available. A configuration-matched assembly and its file-level reuse scope have not yet been reviewed for a hosted preview.
Assembly and use
How it works and what you build
The main board carries a 780 nm laser diode, an M12 lens, a TSL1401CL linear image sensor and an STM32F030 microcontroller, and measures distance by triangulation. The board spins on a slip ring, driven by a small 3 V motor and belt, with an RPI-352 sensor reading an encoder ring. Printed STL holders and DXF base-plate and encoder-ring outlines make up the mechanics. [S001] [S004] [S010] [S013]
The wiki splits the build into populating the main board, fitting the optics, programming and first tests, assembling the scanning head, laser alignment and focusing, and calibration. Alignment uses test firmware, a USB-UART converter and a PC capture utility to find and sharpen the laser peak; a badly printed laser holder may need filing. Calibration produces per-device coefficients that must be entered in the ROS launch file. The calibration procedure itself is a linked video that was not reviewed. [S008] [S010] [S011] [S012]
Which files are tested
This matters before ordering boards. The PCB notes say the author did not test CommonPCB v1.1M, v1.2, v1.2M or MainPCB v1.1. Editable Altium projects exist only for those three CommonPCB variants, all carrying that warning; the split MainPCB v1.0 with MotorPCB v1.0, which the notes do not flag as untested, comes as Gerbers and schematic images. Firmware is STM32 C code with IAR 7.50 projects and prebuilt HEX files. ROS support is a ROS 1 node adapted from xv_11_laser_driver. Repository files were reviewed at release v1.1 from October 2021; later default-branch changes are not covered. The wiki guidance was retrieved separately and the alignment page was edited in May 2026, so its match to the v1.1 files was not verified. [S002] [S005] [S006] [S008] [S011]
Cost scope
The spreadsheet totals 29.17, or 23.17 without the optional 780 nm interference filter, and says delivery is excluded. The README describes this as under $30. The PCB line is the price of a 10-board order, the motor pulley has no price, and small SMD parts, printed parts, the USB-UART converter and a programmer are not itemized. Price dates are not stated. [S001] [S004]
Licenses and safety
The repository's LICENSE is MIT. Bundled STMicroelectronics peripheral-library files carry the MCD-ST Liberty V2 license instead, and the ROS parser file carries a BSD header from its original authors. The wiki pages show no license. The firmware notes warn that the test2_capture_image build keeps the IR laser on most of the time and is more dangerous for eyes. Nothing was built, aligned, calibrated or range-tested for this profile. [S003] [S006] [S007] [S008]
Cost
| Version | Price |
|---|---|
| OpenSimpleLidar TotalBOM component prices (release v1.1 spreadsheet) | USD 23.17 [S001] [S004] Parts estimate |
eBay, Taobao, AliExpress and JLCPCB examples; destination unspecified · Checked 2026-10-05
| Included | Laser diode, M12 lens and lens holder; Optional 780 nm interference filter (upper bound only); Main PCB order (price for 10 boards); TSL1401CL sensor and STM32F030F4P6 MCU; Slip ring, 3 V motor, bearing, encoder sensor and belt |
|---|---|
| Not included | Delivery (stated in the sheet); Motor pulley (no price; can come from a DVD drive); Small SMD parts and regulator not itemized in TotalBOM; Printed or cut plastic parts; USB-UART converter, programmer and tools |
| Stock | Supplier links and prices not re-checked; dates not stated. |
| Delivery and tax | Sheet states delivery is excluded; taxes not stated. |
Price details
Lower bound excludes the optional interference filter; upper bound is the spreadsheet SUM total. Currency is not labeled in the sheet; the README says components cost less than $30. Price dates not stated; PCB price is for 10 boards.
eBay, Taobao, AliExpress and JLCPCB examples; destination unspecified · Checked 2026-10-05 · Quantity 1
Unitemized SMD parts, plastic parts, USB-UART converter, programmer, host robot or PC.
Source files and licenses
Complete open sensor package (mechanics, PCB, firmware, ROS node, BOM) under an MIT root license with separately licensed vendor and derived files; included as a sensor component in category other, not as a complete robot. Partial because several board revisions are untested by the author and the wiki carries no license.
| Layer | Availability / license |
|---|---|
| mechanical design | available · MIT Four STL parts and DXF base plate and encoder ring; no parametric CAD identified. Root MIT license applies as declared; purchased lens, slip ring, bearing and motor are not covered. [S003] [S013] |
| electronics | available · MIT Altium projects (SchDoc/PcbDoc) for CommonPCB v1.1M, v1.2 and v1.2M, which the author says were not tested; the tested split MainPCB v1.0 has Gerbers and schematic images only. Gerbers and PCB BOM spreadsheets for each variant. [S003] [S005] |
| firmware | available · MIT (author code); bundled ST library under MCD-ST Liberty V2 STM32 C source with IAR projects and prebuilt HEX files. Bundled StdPeriph files carry STMicroelectronics terms, separate from the root MIT license. test2 omits the library and points to test1. [S003] [S006] [S007] |
| software | available · MIT (root); BSD header on ROS node files derived from xv_11_laser_driver ROS 1 node and PC utilities; the scan utility is published with source, the raw-capture tool is a prebuilt executable. [S003] [S008] [S009] |
| documentation | available · License not fully assessed README is in the MIT-licensed repository; the separate wiki pages show no license in the inspected text. Calibration instructions are a linked video that was not reviewed. [S001] [S003] [S010] [S011] [S012] |
Sensor hardware and firmware; no learned models.
No dataset is distributed with the selected release.
References
Links identify the documentation and revisions used in this profile. Access dates record when each source was retrieved.
- S001 · Ilia Samokhin (iliasam)
OpenSimpleLidar README
Accessed 2026-10-05 · README.md at release v1.1 (b9e5e821971be54b083016067ac54c679cf76682)Source notes
Stated scan rate, angular resolution, range, accuracy, component cost claim and triangulation method.
- S002 · Ilia Samokhin (iliasam)
Release and repository metadata
Accessed 2026-10-05 · Release v1.1 (2021-10-09), commit b9e5e821971be54b083016067ac54c679cf76682; GitHub API fieldsSource notes
Latest stable release, commit, archive checksum, later default-branch push date and dated popularity.
- S003 · Ilia Samokhin (iliasam)
Repository license
Accessed 2026-10-05 · LICENSESource notes
MIT License, copyright 2019 Ilia Samokhin.
- S004 · Ilia Samokhin (iliasam)
Total bill of materials spreadsheet
Accessed 2026-10-05 · TotalBOM.xlsx, sheet 1 cell valuesSource notes
Itemized component prices, totals with and without the optional filter, and delivery exclusion.
- S005 · Ilia Samokhin (iliasam)
PCB README and board notes
Accessed 2026-10-05 · PCB/README.md, board Readme files and PCB folder inventorySource notes
Board variants, author test status, dimensions and file formats (Altium projects, Gerbers, schematic images, PCB BOMs).
- S006 · Ilia Samokhin (iliasam)
Firmware README and source header
Accessed 2026-10-05 · Firmware/README.md, Firmware/test2_capture_image/README.md, main.c headerSource notes
Firmware projects, IAR 7.50 build route, prebuilt HEX files and laser-safety warning.
- S007 · STMicroelectronics (bundled in upstream repository)
Bundled STMicroelectronics peripheral library notice
Accessed 2026-10-05 · StdPeriphLib source file headerSource notes
Vendor library under MCD-ST Liberty SW License Agreement V2.
- S008 · Ilia Samokhin (iliasam)
ROS node notes and source header
Accessed 2026-10-05 · ROS/Readme.txt, ROS/roomba_lidar/manifest.xml, src/lidar_parser.cpp headerSource notes
ROS 1 node derived from xv_11_laser_driver with BSD header; per-device calibration coefficients required.
- S009 · Ilia Samokhin (iliasam)
PC utilities README
Accessed 2026-10-05 · PC_utility/README.mdSource notes
Raw-capture and scan-display utilities, calibration values and source publication note.
- S010 · Ilia Samokhin (iliasam)
Project wiki home
Accessed 2026-10-05 · Wiki page snapshot sha256 321727ab5724Source notes
Component breakdown of scanning head and base, and list of assembly pages.
- S011 · Ilia Samokhin (iliasam)
Wiki: laser alignment and focusing
Accessed 2026-10-05 · Wiki page snapshot sha256 8ce9bd2d2568 (page edited May 23, 2026)Source notes
Alignment procedure using test firmware, a USB-UART converter and the raw-capture utility.
- S012 · Ilia Samokhin (iliasam)
Wiki: lidar calibration
Accessed 2026-10-05 · Wiki page snapshot sha256 24e9451a755aSource notes
Calibration is the final assembly step; coefficients feed the ROS node; procedure is in a linked video.
- S013 · Ilia Samokhin (iliasam)
Mechanics file inventory
Accessed 2026-10-05 · Mechanics/ archive inventorySource notes
STL holders and plates plus DXF base plate and encoder ring.
Correction guidance · Discussion is not enabled · Profile format 0.7.0-draft.5
Change history
2026-10-05 — Initial intake profile from release v1.1 sources (Growbotics lead verified against upstream).