Hackster is hosting Hackster Holidays, Ep. 6: Livestream & Giveaway Drawing. Watch previous episodes or stream live on Monday!Stream Hackster Holidays, Ep. 6 on Monday!

Felix Arnold's Raspberry Pi Gains a 3D Lidar Mapping System — Built From the Ground Up

Why buy off-the-shelf when, with a little ingenuity and a 3D printer, you can make your own 3D-mapping lidar sensor?

Gareth Halfacree
4 months agoSensors / 3D Printing / FPGAs

Maker Felix Arnold has decided to add a 3D depth-mapping system to a Raspberry Pi single-board computer the hard way: by building a lidar system from scratch.

"This project, initially conceived as a final project at the Eastern Switzerland University of Applied Sciences (OST), aimed to construct a fully functional lidar system," Arnold explains. "At its core, the lidar system uses time-of-flight principles to measure distances. A laser pulse is emitted, and the time it takes for the light to reflect off a surface and return to the sensor is measured, allowing for precise distance calculations. The system design is modular, prioritizing testability and flexibility."

A popular choice for autonomous vehicles and other devices that need to be able to map and monitor their surroundings in three dimensions, lidar — light detection and ranging — typically scans its surroundings with a laser beam, taking rapid time-of-flight readings to build up a map of where things are in 3D space. While it's possible to buy lidar sensors off-the-shelf, with many now surprisingly affordable, Arnold took a different approach and built one from scratch.

Arnold's lidar sensor is based on a 850nm laser connected to a custom pulse generator circuit and radio frequency amplifier. The design offers a choice of avalanche photodiode or silicon photomultiplier receivers — "both," Arnold explains, "offering different advantages in sensitivity and response" — which pick up the bounced laser light and measure the time between transmission and reception.

That alone will get you a measurement of the distance between your depth-sensor and a single point in space, but not a 3D lidar system. For that, Arnold designed a custom optics system and a gimbal mount under stepper motor control, which gives the laser the ability to shift position and rapidly scan the environment. Data is processed through a field-programmable gate array (FPGA) backed by a custom Python framework, generating a 3D map of the area around the lidar.

"The project successfully produced a 3D point cloud of a room, demonstrating the system's capability to perform precise, real-time scanning," Arnold explains. "However, there are still areas for improvement, including a higher peak power on the laser and enhancements to the optical alignment process."

A full copy of the project report is available on Hackaday.io, along with schematics for the electronics.

Gareth Halfacree
Freelance journalist, technical author, hacker, tinkerer, erstwhile sysadmin. For hire: freelance@halfacree.co.uk.
Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles