Author Options:

How to measure length of an object approx 10cm long within +-1mm by non-contact method, e.g modded flatbed scanner? Answered

Objects are slender and about 5-10cm long. If it helps they can always be mounted in same orientation by placing them in a long V shaped horizontal groove for example.

I currently am using a laser beam mounted in moving carriage of a hacked inkjet printer. When beam is broken carriage stops and stepper motor steps are counted. However this method is ugly and slow.

Something like a glass surface I can place the objects on (such as base of a hacked flatbed scanner) would be much better and wipe-clean. By lining object up in same direction each time, only one row of pixels would need to be read for example looking for a sudden change of contrast. Cannot find any way to easily intercept output of a scanner on the web however, especially a more manageable single pixel as it scans across the length of the scanner.
Alternative might be photographic, for example camera mounted under the glass surface, or even a moving camera to eliminate parallax error.

Any suggestions gratefully received no matter how crazy.

Thanks in advance,




7 years ago

Why not use a ruler?
Seriously, to +-1mm that would be quick and easy. Do you have a few hundred of these slender objects to measure, are you asking for an automated measuring machine with a magazine-feed?


Quercus austrina

7 years ago

I hate to be obvious, but if you are going to use a flatbed scanner, why don't you just put a number of metric rulers (paper copies would be great) on the lid? If you line up the edges of the rulers and the objects to the same edge of the glass, the scan will show the measurement. Bonus is that you can blow it up to see how close it is to what you think you read. No code needed, just software that can initiate the scanning and view the result.



7 years ago

These days, just use a webcam and some code. Nice that you can line them up.

If you have a maximum length of 100mm, and you can make the image of the item fill all 640 pixels of the width of your FOV, then you have a resolution of about 1/6 mm - and you should have what you need in milliseconds


The Skinnerz

7 years ago

What sort of surface finish and material are you trying to measure? If one end can be placed up against a stop, IR or ultrasonic range sensors may be suitable, but you'll have to find some designed for short range/low precision.

If you already have a modified scanner, increasing the feed rate of the scanner head and using the current laser/light detector setup could be effective, especially with an accurate position sensor for the scanner.