How to choose an M12 lens for smart-retail cameras
Retail vision splits into two optical problems. One is coverage: see the whole floor or aisle from as few cameras as possible. The other is legibility: put enough clean pixels on a barcode, price label, or face for the model to read it. Fisheye and rectilinear lenses sit at opposite ends of that split, and most store builds use both.
Field of view versus reading detail
Coverage tasks reward wide angles. A 190° to 230° fisheye on a ceiling covers a zone that would take three or four narrow cameras, which is why people-counting and heatmap systems lean on them. Reading tasks reward the opposite. Every degree of field you add spreads the same sensor pixels over more scene, so a barcode or shelf label lands on fewer pixels. Pick the longest focal length that still frames the counter or bay, not the widest one that fits.
Distortion is a legibility spec, not a looks spec
Barrel distortion (negative TV distortion) bows straight lines outward and stretches shapes near the frame edge. For a person-counting fisheye that is fine, because the analytics run on calibrated geometry. For OCR it is a problem: characters and barcode bars near the edge shear and the decode rate drops. Low-distortion and no-distortion designs hold lines straight across the field. Software can undistort a wide lens, but only as well as its calibration, and it adds a step to every frame.
Sensor coverage and image circle
A lens only fills a circle of light, and that image circle has to reach the corners of your sensor or they go dark. The retail lenses here run 8.1mm to 9.4mm image circles, which fully cover a 1/2.6-inch machine-vision sensor such as the AR0234 (6.8mm diagonal). For a sensor larger than that, the large-format 5.5mm (CIL056) is built to fill a bigger frame. When in doubt, run the pairing through the calculator, which flags coverage before you buy.
Low light, IR, and 24/7 operation
Entrances and stockrooms run around the clock, so aperture and IR behavior matter. A fast lens such as the 6mm at F/1.7 (CIL059) gathers more light per exposure than a slower one. Cameras that switch to near-infrared illuminators at night want an IR-corrected lens: it holds focus between visible and near-infrared, where an ordinary lens shifts focus and softens. The 190° IR-corrected fisheye (CIL215) and the IR-corrected 4.4mm (CIL046) are built for that switch.
Sealing and environment
Cold aisles, vestibules, and outdoor-facing entrances see condensation, dust, and washdown. IP67-rated lenses such as the 3.2mm (CIL034) and 6mm (CIL059) handle that without a separate housing, which saves space on a compact camera and removes a fogging surface in front of the optics.
Mount and integration
M12 is a 12mm x 0.5mm thread, also called S-mount. It fits M12 camera modules from ArduCam, e-con Systems, and Leopard Imaging, and the boards that carry AR0234, IMX290, and similar sensors on NVIDIA Jetson and Raspberry Pi. Match the flange and back focal length to your module, confirm the image circle covers the sensor, and set focus against the actual scene distance before you lock the thread.

















