Long Distance RangeFinder - from scratch

Hello all,

I'd like to create a long distance range finder, or in other terms, a LiDAR, from scratch as part of a bigger project I'm working on.
The goal would be to obtain measurements between 100 meters to +1000 meters.

The reason I'd like to build it myself is to gain hands-on experience and save money.

I've found many components that I'd need to use, but before doing any purchase I'd like some feedback from more experienced makers.

I've settled to use my Arduino UNO R4 to control everything and do the calculations, I already have an existing laser (working on pulsating mode, at 532nm ±1.5%, ≤300mW). I'm only using the green laser for prototyping, and I'll switch to a better wavelength later if everything works fine. I'll most definitely buy the Time-to-Digital converter TDC-GP22 breakout, I found a rough schematic of the build in its datasheet :

block_diagram

The Avalanche Photo Diode (APD) might be the Excelitas VTB8441BH, would I need some external module to run it ?

And to complete the circuit I'll need a low noise operationnal amplificator OPA657 to convert the APD current to voltage.
A comparator, LM393 to convert the amplified signal to digital so the TDC sensor can process it.
Finally, I'll need a few resistors, capacitors, a MOSFET to pilot the laser, a couple lenses, an optical filter and probably a couple SMT Breakout PCB for SOIC-8 since the last few components are a bit too small to work with.

Do I miss anything? And do you guys think that this project is doable?

A lot depends on if you are talking about a google street view class or the $50 hobby class.
Another dependency is your track record with 10 or 12 projects of increasing complexity.

How do you save money with R&D of a product already on the market? Search "LRD"

In your drawing, why would you amplify the digital output of the mcu and not the output of the LASER?

Not likely, but you will learn a lot!

Ok, so should I get an LDR module but swap the photoresistor with an avalanche one? That would save time and trouble. The ones that come with classic LDR Arduino modules are far from being sensitive enough to work with.

I got the drawing from the Time-of-Flight sensor datasheet, and I also wonder why the signal is amplified before the laser's output, it's not really detailed. Maybe their laser input had to be greater than what the microcontroller is capable of.

I actually don't need to make any kind of topography, I only need to measure a single omnidirectional long-distance at a time. Getting one of those in the $50 range isn’t a good idea, since I’ll never be able to reach the desired distances.

No. LDRs have millisecond response time and the rest of the circuit in the module is designed around it.

LRD - LASER Rangefinder/Designator.

Several years ago, when I owned an electronic assembly company, a neighboring company and customer developed a laser range finder for building construction work. They had so much trouble with multiple reflection causing noise that they went with a rotating mirror. Just like the bar code reader in your supermarket. That worked very well and could measure fractions of inches at a block away from the target.

So, be aware of getting many returns from your target, all with different timings.

Alright, thank's for the advice!