Blueprint

Esp32 360° Lidar

The project is a low-cost, fast 360° LiDAR scanner based on an ESP32. A TF-Luna LiDAR measures distances, while a NEMA17 stepper motor via a TMC2209 rotates the sensor evenly at 50–80 RPM. The goal of the project is to create a precise, flexible, and expandable 2D scanning platform serves as a basis for robotics, mapping, or research applications.

Created by ben ben

Tier 2

7 views

2 followers

Iamalive Iamalive 🚀 requested changes for Esp32 360° Lidar ago

Great idea! However your project seems to be missing a few parts - please fully read https://blueprint.hackclub.com/about/submission-guidelines and add the missing parts!

ben ben added to the journal ago

Tested new prototype

I’ve since revised the mechanical design to include internal cable management for the slipring and overhauled most of the software. It is now in full working order.

Screenshot 2026-01-25 162430

ben ben submitted Esp32 360° Lidar for ship review ago

ben ben added to the journal ago

Made prototype PCB

I made an prototype PCB. I planned using a Esp32 C3 super mini but it's single core performance was not enough so I replaced it with a Esp32 S3 supermini. The PCB uses the Esp32, a Tmc2209 and a Gy91 IMU. I also worked on the Arduino code and on the plotting python program.

image

ben ben added to the journal ago

First test

I put together some quick test code to validate the data, and it does work. The overall code quality is still very rough, highly unoptimized, and missing several basic features, but the initial test results look promising. The tests were run at around 60 RPM. It also ran at speeds up to 500 RPM, although precision dropped significantly at that point. Since communication with the TMC2209 is still not working, these tests were done using 1/8 microstepping instead of 1/32, so there’s likely a lot of room for improvement in terms of precision.

Grundriss_Snapshot

ben ben added to the journal ago

Built prototype v0.3.0

3D printed v0.3.0, assembled it and threw together some quick test code. It worked for a bit but the TMC2209 didnt want to communicate over 1-wire UART to set the microstepping right. Eventually the TMC2209 released the magic smoke.
Screenshot 2025-12-22 103232
image

ben ben added to the journal ago

v0.3.0 CAD design

Completely revised/new CAD design from v0.2.0
Added timing belts and more precise bearings. Removed As5600 and magnetic coupler. Added modular mount for diffent sensors
17HE08-1004S_2025-Dec-22_09-45-29AM-000_CustomizedView8475877672

Version with added mounts for TFluna lidar and slipring
17HE08-1004S_2025-Dec-22_09-33-41AM-000_CustomizedView10921074002

ben ben added to the journal ago

v0.2.4 Prototype

Improved, completely revised version compared to v0.1.0
Rotary axis powered by NEMA 17 23 mm stepper motor over an O-ring. Slip ring placed in the middle and AS5600 magnetic encoder connected over an over-engineered magnetic coupler. Fixed several off tolerances.

Screenshot 2025-12-22 105552
Screenshot 2025-12-22 105519

ben ben started Esp32 360° Lidar ago

12/22/2025 11:06 AM - v0.2.4 Prototype

Improved, completely revised version compared to v0.1.0
Rotary axis powered by NEMA 17 23 mm stepper motor over an O-ring. Slip ring placed in the middle and AS5600 magnetic encoder connected over an over-engineered magnetic coupler. Fixed several off tolerances.

Screenshot 2025-12-22 105552
Screenshot 2025-12-22 105519

12/22/2025 11:17 AM - v0.3.0 CAD design

Completely revised/new CAD design from v0.2.0
Added timing belts and more precise bearings. Removed As5600 and magnetic coupler. Added modular mount for diffent sensors
17HE08-1004S_2025-Dec-22_09-45-29AM-000_CustomizedView8475877672

Version with added mounts for TFluna lidar and slipring
17HE08-1004S_2025-Dec-22_09-33-41AM-000_CustomizedView10921074002

12/22/2025 4 PM - Built prototype v0.3.0

3D printed v0.3.0, assembled it and threw together some quick test code. It worked for a bit but the TMC2209 didnt want to communicate over 1-wire UART to set the microstepping right. Eventually the TMC2209 released the magic smoke.
Screenshot 2025-12-22 103232
image

12/23/2025 - First test

I put together some quick test code to validate the data, and it does work. The overall code quality is still very rough, highly unoptimized, and missing several basic features, but the initial test results look promising. The tests were run at around 60 RPM. It also ran at speeds up to 500 RPM, although precision dropped significantly at that point. Since communication with the TMC2209 is still not working, these tests were done using 1/8 microstepping instead of 1/32, so there’s likely a lot of room for improvement in terms of precision.

Grundriss_Snapshot

12/31/2025 - Made prototype PCB

I made an prototype PCB. I planned using a Esp32 C3 super mini but it's single core performance was not enough so I replaced it with a Esp32 S3 supermini. The PCB uses the Esp32, a Tmc2209 and a Gy91 IMU. I also worked on the Arduino code and on the plotting python program.

image

1/25/2026 - Tested new prototype

I’ve since revised the mechanical design to include internal cable management for the slipring and overhauled most of the software. It is now in full working order.

Screenshot 2026-01-25 162430