Lenses for Embedded Vision: Mount Selection, Sensor Matching, and Board-Level Integration
This guide picks lenses at the board level for Jetson, Raspberry Pi, and other MIPI-CSI2 camera modules. It covers mount choice, sensor and CRA matching, and the power/size/cost tradeoff.
By Max Henkart, Commonlands · Updated July 2026 · 9 min read
M12 (S-mount) lenses are the default for embedded vision because they thread directly into a PCB-mounted holder at 3g-15g, cover sensors up to roughly 1/1.8 inch (select models reach 1/1.7 to 1/1.6 inch), and cost a fraction of industrial C-mount optics. Use C-mount or CS-mount only when the application needs an adjustable iris, a larger sensor, or the off-axis correction a cam-focused industrial design holds across its focus range.
What Lens Mount Is Best for Embedded Cameras?
M12 (S-mount) is the standard for embedded vision: it has the smallest form factor at 3g-15g, threads directly into a PCB-mounted holder with no adapter plate, and costs a fraction of an industrial C-mount lens. Most M12 lenses cover sensors up to roughly 1/1.8 inch (select models reach 1/1.7 to 1/1.6 inch), including the IMX219 and IMX708 on Jetson and Raspberry Pi modules and the IMX477 on the M12-mount High Quality Camera.
Embedded systems lack the design margin of a factory-floor station: a 150g C-mount lens is fine on a fixed stand, but it eats flight time on a drone and adds inertia on a robot arm.
Thermal range is also wider outside a climate-controlled factory. A camera in a vehicle or outdoor enclosure can swing across -30 degrees C to +70 degrees C in a day, and at F/2 on a small-pixel sensor the depth of focus is only a few microns. Construction is a screening clue, but drift belongs to the whole lens, holder, and sensor assembly: qualify it with a measured focus and MTF run across your range, a test Commonlands can run on request.
| Mount | Thread | Typical weight | Best for | Collection |
|---|---|---|---|---|
| M12 (S-mount) | M12x0.5mm | 3g-15g | Robotics, drones, edge AI, board cameras | M12 lenses |
| M8 | M8x0.35 or M8x0.5 | 1g-5g | Ultra-compact, endoscopy, micro-cameras | M8 vs M12 |
| CS-mount | 1"-32 UN, 12.526mm flange | 50g-150g | Compact industrial, Raspberry Pi High Quality Camera (C/CS version) | CS-mount basics |
| C-mount | 1"-32 UN, 17.526mm flange | 50g-200g | Full industrial, high-resolution inspection | C-mount lenses |
C-mount and M12 are different optical systems, not two sizes of the same thing. Commonlands C-mount lenses use cam-driven focus; the focus mechanism and its near-limit behavior are product-specific, so check the product page. A second ring drives the iris, and the mount standard itself requires no cam. M12 is a rigid assembly with no moving groups, focused by threading the whole lens in or out. The tradeoff is in-barrel focus and iris control versus size, weight, and cost.
How Do I Match a Lens to My Embedded Sensor?
A lens-sensor mismatch shows up as vignetting, color shading, or wasted resolution. Four parameters need to line up: image circle versus sensor diagonal, chief ray angle (CRA) versus sensor microlens design, lens MTF versus sensor Nyquist frequency, and back focal length versus your sensor stack.
Image Circle Must Cover the Sensor Diagonal
The lens projects a circular image; your rectangular sensor sits inside it. An image circle smaller than the sensor diagonal vignettes the corners and fails whenever the image must fill the frame. Moderate oversizing is harmless. Circular-image fisheyes that place the whole image circle inside the frame are the deliberate exception.
| Sensor format | Diagonal |
|---|---|
| 1/4" | 4.5mm |
| 1/3" | 6.0mm |
| 1/2.5" | 7.2mm |
| 1/2.3" (IMX477 class) | 7.9mm |
| 1/1.8" | 8.9mm |
| 1/1.7" | 9.5mm |
| 1/1.6" | 10.1mm |
A lens rated for 1/2.5" sensors covers that size or smaller and vignettes on a 1/1.7" sensor. Datasheets list image circle in millimeters or as a format designation, and the two are not always published with matching precision, so verify against your sensor's actual diagonal. See sensor size and lens compatibility for the coverage math.
Resolution: The Lens MTF Must Clear the Sensor's Nyquist Frequency
A 12MP sensor with 1.55µm pixels has a Nyquist frequency of 1 / (2 x pixel pitch), about 322 lp/mm. That is the monochrome sampling ceiling, and a Bayer color sensor samples each channel more coarsely. If the lens cannot resolve the frequency your task needs at your working aperture, the sensor's extra resolution goes to waste. Check the lens MTF chart at your aperture.
Commonlands uses 20%-30% MTF at Nyquist as a starting point, not a standard. What you actually need follows the contrast and SNR of the task, how much aliasing the pipeline tolerates, and which field positions carry the measurement, so validate the number against your own images. The MTF curve guide explains the charts, and spatial resolution covers the pixel-to-lens relationship.
Work the Focal Length Math Directly
Run your sensor size, field of view, and working distance through the field of view calculator or EFL calculator.
How Does Chief Ray Angle Affect Embedded Camera Image Quality?
Chief ray angle (CRA) is the angle between the sensor normal and the central ray of each imaging bundle, the ray through the center of the aperture stop. It rises with image height and is set by the exit pupil distance.
Small-pixel sensors, common at 1.4µm-2.5µm in embedded cameras, use microlenses over each pixel tuned to a specific CRA curve. That curve runs from roughly 0 to 15 degrees at the edge on industrial and machine vision sensors, up to 25 to 35 degrees on mobile-class parts. Pull the curve for your sensor rather than assuming a typical value.
When the lens CRA does not track the sensor's design CRA, red, green, and blue channels fall off differently toward the edges and corner brightness drops. Software cannot fully correct it, because the mismatch is wavelength- and angle-dependent at the pixel level, not a uniform gain error. Sensor and lens datasheets both specify a CRA curve. For sub-2µm pixels, check that the two track across the field, not just at the center. The full mismatch mechanics are in the Commonlands chief ray angle and mismatch guide.
CRA mismatch is easy to miss during bring-up because center-field image quality looks fine. The problem shows up at the corners and edges, often only under specific lighting or after a sensor revision changes the microlens design. Verify CRA compatibility before committing to a lens for a new camera module, not after color shading appears in the field.
How Do M12 Lenses Integrate With Jetson and Raspberry Pi Camera Modules?
MIPI CSI-2 is an electrical interface between sensor and host, not a lens mount, and neither Jetson nor Raspberry Pi defines one. Mount style and hole pattern belong to the camera board. M12 holders screwed or soldered to the PCB are the common case, and 18mm and 20mm hole spacings recur often enough to look standard, but they are conventions among board vendors rather than a published standard. Work from the board's mechanical drawing.
Raspberry Pi's own line shows the spread. Camera Module 2 (IMX219) and Camera Module 3 (IMX708) carry fixed integrated optics. The High Quality Camera (IMX477) ships in two mount versions: a C/CS-mount body that includes a C-mount adapter, and a native M12-mount body. Pick the lens against the board in front of you.
Because M12 has no standardized flange distance, focus is set by how far the lens threads in, and back focal length (BFL) varies by design. That variability helps at the board level. Move a lens onto a module whose cover glass and IR filter stack is a different thickness, and a holder of the correct height puts the image plane back where the design wants it.
Holder height only buys back focus. A plane-parallel stack of a different thickness sitting in a converging beam changes spherical aberration and axial color, and wedge in that stack tilts the image plane. Axial motion corrects none of that, and a different filter moves the passband; an interference cut filter also shifts its cut-off with ray angle, so corners and center respond differently. Measure corner MTF and color shading on the new module rather than assuming the refocus closed the gap.
Confirm holder height against the lens's specified back focal length and your full sensor stack (bare sensor, cover glass, IR filter, any spacer) before finalizing the PCB footprint. Commonlands' M12 lens holder selection guide covers holder height selection and thread engagement in detail.
Multi-camera designs raise the bar further. A stereo pair or array should be closely matched in focal length and distortion profile across modules, since those set the disparity-to-range scale and rectification accuracy. Per-camera calibration makes a modest mismatch correctable, but larger spreads raise residuals and cut interchangeability. Back focal length variation between units, by contrast, is absorbed by focusing each lens individually. Bulk-buying from one production lot reduces optical unit-to-unit variation but does not eliminate it, so verify corner focus on each unit during bring-up, not only the center.
Lens Selection by Embedded Application
Edge AI and NVIDIA Jetson Platforms
Jetson Nano, Xavier NX, and Orin modules pair with MIPI-CSI2 camera boards, commonly on M12 holders. A mid-range focal length covers general-purpose vision at arm's length to room scale. A wider one suits surround-view and obstacle detection, trading fine detail for coverage.
Robotics and AMR Navigation
Mobile robots usually run two camera roles on two lenses: wide-angle or fisheye for obstacle avoidance, where geometric accuracy does not matter, and a second camera for SLAM. SLAM does not require low distortion. Calibrated fisheye and omnidirectional camera models are standard in current stacks, so what the front end needs is a model that fits the lens, a calibration that holds, well-localized features, and enough field of view.
Low distortion keeps a plain pinhole model valid and skips the undistort step, which is why it stays the simpler choice rather than the required one. See Commonlands' lenses for robotics for dual-camera architectures.
Surveillance and Security
Day/night operation needs both a way to admit near-infrared light (a switchable IR-cut filter, or none) and an IR-corrected lens to hold focus across both bands. A fixed IR-cut filter blocks near-infrared, so the camera goes blind when an 850nm illuminator switches on. Removing it without an IR-corrected lens leaves the night image out of focus, since visible and near-infrared light focus at different planes.
Top M12 Lenses for Embedded Vision
The Commonlands lenses below span 0.8mm to 7.8mm focal length at F/1.45 to F/2.3, covering general-purpose vision, low-light surveillance, low-distortion SLAM, and ultra-wide surround view on Jetson and Raspberry Pi camera modules. All are stocked, all-glass or hybrid designs that thread into a standard M12x0.5mm holder.
| Rank | Lens | EFL | F# | Image circle | Best embedded use |
|---|---|---|---|---|---|
| 1 | CIL078 7.8mm M12 lens | 7.8mm | F/2.0 | 9.2mm | General-purpose vision on 8MP sensors up to 1/1.7 inch (Jetson, Raspberry Pi) |
| 2 | CIL059 5.9mm M12 lens | 5.9mm | F/1.7 | 9.0mm | Fast general-purpose, stereo, and inspection cameras; IP67 variant available |
| 3 | CIL326 2.9mm M12 lens | 2.9mm | F/1.45 | 6.8mm | Wide-angle low-light surveillance, IP67-rated for exterior cameras |
| 4 | CIL034 3.25mm M12 lens | 3.25mm | F/2.3 | 7.8mm | Low-distortion SLAM and outdoor robotics; IP67 on the M12A variant. Hybrid 4G2P construction, so check its measured thermal focus shift against your temperature range before an outdoor build |
| 5 | CIL239 1.8mm M12 fisheye | 1.8mm | F/2.0 | 5.2mm | IR-corrected day/night obstacle avoidance on 1/4 inch to 1/3 inch sensors |
| 6 | CIL207 0.8mm M12 fisheye | 0.8mm | F/1.9 | 4.0mm | Ultra-wide 220-degree surround view and obstacle detection |
EFL, F#, and image circle values are as published on each linked product page. CIL034 lists F/2.3 to F/4.2 across its variants. The CIL239 and CIL207 image circles are deliberate circular-image fisheye configurations, the exception noted in the image circle section. Ranking reflects breadth of embedded use, not optical quality order.
Frequently Asked Questions
How do I choose a lens for an embedded vision system?
Start with four constraints: sensor format, mount type, field of view, and operating environment. Sensor format sets the minimum image circle. Most embedded cameras use M12 for compactness. Calculate focal length from working distance and required field of view, then filter by IP rating, IR correction, and CRA match to your sensor's microlens design.
What lens mount is best for embedded cameras?
M12 (S-mount) is standard for embedded vision. It weighs 3g-15g, threads directly into a PCB-mounted holder, and covers sensors up to roughly 1/1.8 inch in most models (select models reach 1/1.7 to 1/1.6 inch). Common examples include the IMX219 and IMX708, plus the IMX477 on the M12-mount version of the Raspberry Pi High Quality Camera. Choose M8 for ultra-compact designs. Choose C-mount or CS-mount when you need a larger sensor, an adjustable iris, or industrial-grade correction that M12 lenses typically are not designed to provide.
Do M12 lenses work with NVIDIA Jetson cameras?
Yes. Many Jetson-compatible camera boards use M12x0.5mm lens holders, including the native M12-mount version of the Raspberry Pi High Quality Camera and a range of Arducam modules. MIPI CSI-2 is an electrical interface and does not set the mount, so confirm it on the board. M12 has no fixed flange distance, so threading the lens in or out sets focus across modules with different sensor stack thicknesses. Focus is all it sets: a stack of a different thickness still changes the aberration correction reaching the sensor.
What focal length do I need for embedded vision?
Focal length sets field of view for a given sensor and working distance. At 0.5m-2m, 4mm-8mm covers general-purpose vision. 2mm-4mm suits obstacle avoidance and surround view. 8mm-16mm suits inspection and barcode reading. Use EFL = (WD x sensor_width) / FOV_width, or the Commonlands EFL calculator, to solve for the required focal length.
How does CRA affect embedded camera image quality?
Chief ray angle (CRA) is the angle at which the lens delivers light to each point on the sensor. Sensor microlenses are tuned to a CRA curve, from roughly 0 to 15 degrees at the edge on machine vision sensors up to 25 to 35 degrees on mobile-class parts, so pull the curve for your sensor rather than assuming one value. A lens CRA that does not track that curve produces color shading and corner falloff that software cannot fully correct, since the mismatch is wavelength- and angle-dependent.
Need Help Matching a Lens to Your Embedded Camera?
Send Commonlands your sensor model, target field of view, and operating environment. The optical engineering team can recommend focal length, aperture, and filter configuration, and confirm CRA compatibility before you commit.



