Embedded Vision Lenses
Stocked M12 (S-mount) lenses for board cameras, edge AI, and robotics. Thread directly into a PCB-mounted holder on Jetson, Raspberry Pi, and other MIPI-CSI2 camera modules.
M12 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. Reach for C-mount or CS-mount only when the application needs an adjustable iris, a larger sensor, or the aberration rebalancing a cam-focus design provides.
Embedded Vision Lenses Collection
M12 and S-mount lenses stocked for board-level camera integration.
Which lens mount fits a board camera?
M12 offers the smallest form factor, threads into a holder soldered or clipped to the camera PCB with no adapter plate, and covers the IMX477, IMX219, and IMX708 sensors used in most Jetson and Raspberry Pi camera modules. Embedded systems do not have the design margin a factory-floor inspection station has: a 150g C-mount lens on a fixed stand is a non-issue, but the same lens on a drone eats into flight time, and on a robotic arm it adds inertia the servo has to overcome. Weight, power draw, and unit cost compound across every embedded design decision.
C-mount and M12 are different optical systems, not two sizes of the same thing. C-mount uses an internal cam: rotating the focus ring moves lens groups relative to each other, which rebalances aberrations across the focus range and allows an adjustable iris. M12 is a rigid assembly with no internal moving groups; focus is set by threading the entire lens in or out of the holder. The tradeoff is cam compensation and iris control versus size, weight, and cost. M8 exists for extreme miniaturization such as endoscopes and micro-inspection probes, typically covering sensors up to 1/3 inch. See the M12 vs C-mount vs CS-mount guide and what is an M12 lens for the mechanical basics.
| 마운트 | 스레드 | Typical weight | 다음에 가장 적합합니다 |
|---|---|---|---|
| M12 (S-mount) | M12x0.5mm | 3g-15g | Robotics, drones, edge AI, board cameras |
| M8 | M8x0.35 or M8x0.5 | 1g-5g | Ultra-compact, endoscopy, micro-cameras |
| CS-mount | 1"-32 UN, 12.526mm flange | 50g-150g | Compact industrial, Raspberry Pi HQ camera |
| C-마운트 | 1"-32 UN, 17.526mm flange | 50g-200g | Full industrial, high-resolution inspection |
Match the lens to your sensor before anything else
A lens-sensor mismatch shows up as vignetting, color shading, or wasted resolution. Four parameters need to line up: image circle versus sensor diagonal, CRA versus sensor microlens design, lens MTF versus sensor Nyquist frequency, and back focal length versus your sensor stack.
The lens projects a circular image; your rectangular sensor sits inside that circle. An image circle smaller than the sensor diagonal vignettes the corners. A lens rated for 1/2.5 inch sensors covers any sensor that size or smaller; it will vignette on a 1/1.7 inch sensor. Format labels are not always published with matching precision between vendors, so verify against your sensor's actual diagonal. The coverage math is in sensor size and lens compatibility.
Chief ray angle deserves the same scrutiny on small-pixel sensors. Sensors with 1.4µm-2.5µm pixels use microlenses tuned to a specific CRA curve, typically 20 to 30 degrees at the corners. A lens CRA that does not track the sensor's design CRA produces color shading and corner falloff that software cannot fully correct, because the mismatch is wavelength- and angle-dependent at the pixel level. The failure is easy to miss during bring-up because center-field quality looks fine; verify against both datasheets before committing, per the chief ray angle and mismatch guide.
For focal length, work the math directly: EFL = (WD × sensor_width) / FOV_width. At 0.5m-2m working distance, 4mm-8mm covers general-purpose vision, 2mm-4mm suits obstacle avoidance and surround view, and 8mm-16mm suits inspection and barcode reading. Run your numbers through the EFL calculator or the field of view calculator.
Board-level integration on Jetson and Raspberry Pi
Jetson Nano, Xavier NX, and Orin modules, along with Raspberry Pi and most other MIPI-CSI2 board cameras, connect through M12 holders on the camera PCB. Because M12 has no standardized flange distance, focus is set entirely by how far the lens threads into the holder, and back focal length varies by lens design. That variability is a feature for board-level integration: when you swap camera modules, or one lens design needs to work across two sensor stacks with different cover glass or IR filter thickness, the fix is a holder of the correct height rather than a different lens.
Confirm holder height against the lens's specified back focal length and your full sensor stack, bare sensor plus cover glass plus IR filter plus any spacer, before finalizing the PCB footprint. Multi-camera designs raise the bar further: a stereo pair needs matched focal length and matched back focal length across every module, since a small BFL difference between two nominally identical units shows up as a focus mismatch between the left and right images. Verify focus at the corners of the field on each unit during bring-up, not only at the center. Holder height selection and thread engagement are covered in the M12 lens holder selection guide.
The power, size, and cost tradeoff
M12 lenses sit at the small-footprint, low-cost corner of the design space. A fixed-aperture lens draws no power and costs a fraction of an industrial optic, but gives up the adjustable iris and cam-based aberration compensation C-mount provides. C-mount's iris is only practical in machine vision because illumination is usually programmatically controlled, which lets the system stop down for depth of field without starving the sensor of light. Embedded systems that rely on ambient lighting cannot always make that trade, which pushes the decision back toward a fixed-aperture M12 lens with a fast F-number: an F/1.4 lens admits roughly four times the light of an F/2.8 lens. Most embedded designs default to M12 and accept the loss of iris control, reserving C-mount for the subset of applications where the extra size and cost buy something the application actually needs. Application-specific picks for robotics, drones, and surveillance live in the collections linked below.
자주 묻는 질문
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: 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), including the IMX477, IMX219, and IMX708. 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. Most Jetson-compatible camera modules, including the Raspberry Pi HQ Camera M12 variant, Arducam modules, and other MIPI-CSI2 boards, use M12x0.5mm lens holders. M12 has no fixed flange distance, so focus is set by threading the lens in or out, which also lets you compensate for different sensor stack thicknesses between camera modules.
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 exact 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. Small-pixel sensors have microlenses tuned to a specific CRA curve, typically 20 degrees to 30 degrees at the corners. A lens CRA that does not track the sensor's design CRA produces color shading and corner brightness falloff that software cannot fully correct, because the mismatch is wavelength- and angle-dependent at the pixel level.
How do I size an M12 lens holder for my sensor stack?
Match holder height to the lens back focal length and your full sensor stack: bare sensor, cover glass, IR filter, and any spacer. Because M12 has no standard flange distance, the same lens can need a different holder height depending on the camera module. Confirm holder height against the lens datasheet before finalizing the PCB footprint; see the M12 lens holder selection guide.
Need help matching a lens to your embedded camera?
Send us your sensor model, target field of view, and operating environment. Our optical engineers can recommend focal length, aperture, and filter configuration, and confirm CRA compatibility before you commit to a design.







