






vdar — 3D LiDAR Scanner
このプログラムについて
vdar — a low-cost 3D LiDAR scanner
vdar is a fully open-source 3D LiDAR scanner built around the Benewake TF-Luna ranging sensor. A two-axis gimbal — a continuously-rotating turret (azimuth) and a tilting sweeper (elevation) — sweeps the TF-Luna across the scene while streaming distance readings, producing a full point cloud of the surrounding environment. Results can be viewed live in the bundled vvis NodeJS visualizer.
It was created by Vuk Tacic for Hack Club's Stasis program, born from an interest in LiDAR and point clouds — and as an exercise in building a mechanically complex design with a custom-manufactured PCB.
How it works
- A TF-Luna LiDAR (250 Hz UART) measures distance along a single ray.
- Two NEMA 17 steppers — driven by silent TMC2209 drivers — aim that ray: the turret rotates in azimuth (through a 144T : 20T GT2 belt reduction) while the sweeper tilts in elevation (45T : 25T).
- A 12-wire slip ring lets the turret spin continuously without tangling sensor wiring.
- An ESP32 runs the
vcorefirmware, homing both axes against optical endstops and streaming(distance, azimuth, elevation)samples for each point.
What's in the source repo
hardware/cad— Fusion 360 (.f3z) and STEP design fileshardware/pcb— KiCad schematic, board, and JLCPCB-ready gerbersvcore— ESP32 firmware (PlatformIO)vvis— NodeJS point-cloud visualizerproject— assembly notes, BOM, and example scans
Control interface
This orobot Program exposes vdar's command protocol — Scan, Home, Stop, Status — as a learning interface. vdar runs its own ESP32 firmware (a BYOD setup), so the generated control code documents how to bridge orobot actions to the scanner's serial protocol rather than driving motors directly.
Source: https://github.com/vuktacic/vdar · License: MIT © 2026 Vuk Tacic
3D-printed parts
14 printable STLs are attached, machine-tessellated from the source hardware/cad/vdar.step assembly via OpenCASCADE (not author-provided STLs — spot-check before printing). Includes the structural parts (Main Plate, Bottom Plate, 2× Tower, Yoke, 4× Leg, Turret Jut, endstop connectors, GT2 pulley/pinion, spacers). Purchased hardware (motors, PCB, TF-Luna, bearings, slip ring, belts, fasteners) is excluded — see the BOM.
🖨 印刷ファイル (14)
20T-GT2-Pulley-Turret-Pinion-v3.stl
3.4x6x7.4mm-Spacer.stl
45T-GT2-Pulley-Sweeper-v1.stl
4x8x1.6-Spacer.stl
4x8x11.8-Spacer.stl
Bottom-Plate.stl
Estimated total parts cost: ~$100–150 USD (documented build outlay was CAD $143 / ~$104 USD, including spares). Most structural parts are 3D-printed in black PLA.
Electronics
| Item | Qty | Vendor | Notes |
|---|---|---|---|
| Benewake TF-Luna 250Hz LiDAR | 1 | AliExpress | Core ranging sensor (UART, 115200 baud) |
| ESP32 DevKit-C | 1 | — | Runs the vcore firmware |
| TMC2209 Stepper Driver | 2 | AliExpress | Silent UART stepper drivers |
| Optical Endstop | 2 | AliExpress | Turret + sweeper homing |
| MP1584EN Buck Converter | 1 | AliExpress | Step-down power |
| 12-Wire 2A Slip Ring | 1 | AliExpress | Continuous turret rotation |
| USB-C Decoy Board | 1 | AliExpress | Power input |
| Custom PCB | 1 | JLCPCB | Gerbers in hardware/pcb/production |
Mechanical
| Item | Qty | Vendor | Notes |
|---|---|---|---|
| NEMA 17 Motor 17HS4023 | 2 | AliExpress | Turret + sweeper |
O