For about $120 I can buy a handheld laser distance meter with an accuracy spec of (+/- 2 mm +50 ppm) and a claimed range of 100 meters, see for example the MiLESEEY D9 Pro. It does want a white surface for the max range, but this one does not use a retroflector. I know it works ok at 40 m just on bare concrete. I assumed that I should be able to buy a raw OEM module controlled by I2C or serial etc. with similar specs. As far as I know, I cannot. I’d love to hear that I am wrong, but if I’m right, I wonder why that is? Is it true that no one wants such a thing?
EDIT: if you’re curious, the D9 Pro accuracy spec is on p.44 of the manual at https://cdn-files.myshopline.com/file/store/1709871255948/D9-Pro-User-Manual-2.pdf
By comparison the latest (v4) Garmin “LIDAR-Lite” even with averaging, is +/-1 cm at 2 m and +/- 5 cm at 10 m, so that is maybe an order of magnitude worse than what I’m talking about.
The UNI-T UT390B costs about USD 40, is claimed to have accuracy of +/-2 mm at 40 m, and has a serial port.
For hacking it, see Uni-T UT390B | Hackaday
Note: the “+” version may be a new model, possibly without the serial port.
I’ve seen similar bare laser ranging modules from Chinese suppliers, so look around.
Thanks, I realize now that OEM modules are in fact available at the usual places at moderate prices, such as: “50m/164ft Laser Distance Measuring Sensor Range Finder Module Low cost Diastimeter Single & Continuous Measurement” and there is even some minimal documentation on the serial interface protocol used. Like the handheld units, they have 1 mm resolution and claim ~2mm accuracy. Probably at the slowest rate, at short range and ideal conditions, however this is basically what I was looking for.
[EDIT] Ah, in fact another module “20hz High Accuracy 80m Laser Sensor Range Finder Distance Measuring Module TTL Interface Ardunio” claims even better performance, 1 mm accuracy (standard deviation) at 5 Hz sample rate (and I assume short ranges), and switchable between 1 and 0.1 mm resolution (!) Most such writeups seem ignorant of the difference between accuracy and resolution, but this one looks intriguing.
UPDATE: this device does have a name: DFRobot SEN0366 Laser Rangefinder
The above-referenced OEM distance measuring device claiming 80 m range does what I want under direct program control, via serial port. I just received one and it does show 20-point standard deviation varying between 0.2 and 0.7 mm in a data set of 4000 points, something I did not realize was available from this class of device at all. It appears able (with averaging) to repeatably resolve distance changes of less than 1.0 mm. Initial testing indicates the published specs are roughly correct, at least over short distances like 3 meters.
I find it unfortunate that the unmarked module seems to have no brand and no model number, so it cannot generally be referred to as a specific device. I’m not sure why that’s an advantage to whoever made it, but I suppose it must be. It runs on 3.3V and came already wired up to a separate USB-TTL interface stick marked “STC Auto Programmer” in a sort of kludgy way. Windows sees that as a CH340 USB-serial device. For best accuracy you have to use the slowest output, which for single commands takes about 0.75 sec per reading.
Sold on an auction site you probably know, under the heading “20hz High Accuracy 80m Laser Sensor Range Finder Distance Measuring Module TTL Interface Ardunio”