How to pick an M12 lens for your robot
It comes down to three things: field of view, distortion, and aperture. They trade off against each other, and the right balance depends on what your robot's cameras actually need to do.
Field of view: coverage vs. resolution
Wider FOV means more spatial coverage but less angular resolution per pixel. For obstacle avoidance, coverage wins: a 215° fisheye kills blind spots, though it introduces heavy barrel distortion. For SLAM feature tracking, a 6mm low-distortion lens gives you cleaner feature correspondence over a narrower view. A lot of production robots run both: fisheye for surround awareness, rectilinear for the primary nav direction.
You can calculate your required FOV with our FOV calculator, or work backward from a target angle using the EFL calculator.
Distortion: what your algorithm can handle
Optical distortion reaches your vision pipeline through the camera model. ORB-SLAM, VINS-Mono, and similar systems work from a calibrated model, so what matters is how well that model fits your lens out to the corners, not whether the number clears a particular percentage. No universal threshold exists. Correction is cheaper than its reputation too: a precomputed remap runs fast on a Jetson, and fisheye-native front ends skip rectification altogether.
If you want the least distortion for the model to absorb, the CIL034 is the flattest lens in this set at roughly 0%, though its product page does not state which distortion metric that figure uses. The CIL023 is the wide option at 2.2mm and -5% TV distortion on a 4:3 frame.
If your obstacle detection stack already handles fisheye models (OpenCV's fisheye module, for instance), a 190° fisheye can work well despite the distortion. The software corrects it; the lens gives you the widest possible view.
Aperture: light gathering vs. depth of field
Fast apertures let in more light, which matters in warehouses, parking garages, and dusk operation. The CIL327 (2.7mm, F/1.5) is the fastest lens in this set; at a standard field of view, the CIL059 (5.9mm, F/1.7) and the CIL061 (6mm, F/1.9) are the quick options. The catch: faster aperture means shallower depth of field. Objects at different distances won't all be sharp.
There is no single F-number that puts 30cm to infinity in focus. Hyperfocal distance falls out of focal length, F-number, and the circle of confusion you are willing to accept, and that last term follows your pixel pitch and how much edge blur the algorithm tolerates. A 2.7mm lens reaches a near hyperfocal at a much lower F-number than a 7.2mm lens does on the same sensor.
Run your own focal length, F-number, and sensor format through the DOF calculator, and treat the result as geometry rather than physics: stopping down buys less than the geometric depth suggests once diffraction takes over. We can send measured depth-of-field data for a given lens if the margin looks tight.
Environmental protection
A warehouse AMR probably needs no rated lens at all. A delivery robot in Seattle needs the sealing somewhere, and you choose where. Rain-exposed builds usually evaluate IP67 lenses that seal at the barrel first; skipping a window and housing becomes an architecture option, taken only after validating the installed assembly. A standard lens sitting behind a window that the housing already qualifies carries no IP code of its own, and that is often the cheaper answer. If your robot gets pressure-washed, ask us about IP6K9K (industry shorthand IP69K) options.
Read any rating narrowly. It applies to the tested lens variant in its mounted configuration under the standard's water and dust exposures (IEC 60529 for IP67, ISO 20653 for IP6K9K, which are separate tests under separate standards). It does not cover steam, detergents, repeated sanitation cycles, UV exposure, condensation inside the barrel, or the rest of the camera.
Sensor compatibility
Every M12 lens has an image circle. If it's smaller than your sensor diagonal, you get dark corners (vignetting). Common robotics sensor formats:
- 1/4" (4.5mm diagonal) — the smallest common module format
- 1/3" (6.0mm diagonal) — most common robotics format, wide lens selection
- 1/2.7" (6.7mm diagonal) — a common low-light robotics format
- 1/2" (8.0mm diagonal) — higher resolution applications
Full dimensions are in our CMOS sensor size reference. If you're not sure which sensor you have, send us the datasheet and we'll recommend a match.







