1<!doctype html> 2<html class="js" lang="en"> 3 <head> 4 <meta charset="utf-8"> 5 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 6 <meta name="viewport" content="width=device-width,initial-scale=1"> 7 <meta name="theme-color" content=""><!-- Google Tag Manager --> 8
8<script>
vendor: 343 bytes, lines 8-12
8(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 9 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 10 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 11 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 12 })(window,document,'script','dataLayer','
12GTM-TG4895P2
vendor: 3 bytes, line 12
12');
12</script>
12 13 <!-- End Google Tag Manager --><link rel="canonical" href="https://commonlands.com/products/camera-module-assembly"><link rel="llms-txt" href="https://commonlands.com/llms.txt" type="text/plain"><link rel="icon" type="image/png" href="//commonlands.com/cdn/shop/files/Commonlands_Camera_Logo_Redone_color_transparent_32.png?crop=center&height=32&v=1613731244&width=32"><link rel="preconnect" href="https://fonts.shopifycdn.com" crossorigin><title> 14 Camera Module Assembly | Lens Focus and Alignment 15 – Commonlands Optics</title> 16 <meta name="description" content="Camera module assembly services: we focus and bond our lenses to your sensor in a San Diego cleanroom. Talk to our engineers about your module build."> 17 18 19 20 21<meta property="og:site_name" content="Commonlands Optics"> 22<meta property="og:url" content="https://commonlands.com/products/camera-module-assembly"> 23<meta property="og:title" content=" 24Camera Module Assembly | Lens Focus and Alignment"> 25<meta property="og:type" content="product"> 26<meta property="og:description" content=" 27Camera module assembly services: we focus and bond our lenses to your sensor in a San Diego cleanroom. Talk to our engineers about your module build."><meta property="og:image" content="http://commonlands.com/cdn/shop/files/CameraModuleAssemblyM12lenses.webp?v=1750195519"> 28 <meta property="og:image:secure_url" content="https://commonlands.com/cdn/shop/files/CameraModuleAssemblyM12lenses.webp?v=1750195519"> 29 <meta property="og:image:width" content="1000"> 30 <meta property="og:image:height" content="1000"><meta property="og:price:amount" content="0.00"> 31 <meta property="og:price:currency" content="USD"><meta name="twitter:card" content="summary_large_image"> 32<meta name="twitter:title" content=" 33Camera Module Assembly | Lens Focus and Alignment"> 34<meta name="twitter:description" content=" 35Camera module assembly services: we focus and bond our lenses to your sensor in a San Diego cleanroom. Talk to our engineers about your module build."> 36 37 38
38<script src="//commonlands.com/cdn/shop/t/50/assets/constants.js?v=132983761750457495441784481361" defer="defer"></script>
38 39
39<script src="//commonlands.com/cdn/shop/t/50/assets/pubsub.js?v=25310214064522200911784481358" defer="defer"></script>
39 40
40<script src="//commonlands.com/cdn/shop/t/50/assets/global.js?v=7301445359237545521784481360" defer="defer"></script>
40 41
41<script src="//commonlands.com/cdn/shop/t/50/assets/details-disclosure.js?v=13653116266235556501784481359" defer="defer"></script>
41 42
42<script src="//commonlands.com/cdn/shop/t/50/assets/details-modal.js?v=25581673532751508451784481360" defer="defer"></script>
42 43
43<script src="//commonlands.com/cdn/shop/t/50/assets/search-form.js?v=133129549252120666541784481376" defer="defer"></script>
43<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
43<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/27392737398/digital_wallets/dialog"> 44<meta id="in-context-paypal-metadata" data-shop-id="27392737398" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD"> 45<link rel="ucp" href="/.well-known/ucp" version="2026-08-25"><link rel="buy" href="/cart/42314501161078:1?ucp/version=2026-08-25&context/payment/0/handler=dev.shopify.shop_pay" payment="dev.shopify.shop_pay com.google.pay dev.shopify.card"><link rel="alternate" type="application/json+oembed" href="https://commonlands.com/products/camera-module-assembly.oembed">
46<script async="async" src="/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=5179277430"></script>
46 47<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
48<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=5179277430&shop_id=27392737398" crossorigin="anonymous"></script>
vendor: 1 bytes, line 48
48
49<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":27392737398,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/27392737398","merchantName":"Commonlands Optics","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","elo","jcb"],"total":{"type":"pending","label":"Commonlands Optics","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 49
49
50<script id="shopify-features" type="application/json">{"accessToken":"9d9ce8d89d072e68e60ddf8f90a52669","betas":["rich-media-storefront-analytics"],"domain":"commonlands.com","predictiveSearch":true,"shopId":27392737398,"locale":"en"}</script>
vendor: 1 bytes, line 50
50
51<script>var Shopify = Shopify || {}; 52Shopify.shop = "commonlands-camera-components.myshopify.com"; 53Shopify.locale = "en"; 54Shopify.currency = {"active":"USD","rate":"1.0"}; 55Shopify.country = "US"; 56Shopify.theme = {"name":"commonlands-shopify-2026\/main","id":146457821302,"schema_name":"Dawn","schema_version":"15.4.0","theme_store_id":null,"role":"main"}; 57Shopify.theme.handle = "null"; 58Shopify.theme.style = {"id":null,"handle":null}; 59Shopify.cdnHost = "commonlands.com/cdn"; 60Shopify.routes = Shopify.routes || {}; 61Shopify.routes.root = "/"; 62Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 63Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 64Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 65Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 65
65
66<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 66
66
67<script>!function(o){function n(){var o=[];function n(){o.push(Array.prototype.slice.apply(arguments))}return n.q=o,n}var t=o.Shopify=o.Shopify||{};t.loadFeatures=n(),t.autoloadFeatures=n()}(window);</script>
vendor: 1 bytes, line 67
67
68<script> 69 window.ShopifyPay = window.ShopifyPay || {}; 70 window.ShopifyPay.apiHost = "shop.app\/pay"; 71 window.ShopifyPay.redirectState = null; 72</script>
vendor: 1 bytes, line 72
72
73<script> 74 window.Shopify = window.Shopify || {}; 75 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 76 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 77 window.Shopify.SignInWithShop.eligible = true; 78</script>
vendor: 1 bytes, line 78
78
79<script id="shop-js-analytics" type="application/json">{"pageType":"product"}</script>
vendor: 1 bytes, line 79
79
80<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"></script>
vendor: 1 bytes, line 80
80
81<script type="module"> 82 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"); 83 84 window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 85 86</script>
vendor: 1 bytes, line 86
86
87<script> 88 window.Shopify = window.Shopify || {}; 89 if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; 90 window.Shopify.featureAssets['shop-js'] = {"avatar":["modules/v2/loader.avatar.en.esm.js"],"checkout-modal":["modules/v2/loader.checkout-modal.en.esm.js"],"init-customer-accounts-sign-up":["modules/v2/loader.init-customer-accounts-sign-up.en.esm.js"],"init-customer-accounts":["modules/v2/loader.init-customer-accounts.en.esm.js"],"init-fed-cm":["modules/v2/loader.init-fed-cm.en.esm.js"],"init-shop-cart-sync":["modules/v2/loader.init-shop-cart-sync.en.esm.js"],"init-shop-email-lookup-coordinator":["modules/v2/loader.init-shop-email-lookup-coordinator.en.esm.js"],"init-shop-for-new-customer-accounts":["modules/v2/loader.init-shop-for-new-customer-accounts.en.esm.js"],"init-shop-user-recognition":["modules/v2/loader.init-shop-user-recognition.en.esm.js"],"init-windoid":["modules/v2/loader.init-windoid.en.esm.js"],"lead-capture":["modules/v2/loader.lead-capture.en.esm.js"],"listener":["modules/v2/loader.listener.en.esm.js"],"pay-button":["modules/v2/loader.pay-button.en.esm.js"],"payment-terms":["modules/v2/loader.payment-terms.en.esm.js"],"shop-button":["modules/v2/loader.shop-button.en.esm.js"],"shop-cart-sync":["modules/v2/loader.shop-cart-sync.en.esm.js"],"shop-cash-offers":["modules/v2/loader.shop-cash-offers.en.esm.js"],"shop-follow-button":["modules/v2/loader.shop-follow-button.en.esm.js"],"shop-login-button":["modules/v2/loader.shop-login-button.en.esm.js"],"shop-login":["modules/v2/loader.shop-login.en.esm.js"],"shop-toast-manager":["modules/v2/loader.shop-toast-manager.en.esm.js"],"shop-user-recognition":["modules/v2/loader.shop-user-recognition.en.esm.js"]}; 91</script>
vendor: 1 bytes, line 91
91
92<script>(function() { 93 var isLoaded = false; 94 function asyncLoad() { 95 if (isLoaded) return; 96 isLoaded = true; 97 var urls = ["https:\/\/cdn.weglot.com\/weglot_script_tag.js?shop=commonlands-camera-components.myshopify.com","\/\/cdn.shopify.com\/proxy\/aa69a5b92594930681d5e2b50b52524b4596383b1e5b136c6a1ee4547078c3f8\/bingshoppingtool-t2app-prod.trafficmanager.net\/uet\/tracking_script?shop=commonlands-camera-components.myshopify.com\u0026sp-cache-control=cHVibGljLCBtYXgtYWdlPTkwMA","https:\/\/chimpstatic.com\/mcjs-connected\/js\/users\/0a8bbf9012284476889070c53\/04e7f56779b0e99e47bb0cf23.js?shop=commonlands-camera-components.myshopify.com","https:\/\/static2.rapidsearch.dev\/resultpage.js?shop=commonlands-camera-components.myshopify.com"]; 98 for (var i = 0; i < urls.length; i++) { 99 var s = document.createElement('script'); 100 s.type = 'text/javascript'; 101 s.async = true; 102 s.src = urls[i]; 103 var x = document.getElementsByTagName('script')[0]; 104 x.parentNode.insertBefore(s, x); 105 } 106 }; 107 if(window.attachEvent) { 108 window.attachEvent('onload', asyncLoad); 109 } else { 110 window.addEventListener('load', asyncLoad, false); 111 } 112})();</script>
vendor: 1 bytes, line 112
112
113<script id="__st">var __st={"a":27392737398,"offset":-25200,"reqid":"577ea9d9-1423-4b3a-84d8-092e08e25280-1790963489","pageurl":"commonlands.com\/products\/camera-module-assembly","u":"83449e6551ca","p":"product","rtyp":"product","rid":7762516574326};</script>
vendor: 1 bytes, line 113
113
114<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 114
114
115<script id="captcha-bootstrap">!function(){'use strict';const t='contact',e='account',n='new_comment',o=[[t,t],['blogs',n],['comments',n],[t,'customer']],c=[[e,'customer_login'],[e,'guest_login'],[e,'recover_customer_password'],[e,'create_customer']],r=t=>t.map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(','),a=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];function s(){const t=[...o],e=r(t);return a(e)}const i='password',u='form_key',d=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',i],f=()=>{try{return window.sessionStorage}catch{return}},m='__shopify_v',_=t=>t.elements[u];function p(t,e,n=!1){try{const o=window.sessionStorage,c=JSON.parse(o.getItem(e)),{data:r}=function(t){const{data:e,action:n}=t;return t[m]||n?{data:e,action:n}:{data:t,action:n}}(c);for(const[e,n]of Object.entries(r))t.elements[e]&&(t.elements[e].value=n);n&&o.removeItem(e)}catch(o){console.error('form repopulation failed',{error:o})}}const l='form_type',E='cptcha';function T(t){t.dataset[E]=!0}const w=window,h=w.document,L='Shopify',v='ce_forms',y='captcha';let A=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe',I='https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.5.3.iife.js',D={infoText:'Protected by hCaptcha',privacyText:'Privacy',termsText:'Terms'},(t,e,n)=>{const o=w[L][v],c=o.bindForm;if(c)return c(t,g,e,D).then(n);var r;o.q.push([[t,g,e,D],n]),r=I,A||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:r})),A=!0)});var g,I,D;w[L]=w[L]||{},w[L][v]=w[L][v]||{},w[L][v].q=[],w[L][y]=w[L][y]||{},w[L][y].protect=function(t,e){n(t,void 0,e),T(t)},Object.freeze(w[L][y]),function(t,e,n,w,h,L){const[v,y,A,g]=function(t,e,n){const i=e?o:[],u=t?c:[],d=[...i,...u],f=r(d),m=r(i),_=r(d.filter((([t,e])=>n.includes(e))));return[a(f),a(m),a(_),s()]}(w,h,L),I=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},D=t=>v().includes(t);t.addEventListener('submit',(t=>{const e=I(t);if(!e)return;const n=D(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=_(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!f())return;!function(t){const e=f();if(!e)return;const n=_(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){_(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:u})),t.elements[u].value=e}(t,e),function(t,e){const n=f();if(!n)return;const o=[...t.querySelectorAll(`input[type='${i}']`)].map((({name:t})=>t)),c=[...d,...o],r={};for(const[a,s]of new FormData(t).entries())c.includes(a)||(r[a]=s);n.setItem(e,JSON.stringify({[m]:1,action:t.action,data:r}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const S=(t,e)=>{t&&!t.dataset[E]&&(n(t,e.some((e=>e===t))),T(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=I(t);D(e)&&S(e,y())}));const B=e.get('form_key'),M=e.get(l),P=B&&M;t.addEventListener('DOMContentLoaded',(()=>{const t=y();if(P)for(const e of t)e.elements[l].value===M&&p(e,B);[...new Set([...A(),...v().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>S(e,t)))}))}(h,new URLSearchParams(w.location.search),n,t,e,['guest_login'])})(!0,!1)}();</script>
vendor: 1 bytes, line 115
115
116<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//commonlands.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 116
116
117<script>(function () {var userAgent = navigator.userAgent;var platform = navigator.platform;var maxTouchPoints = navigator.maxTouchPoints || 0;var isIOS = /iPad|iPhone|iPod/.test(platform) || (platform === 'MacIntel' && maxTouchPoints > 1);var isMacSafari = platform.indexOf('Mac') === 0 && /Safari/.test(userAgent) && !/Chrome|Chromium|CriOS|FxiOS|Edg|OPR|Android/.test(userAgent);var isAppleSafari = isIOS || isMacSafari;if (isAppleSafari) {fetch('/sf_private_access_tokens' + location.search).catch(function () {});}function browserMajorVersion(pattern) {var match = userAgent.match(pattern);return match ? parseInt(match[1], 10) : null;}function shouldLoadAutosizesPolyfill() {if (!window.PerformanceObserver?.supportedEntryTypes?.includes('paint')) {return false;}var chromeVersion = browserMajorVersion(/Chrome\/(\d+)/);if (chromeVersion !== null) {return chromeVersion < 126;}var firefoxVersion = browserMajorVersion(/Firefox\/(\d+)/);if (firefoxVersion !== null) {return firefoxVersion < 150;}var safariVersion = isAppleSafari ? browserMajorVersion(/Version\/(\d+).*Safari\//) : null;if (safariVersion !== null) {return safariVersion < 27;}return true;}if (shouldLoadAutosizesPolyfill()) {var autosizesScript = document.createElement('script');autosizesScript.async = true;autosizesScript.crossOrigin = 'anonymous';autosizesScript.src = "//commonlands.com/cdn/shopifycloud/storefront/assets/storefront/autosizes-84416378.js";(document.head || document.documentElement).appendChild(autosizesScript);}window.ShopifyAnalytics = window.ShopifyAnalytics || {};window.ShopifyAnalytics.performance = window.ShopifyAnalytics.performance || {};(function () {var LONG_FRAME_THRESHOLD = 50;var longAnimationFrames = [];var activeRafId = null;function collectLongFrames() {var previousTime = null;function rafMonitor(now) {if (activeRafId === null) {return;}var delta = now - previousTime;if (delta > LONG_FRAME_THRESHOLD) {longAnimationFrames.push({startTime: previousTime,endTime: now,});}previousTime = now;activeRafId = requestAnimationFrame(rafMonitor);}previousTime = performance.now();activeRafId = requestAnimationFrame(rafMonitor);}if (!window.PerformanceObserver?.supportedEntryTypes?.includes('long-animation-frame')) {collectLongFrames();var timeoutId = setTimeout(function () {cancelAnimationFrame(activeRafId);}, 10000);window.ShopifyAnalytics.performance.getLongAnimationFrames = function (stopCollection) {if (stopCollection === undefined) {stopCollection = false;}if (stopCollection) {clearTimeout(timeoutId);cancelAnimationFrame(activeRafId);}return longAnimationFrames;};}})();})();</script>
117<script crossorigin="anonymous" defer="defer" src="//commonlands.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 117
117
118<script id="shopify-origin-trials" async="async" integrity="sha256-qJbe/jEZBHtr5W/BlA2cKAz3vkXu6vJQyLjgvgCC86g=" src="//cdn.shopify.com/shopifycloud/storefront/assets/storefront/origin_trials-318ab40a.js" crossorigin="anonymous" onload="window.__shopifyOriginTrialsDone = true" onerror="window.__shopifyOriginTrialsDone = true"></script>
vendor: 1 bytes, line 118
118
119<script> 120 window.Shopify = window.Shopify || {}; 121 window.Shopify.MCP = window.Shopify.MCP || {}; 122 window.Shopify.MCP.enabled = true; 123 window.Shopify.MCP.shop = "commonlands-camera-components.myshopify.com"; 124 window.Shopify.MCP.mcpEndpoint = "https:\/\/commonlands.com\/api\/mcp"; 125 window.Shopify.MCP.tools = [{"name":"search_shop_policies_and_faqs","description":"Used to get facts about the stores policies, products, or services.\nSome examples of questions you can ask are:\n - What is your return policy?\n - What is your shipping policy?\n - What is your phone number?\n - What are your hours of operation?\"\n","inputSchema":{"$schema":"https:\/\/json-schema.org\/draft\/2020-12\/schema","type":"object","properties":{"query":{"type":"string","description":"A natural language query."},"context":{"type":"string","description":"Additional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately."}},"required":["query"]}}]; 126</script>
vendor: 1 bytes, line 126
126
127<script>(()=>{var d="shopify:webmcp_adapter_loaded",n=Symbol.for("shopify.webmcp_adapter_loading");function s(c,a,{win:r=window,doc:o=document}={}){function p(){try{return r.localStorage.getItem(d)==="true"}catch{return!1}}function l(){try{r.localStorage.setItem(d,"true")}catch{}}function u(){return typeof(o.modelContext||r.navigator?.modelContext)?.registerTool=="function"}function f(){if(r[n]||!u())return;let t=o.head||o.getElementsByTagName("head")[0];if(!t)return;let e=o.createElement("script");e.type="module",e.crossOrigin="anonymous",a&&(e.integrity=a),e.src=c,e.addEventListener("load",l,{once:!0}),e.addEventListener("error",()=>{r[n]=!1},{once:!0}),t.appendChild(e),r[n]=!0}function _(t){let e=o.getElementById("shopify-origin-trials");if(!e||r.__shopifyOriginTrialsDone){t();return}e.addEventListener("load",t,{once:!0}),e.addEventListener("error",t,{once:!0})}function i(){_(()=>r.setTimeout(f,0))}function m(){o.addEventListener("DOMContentLoaded",i,{once:!0})}p()?i():m()}s("\/\/commonlands.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})(); 128</script>
vendor: 1 bytes, line 128
128
129<script data-source-attribution="shopify.dynamic_checkout.dynamic.init">var Shopify=Shopify||{};Shopify.PaymentButton=Shopify.PaymentButton||{isStorefrontPortableWallets:!0,init:function(){window.Shopify.PaymentButton.init=function(){};var t=document.createElement("script");t.src="https://commonlands.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}}; 130</script>
vendor: 1 bytes, line 130
130
131<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 132 function portableWalletsHideBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.add("hidden"),t.setAttribute("aria-hidden","true"),n.removeEventListener("click",e))}function portableWalletsShowBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.remove("hidden"),t.removeAttribute("aria-hidden"),n.addEventListener("click",e))}window.Shopify?.PaymentButton&&(window.Shopify.PaymentButton.hideBuyerConsent=portableWalletsHideBuyerConsent,window.Shopify.PaymentButton.showBuyerConsent=portableWalletsShowBuyerConsent); 133</script>
vendor: 1 bytes, line 133
133
134<script data-source-attribution="shopify.dynamic_checkout.cart.bootstrap">document.addEventListener("DOMContentLoaded",(function(){function t(){return document.querySelector("shopify-accelerated-checkout-cart, shopify-accelerated-checkout")}if(t())Shopify.PaymentButton.init();else{new MutationObserver((function(e,n){t()&&(Shopify.PaymentButton.init(),n.disconnect())})).observe(document.body,{childList:!0,subtree:!0})}})); 135</script>
135 136<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://commonlands.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous"> 137<style id="shopify-accelerated-checkout-cart"> 138 #shopify-buyer-consent { 139 margin-top: 1em; 140 display: inline-block; 141 width: 100%; 142} 143 144#shopify-buyer-consent.hidden { 145 display: none; 146} 147 148#shopify-subscription-policy-button { 149 background: none; 150 border: none; 151 padding: 0; 152 text-decoration: underline; 153 font-size: inherit; 154 cursor: pointer; 155} 156 157#shopify-subscription-policy-button::before { 158 box-shadow: none; 159} 160 161 </style>
162<script id="sections-script" data-sections="header" defer="defer" src="//commonlands.com/cdn/shop/t/50/compiled_assets/scripts.js?v=90487813905515327061784481446"></script>
vendor: 1 bytes, line 162
162
163<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
163 164 165 166 <style data-shopify> 167 @font-face { 168 font-family: "Source Sans Pro"; 169 font-weight: 400; 170 font-style: normal; 171 font-display: swap; 172 src: url("//commonlands.com/cdn/fonts/source_sans_pro/sourcesanspro_n4.50ae3e156aed9a794db7e94c4d00984c7b66616c.woff2") format("woff2"), 173 url("//commonlands.com/cdn/fonts/source_sans_pro/sourcesanspro_n4.d1662e048bd96ae7123e46600ff9744c0d84502d.woff") format("woff"); 174} 175 176 @font-face { 177 font-family: "Source Sans Pro"; 178 font-weight: 700; 179 font-style: normal; 180 font-display: swap; 181 src: url("//commonlands.com/cdn/fonts/source_sans_pro/sourcesanspro_n7.41cbad1715ffa6489ec3aab1c16fda6d5bdf2235.woff2") format("woff2"), 182 url("//commonlands.com/cdn/fonts/source_sans_pro/sourcesanspro_n7.01173495588557d2be0eb2bb2ecdf8e4f01cf917.woff") format("woff"); 183} 184 185 @font-face { 186 font-family: "Source Sans Pro"; 187 font-weight: 400; 188 font-style: italic; 189 font-display: swap; 190 src: url("//commonlands.com/cdn/fonts/source_sans_pro/sourcesanspro_i4.130f29b9baa0095b80aea9236ca9ef6ab0069c67.woff2") format("woff2"), 191 url("//commonlands.com/cdn/fonts/source_sans_pro/sourcesanspro_i4.6146c8c8ae7b8853ccbbc8b859fcf805016ee743.woff") format("woff"); 192} 193 194 @font-face { 195 font-family: "Source Sans Pro"; 196 font-weight: 700; 197 font-style: italic; 198 font-display: swap; 199 src: url("//commonlands.com/cdn/fonts/source_sans_pro/sourcesanspro_i7.98bb15b3a23880a6e1d86ade6dbb197526ff768d.woff2") format("woff2"), 200 url("//commonlands.com/cdn/fonts/source_sans_pro/sourcesanspro_i7.6274cea5e22a575d33653322a4399caadffb1338.woff") format("woff"); 201} 202 203 @font-face { 204 font-family: "Source Sans Pro"; 205 font-weight: 400; 206 font-style: normal; 207 font-display: swap; 208 src: url("//commonlands.com/cdn/fonts/source_sans_pro/sourcesanspro_n4.50ae3e156aed9a794db7e94c4d00984c7b66616c.woff2") format("woff2"), 209 url("//commonlands.com/cdn/fonts/source_sans_pro/sourcesanspro_n4.d1662e048bd96ae7123e46600ff9744c0d84502d.woff") format("woff"); 210} 211 212 213 214 :root, 215 .color-scheme-1 { 216 --color-background: 255,255,255; 217 218 --gradient-background: #ffffff; 219 220 221 222 223 --color-foreground: 18,18,18; 224 --color-background-contrast: 191,191,191; 225 --color-shadow: 18,18,18; 226 --color-button: 18,18,18; 227 --color-button-text: 255,255,255; 228 --color-secondary-button: 255,255,255; 229 --color-secondary-button-text: 18,18,18; 230 --color-link: 18,18,18; 231 --color-badge-foreground: 18,18,18; 232 --color-badge-background: 255,255,255; 233 --color-badge-border: 18,18,18; 234 --payment-terms-background-color: rgb(255 255 255); 235 } 236 237 238 .color-scheme-2 { 239 --color-background: 243,243,243; 240 241 --gradient-background: #f3f3f3; 242 243 244 245 246 --color-foreground: 18,18,18; 247 --color-background-contrast: 179,179,179; 248 --color-shadow: 18,18,18; 249 --color-button: 18,18,18; 250 --color-button-text: 243,243,243; 251 --color-secondary-button: 243,243,243; 252 --color-secondary-button-text: 18,18,18; 253 --color-link: 18,18,18; 254 --color-badge-foreground: 18,18,18; 255 --color-badge-background: 243,243,243; 256 --color-badge-border: 18,18,18; 257 --payment-terms-background-color: rgb(243 243 243); 258 } 259 260 261 .color-scheme-3 { 262 --color-background: 36,40,51; 263 264 --gradient-background: #242833; 265 266 267 268 269 --color-foreground: 255,255,255; 270 --color-background-contrast: 47,52,66; 271 --color-shadow: 18,18,18; 272 --color-button: 255,255,255; 273 --color-button-text: 0,0,0; 274 --color-secondary-button: 36,40,51; 275 --color-secondary-button-text: 255,255,255; 276 --color-link: 255,255,255; 277 --color-badge-foreground: 255,255,255; 278 --color-badge-background: 36,40,51; 279 --color-badge-border: 255,255,255; 280 --payment-terms-background-color: rgb(36 40 51); 281 } 282 283 284 .color-scheme-4 { 285 --color-background: 18,18,18; 286 287 --gradient-background: #121212; 288 289 290 291 292 --color-foreground: 255,255,255; 293 --color-background-contrast: 146,146,146; 294 --color-shadow: 18,18,18; 295 --color-button: 255,255,255; 296 --color-button-text: 18,18,18; 297 --color-secondary-button: 18,18,18; 298 --color-secondary-button-text: 255,255,255; 299 --color-link: 255,255,255; 300 --color-badge-foreground: 255,255,255; 301 --color-badge-background: 18,18,18; 302 --color-badge-border: 255,255,255; 303 --payment-terms-background-color: rgb(18 18 18); 304 } 305 306 307 .color-scheme-5 { 308 --color-background: 51,79,180; 309 310 --gradient-background: #334fb4; 311 312 313 314 315 --color-foreground: 255,255,255; 316 --color-background-contrast: 23,35,81; 317 --color-shadow: 18,18,18; 318 --color-button: 255,255,255; 319 --color-button-text: 51,79,180; 320 --color-secondary-button: 51,79,180; 321 --color-secondary-button-text: 255,255,255; 322 --color-link: 255,255,255; 323 --color-badge-foreground: 255,255,255; 324 --color-badge-background: 51,79,180; 325 --color-badge-border: 255,255,255; 326 --payment-terms-background-color: rgb(51 79 180); 327 } 328 329 330 .color-scheme-5b945e79-3d10-4fdc-bd02-8482ef769ae3 {
331 --color-background: 255,255,255; 332 333 --gradient-background: #ffffff; 334 335 336 337 338 --color-foreground: 18,18,18; 339 --color-background-contrast: 191,191,191; 340 --color-shadow: 18,18,18; 341 --color-button: 8,135,74; 342 --color-button-text: 255,255,255; 343 --color-secondary-button: 255,255,255; 344 --color-secondary-button-text: 18,18,18; 345 --color-link: 18,18,18; 346 --color-badge-foreground: 18,18,18; 347 --color-badge-background: 255,255,255; 348 --color-badge-border: 18,18,18; 349 --payment-terms-background-color: rgb(255 255 255); 350 } 351 352 353 body, .color-scheme-1, .color-scheme-2, .color-scheme-3, .color-scheme-4, .color-scheme-5, .color-scheme-5b945e79-3d10-4fdc-bd02-8482ef769ae3 { 354 color: rgba(var(--color-foreground), 0.75); 355 background-color: rgb(var(--color-background)); 356 } 357 358 :root { 359 --font-body-family: "Source Sans Pro", sans-serif; 360 --font-body-style: normal; 361 --font-body-weight: 400; 362 --font-body-weight-bold: 700; 363 364 --font-heading-family: "Source Sans Pro", sans-serif; 365 --font-heading-style: normal; 366 --font-heading-weight: 400; 367 368 --font-body-scale: 1.0; 369 --font-heading-scale: 1.0; 370 371 --media-padding: px; 372 --media-border-opacity: 0.0; 373 --media-border-width: 1px; 374 --media-radius: 0px; 375 --media-shadow-opacity: 0.0; 376 --media-shadow-horizontal-offset: 0px; 377 --media-shadow-vertical-offset: 4px; 378 --media-shadow-blur-radius: 5px; 379 --media-shadow-visible: 0; 380 381 --page-width: 120rem; 382 --page-width-margin: 0rem; 383 384 --product-card-image-padding: 0.0rem; 385 --product-card-corner-radius: 0.0rem; 386 --product-card-text-alignment: left; 387 --product-card-border-width: 0.0rem; 388 --product-card-border-opacity: 0.1; 389 --product-card-shadow-opacity: 0.0; 390 --product-card-shadow-visible: 0; 391 --product-card-shadow-horizontal-offset: 0.0rem; 392 --product-card-shadow-vertical-offset: 0.0rem; 393 --product-card-shadow-blur-radius: 0.0rem; 394 395 --collection-card-image-padding: 0.0rem; 396 --collection-card-corner-radius: 0.0rem; 397 --collection-card-text-alignment: left; 398 --collection-card-border-width: 0.0rem; 399 --collection-card-border-opacity: 0.1; 400 --collection-card-shadow-opacity: 0.0; 401 --collection-card-shadow-visible: 0; 402 --collection-card-shadow-horizontal-offset: 0.0rem; 403 --collection-card-shadow-vertical-offset: 0.0rem; 404 --collection-card-shadow-blur-radius: 0.0rem; 405 406 --blog-card-image-padding: 0.0rem; 407 --blog-card-corner-radius: 0.0rem; 408 --blog-card-text-alignment: left; 409 --blog-card-border-width: 0.0rem; 410 --blog-card-border-opacity: 0.1; 411 --blog-card-shadow-opacity: 0.0; 412 --blog-card-shadow-visible: 0; 413 --blog-card-shadow-horizontal-offset: 0.0rem; 414 --blog-card-shadow-vertical-offset: 0.0rem; 415 --blog-card-shadow-blur-radius: 0.0rem; 416 417 --badge-corner-radius: 4.0rem; 418 419 --popup-border-width: 1px; 420 --popup-border-opacity: 0.1; 421 --popup-corner-radius: 0px; 422 --popup-shadow-opacity: 0.0; 423 --popup-shadow-horizontal-offset: 0px; 424 --popup-shadow-vertical-offset: 4px; 425 --popup-shadow-blur-radius: 5px; 426 427 --drawer-border-width: 1px; 428 --drawer-border-opacity: 0.1; 429 --drawer-shadow-opacity: 0.0; 430 --drawer-shadow-horizontal-offset: 0px; 431 --drawer-shadow-vertical-offset: 4px; 432 --drawer-shadow-blur-radius: 5px; 433 434 --spacing-sections-desktop: 0px; 435 --spacing-sections-mobile: 0px; 436 437 --grid-desktop-vertical-spacing: 8px; 438 --grid-desktop-horizontal-spacing: 8px; 439 --grid-mobile-vertical-spacing: 4px; 440 --grid-mobile-horizontal-spacing: 4px; 441 442 --text-boxes-border-opacity: 0.1; 443 --text-boxes-border-width: 0px; 444 --text-boxes-radius: 0px; 445 --text-boxes-shadow-opacity: 0.0; 446 --text-boxes-shadow-visible: 0; 447 --text-boxes-shadow-horizontal-offset: 0px; 448 --text-boxes-shadow-vertical-offset: 4px; 449 --text-boxes-shadow-blur-radius: 0px; 450 451 --buttons-radius: 4px; 452 --buttons-radius-outset: 5px; 453 --buttons-border-width: 1px; 454 --buttons-border-opacity: 1.0; 455 --buttons-shadow-opacity: 0.0; 456 --buttons-shadow-visible: 0; 457 --buttons-shadow-horizontal-offset: 0px; 458 --buttons-shadow-vertical-offset: 4px; 459 --buttons-shadow-blur-radius: 5px; 460 --buttons-border-offset: 0.3px; 461 462 --inputs-radius: 4px; 463 --inputs-border-width: 1px; 464 --inputs-border-opacity: 0.55; 465 --inputs-shadow-opacity: 0.0; 466 --inputs-shadow-horizontal-offset: 0px; 467 --inputs-margin-offset: 0px; 468 --inputs-shadow-vertical-offset: 4px; 469 --inputs-shadow-blur-radius: 5px; 470 --inputs-radius-outset: 5px; 471 472 --variant-pills-radius: 40px; 473 --variant-pills-border-width: 1px; 474 --variant-pills-border-opacity: 0.55; 475 --variant-pills-shadow-opacity: 0.0; 476 --variant-pills-shadow-horizontal-offset: 0px; 477 --variant-pills-shadow-vertical-offset: 4px; 478 --variant-pills-shadow-blur-radius: 5px; 479 } 480 481 *, 482 *::before, 483 *::after { 484 box-sizing: inherit; 485 } 486 487 html { 488 box-sizing: border-box; 489 font-size: calc(var(--font-body-scale) * 62.5%); 490 height: 100%; 491 } 492 493 body { 494 display: grid; 495 grid-template-rows: auto auto 1fr auto; 496 grid-template-columns: 100%; 497 min-height: 100%; 498 margin: 0; 499 font-size: 1.4rem; 500 letter-spacing: 0rem; 501 line-height: calc(1 + 0.8 / var(--font-body-scale)); 502 font-family: var(--font-body-family); 503 font-style: var(--font-body-style); 504 font-weight: var(--font-body-weight); 505 } 506 507 @media screen and (min-width: 750px) { 508 body { 509 font-size: 1.6rem; 510 } 511 } 512 </style> 513 514 <link href="//commonlands.com/cdn/shop/t/50/assets/base.css?v=131446374816775295731784930270" rel="stylesheet" type="text/css" media="all" /> 515 <link rel="stylesheet" href="//commonlands.com/cdn/shop/t/50/assets/component-cart-items.css?v=117657391505696024291784481364" media="print" onload="this.media='all'"><link href="//commonlands.com/cdn/shop/t/50/assets/component-cart-drawer.css?v=125172063307368259421784481363" rel="stylesheet" type="text/css" media="all" /> 516 517 518 <link href="//commonlands.com/cdn/shop/t/50/assets/component-cart.css?v=164708765130180853531784481364" rel="stylesheet" type="text/css" media="all" /> 519 <link href="//commonlands.com/cdn/shop/t/50/assets/component-price.css?v=47596247576480123001784481360" rel="stylesheet" type="text/css" media="all" /> 520 <link href="//commonlands.com/cdn/shop/t/50/assets/component-totals.css?v=15906652033866631521784481361" rel="stylesheet" type="text/css" media="all" /> 521 <link href="//commonlands.com/cdn/shop/t/50/assets/component-discounts.css?v=152760482443307489271784481366" rel="stylesheet" type="text/css" media="all" /> 522 523 <link rel="preload" as="font" href="//commonlands.com/cdn/fonts/source_sans_pro/sourcesanspro_n4.50ae3e156aed9a794db7e94c4d00984c7b66616c.woff2" type="font/woff2" crossorigin> 524 525 526 <link rel="preload" as="font" href="//commonlands.com/cdn/fonts/source_sans_pro/sourcesanspro_n4.50ae3e156aed9a794db7e94c4d00984c7b66616c.woff2" type="font/woff2" crossorigin> 527 528
529<script> 530 if (Shopify.designMode) { 531 document.documentElement.classList.add('shopify-design-mode'); 532 } 533 </script>
533 534 535<link rel="alternate" hreflang="en" href="https://commonlands.com/products/camera-module-assembly"> 536 <link rel="alternate" hreflang="de" href="https://de.commonlands.com/products/camera-module-assembly"> 537 <link rel="alternate" hreflang="ko" href="https://ko.commonlands.com/products/camera-module-assembly"> 538 <link rel="alternate" hreflang="ja" href="https://ja.commonlands.com/products/camera-module-assembly"> 539 <link rel="alternate" hreflang="x-default" href="https://commonlands.com/products/camera-module-assembly"> 540 <!-- CART HELPER - DO NOT DELETE --> 541
541<script defer="defer"> 542 try { 543 setTimeout(function () { 544 window.__pagefly_helper_store__ && 545 window.__pagefly_helper_store__.subscribe(function (r) { 546 $.getJSON('/?sections=cart-notification-product,cart-notification-button,cart-drawer,cart-icon-bubble').then( sections => { 547 const cartDrawer =document.querySelector('cart-notification') || document.querySelector('cart-drawer') 548 cartDrawer.classList.remove('is-empty') 549 r.sections = sections 550 cartDrawer.renderContents(r) 551 }) 552}); 553 }, 2500); 554 } catch (e) { 555 console.warn(e); 556 } 557 </script>
557 558<!--Add --> 559
559<script type='text/javascript' src="https://shopify-websitespeedy7.b-cdn.net/speedyscripts/ecmrx_665/ecmrx_665_1.js"></script>
559 560
560<script type='text/javascript' src="https://shopify-websitespeedy7.b-cdn.net/speedyscripts/ecmrx_665/ecmrx_665_2.js"></script>
560 561
561<script type='text/javascript' src="https://shopify-websitespeedy7.b-cdn.net/speedyscripts/ecmrx_665/ecmrx_665_3.js"></script>
561 562 563 564 565 566 567 568
568<script type="text/javascript"> 569 window.RapidSearchAdmin = false; 570 window.rpsMarketInfo = { id: 40173686 }; 571 </script>
571 572 573
574<script type="application/ld+json"> 575{ 576 "@context": "https://schema.org", 577 "@graph": [ 578 { 579 "@type": "Organization", 580 "@id": "https://commonlands.com/#organization", 581 "name": "Commonlands LLC", 582 "alternateName": "Commonlands Optics", 583 "url": "https://commonlands.com", 584 "logo": { 585 "@type": "ImageObject", 586 "url": "https://commonlands.com/cdn/shop/files/Commonlands_Camera_Logo_20220819_Horizontal_100px_height_420px_width.png?v=1724861426&width=315", 587 "width": 420, 588 "height": 100 589 }, 590 "description": "ISO9001:2015 certified provider of cost-effective, high-quality M12 and C-mount lenses for machine vision and robotics applications", 591 "foundingDate": "2018", 592 "telephone": "+1-858-333-7325", 593 "email": "[email protected]", 594 "contactPoint": [{ 595 "@type": "ContactPoint", 596 "contactType": "sales", 597 "telephone": "+1-858-333-7325", 598 "areaServed": "US", 599 "availableLanguage": ["English"] 600 }], 601 "address": { 602 "@type": "PostalAddress", 603 "streetAddress": "8170 Ronson Road, Suites A & B", 604 "addressLocality": "San Diego", 605 "addressRegion": "CA", 606 "postalCode": "92111", 607 "addressCountry": "US" 608 }, 609 "founder": { "@id": "https://commonlands.com/#max-henkart" }, 610 "sameAs": [ 611 "https://www.linkedin.com/company/commonlands", 612 "https://www.youtube.com/@commonlands", 613 "https://x.com/common_lands", 614 "https://www.crunchbase.com/organization/commonlands", 615 "https://brandfetch.com/commonlands.com", 616 "https://facebook.com/commonlands1", 617 "https://instagram.com/commonlands", 618 "https://www.edge-ai-vision.com/companies/commonlands/", 619 "https://www.automate.org/companies/commonlands-llc", 620 "https://www.automateshow.com/prior-exhibitors/commonlands-llc", 621 "https://optics.org/buyers/C000021090" 622 ] 623 }, 624 { 625 "@type": "Person", 626 "@id": "https://commonlands.com/#max-henkart", 627 "name": "Max Henkart", 628 "jobTitle": "Founder & CEO", 629 "image": "https://commonlands.com/cdn/shop/files/Max_Henkart_1k1k_more_formal.png?v=1712349528", 630 "worksFor": { "@id": "https://commonlands.com/#organization" }, 631 "alumniOf": [ 632 { "@type": "CollegeOrUniversity", "name": "The Institute of Optics, University of Rochester" }, 633 { "@type": "CollegeOrUniversity", "name": "Carnegie Mellon University" } 634 ], 635 "knowsAbout": [ 636 "optical engineering", 637 "machine vision lenses", 638 "M12 lenses", 639 "C-mount lenses", 640 "image sensor selection", 641 "lens design and manufacturing" 642 ], 643 "sameAs": [ 644 "https://linkedin.com/in/mhenkart" 645 ] 646 }, 647 { 648 "@type": "WebSite", 649 "@id": "https://commonlands.com/#website", 650 "url": "https://commonlands.com", 651 "name": "Commonlands Optics", 652 "publisher": { "@id": "https://commonlands.com/#organization" }, 653 "potentialAction": { 654 "@type": "SearchAction", 655 "target": "https://commonlands.com/search?q={search_term_string}", 656 "query-input": "required name=search_term_string" 657 }, 658 "inLanguage": "en" 659 } 660 ] 661} 662</script>
662 663 664<!-- BEGIN app block: shopify://apps/consentmo-gdpr/blocks/gdpr_cookie_consent/4fbe573f-a377-4fea-9801-3ee0858cae41 --> 665<link rel="preconnect" href="https://app.consentmo.com" crossorigin data-csm-preconnect="app"> 666<link rel="dns-prefetch" href="https://workers.consentmo.com" data-csm-preconnect="workers"> 667<link rel="dns-prefetch" href="https://storage.consentmo.com" data-csm-preconnect="storage"> 668<link rel="preconnect" href="https://cdn.consentmo.com" crossorigin data-csm-preconnect="cdn"><link rel="prefetch" href="https://cdn.shopify.com/extensions/01a0fcf5-9827-75b1-9d7e-ea3a10d70819/gdpr-backpack-903/assets/layout-cookie-bar.consentmo.js" crossorigin data-csm-layout-prefetch="banner"> 669 <link rel="prefetch" href="https://cdn.shopify.com/extensions/01a0fcf5-9827-75b1-9d7e-ea3a10d70819/gdpr-backpack-903/assets/layout-cookie-dialog.consentmo.js" crossorigin data-csm-layout-prefetch="dialog"> 670 <link rel="prefetch" href="https://cdn.shopify.com/extensions/01a0fcf5-9827-75b1-9d7e-ea3a10d70819/gdpr-backpack-903/assets/layout-cookie-box.consentmo.js" crossorigin data-csm-layout-prefetch="box"> 671 <link rel="prefetch" href="https://cdn.shopify.com/extensions/01a0fcf5-9827-75b1-9d7e-ea3a10d70819/gdpr-backpack-903/assets/layout-cookie-smart-banner.consentmo.js" crossorigin data-csm-layout-prefetch="smart"> 672 <link rel="prefetch" href="https://cdn.shopify.com/extensions/01a0fcf5-9827-75b1-9d7e-ea3a10d70819/gdpr-backpack-903/assets/layout-mobile-cookie-bar.consentmo.js" crossorigin data-csm-layout-prefetch="mobile">
672<script> 673(function () { 674 try { 675 document.documentElement.classList.add('csm-cookie-embed'); 676 } catch (e) {} 677})(); 678</script>
678<script data-consentmo-data-src-bootstrap> 679(function () { 680 'use strict'; 681 if (window.__consentmoDataSrcBootstrapInit) return; 682 window.__consentmoDataSrcBootstrapInit = true; 683 684 var DATA_SRC_SELECTOR = [ 685 'script[data-src*="consentmo_cookie_consent"]', 686 'script[data-src*="gdpr_cookie_consent.min"]', 687 'script[data-src*="gdrp_cookie_consent_unlimited"]' 688 ].join(','); 689 690 function activateConsentmoDataSrcScripts() { 691 if (!window.Shopify || !window.Shopify.shop) return; 692 document.querySelectorAll(DATA_SRC_SELECTOR).forEach(function (scriptEl) { 693 // getAttribute: src="" must not count as "already has src" (.src === page URL). 694 if (scriptEl.getAttribute('src')) return; 695 var url = scriptEl.getAttribute('data-src'); 696 if (!url) return; 697 if (scriptEl.getAttribute('type') === 'text/plain') { 698 scriptEl.removeAttribute('type'); 699 } 700 scriptEl.src = url; 701 }); 702 } 703 function scheduleActivation() { 704 activateConsentmoDataSrcScripts(); 705 // Retry on next task so other DCL handlers (lazy-loaders) can finish setting Shopify.shop / data-src first. 706 setTimeout(activateConsentmoDataSrcScripts, 0); 707 } 708 if (document.readyState === 'loading') { 709 document.addEventListener('DOMContentLoaded', scheduleActivation, { once: true }); 710 } else { 711 scheduleActivation(); 712 } 713})(); 714</script>
714 715 716 717<!-- END app block --><!-- BEGIN app block: shopify://apps/dr-cart-shipping-rates/blocks/instant-load/6fdcf202-26c0-4288-be36-8b389f5d262c --><!-- For self-installation -->
718<script>(() => {const installerKey = 'docapp-shipping-auto-install'; const urlParams = new URLSearchParams(window.location.search); if (urlParams.get(installerKey)) {window.sessionStorage.setItem(installerKey, JSON.stringify({integrationId: urlParams.get('docapp-integration-id'), divClass: urlParams.get('docapp-install-class'), check: urlParams.get('docapp-check')}));}})();</script>
vendor: 1 bytes, line 718
718
719<script>(() => {const previewKey = 'docapp-shipping-test'; const urlParams = new URLSearchParams(window.location.search); if (urlParams.get(previewKey)) {window.sessionStorage.setItem(previewKey, JSON.stringify({active: true, integrationId: urlParams.get('docapp-shipping-inst-test')}));}})();</script>
vendor: 1 bytes, line 719
719
720<script>window.cartShippingCalculatorProAppBlock = true;</script>
720 721 722<!-- App speed-up -->
723<script id="docapp-shipping-speedup"> 724 (() => { if (window.cartShippingCalculatorProAppLoaded) return; let script = document.createElement('script'); script.src = "https://d1an1e2qw504lz.cloudfront.net/shop/js/cart-shipping-calculator-pro.min.js?shop=commonlands-camera-components.myshopify.com"; document.getElementById('docapp-shipping-speedup').after(script); })(); 725</script>
725 726 727 728<!-- END app block --><!-- BEGIN app block: shopify://apps/rapid-search-bar-filter/blocks/script/bd827795-feaa-41a8-9219-2b83f238aa7d --> 729 730
731<script type="text/javascript"> 732 document.documentElement.classList.add('rps-app-active'); 733</script>
733 734
735<script type="text/javascript"> 736 try { 737 window.RapidSearchSettings = {"last_import":"2026-09-24T04:50:49.946Z","expiration_date":null,"autocomplete_price_layout":"vertical","autocomplete_image_size":60,"autocomplete_zero_widgets":[{"id":"keyword_history","hits_desktop":2,"hits_mobile":1,"title":""},{"id":"top_keywords","hits":5,"title":""},{"id":"top_products","hits":5,"title":""}],"badge_settings_auto":{"new_badge":{"enabled":true,"threshold":30},"discount_badge":{"enabled":true},"results_page_discount_badge":{"enabled":true},"stock_status":"instock","results_page_new_badge":{"enabled":true,"threshold":30},"low_stock_badge":{"enabled":false,"threshold":5},"pre_order_badge":{"enabled":false}},"colors":{"price":"#000000","resource_hover":"#08874A"},"currency_format":{"default":"${{amount}}","USD":"${{amount}}"},"current_plan":"shopify_pro_2","data_index":"es_sy4_client_1","default_currency":"USD","default_customer_group_id":0,"default_domain":"https:\/\/commonlands.com","default_language":"en","enabled":true,"enabled_languages":["en"],"enabled_resultpage":true,"fuzzy_search":true,"replace_hyphens_with_spaces":true,"install_date":"2026-07-24T21:22:52.981Z","language":"","limit_exceeded":false,"mobile_optimized":true,"multiple_languages":true,"out_of_stock_show_addtocart":true,"out_of_stock_show_notify":false,"out_of_stock_visibility":"mixed","plan_name":"unlimited","posthog_admin_session_id":"01a0d09a-dce5-76b8-b967-0354c2cec029","resultpage_filters":[{"id":"category","title":"","enabled":true,"type":"default","appearance":"text"},{"id":"product_type","title":"","enabled":true,"type":"default","appearance":"text"},{"id":"price","title":"","enabled":true,"type":"default","appearance":"text"},{"id":"brand","title":"","enabled":false,"type":"default","appearance":"text"},{"id":"tags","title":"Tag","enabled":false,"type":"tag","appearance":"text","settings":{"mode":"show_all","values":[]}},{"id":"availability","title":"","enabled":true,"type":"default","appearance":"text"},{"enabled":true,"id":"705ea95b-c0cf-4f5a-b9bb-e279a17f870a","title":"EFL","type":"metafield","sortBy":"numeric_desc","appearance":"text","settings":{"mode":"show_all","values":[],"metafield":"custom.efl"}},{"enabled":true,"id":"F#","title":"F#","type":"attribute","sortBy":"numeric_asc","appearance":"text"},{"enabled":true,"id":"Filter","title":"Filter","type":"attribute","sortBy":"alphabet_asc","appearance":"text"},{"enabled":false,"id":"Mechanical Version","title":"","type":"attribute","appearance":"text"},{"enabled":false,"id":"Outer Diameter and Size","title":"","type":"attribute","appearance":"text"},{"enabled":false,"id":"Simple Element Thickness","title":"","type":"attribute","appearance":"text"},{"enabled":false,"id":"Material","title":"","type":"attribute","appearance":"text"},{"enabled":true,"id":"009c4d58-d9aa-4247-8217-e67057df829e","title":"Weight","type":"metafield","sortBy":"numeric_asc","appearance":"text","settings":{"mode":"show_all","values":[],"metafield":"custom.weight"}}],"resultpage_hide_parent_products":false,"resultpage_id":114823889014,"resultpage_mobile_optimized":false,"resultpage_pagination_type":"infinite_loading","resultpage_price_display_mode":"only_gross","resultpage_product_image_height":"","resultpage_product_image_width":"","resultpage_snapshot_alignment":"left","resultpage_snapshot_order":["image","name","price"],"resultpage_url":"pages\/rapid-search-results","rps_scripts":null,"rps_styles":".rps-product-container .rps-product-link {\n display: grid;\n grid-gap: 0px;\n flex: 1;\n text-decoration: none;\n color: inherit;\n}","show_child_data":true,"search_subcategory":false,"shopify_public_settings":{"markets_enabled":true,"theme_settings":{"146457821302":{"name":"commonlands-shopify-2026\/main","theme_id":146457821302,"role":"main","theme_store_id":887,"search_liquid_file":"sections\/main-search.liquid","collection_liquid_file":"sections\/main-collection-product-grid.liquid","collection_page_enabled":true,"search_results_page_enabled":true,"product_card_design":"","product_card_order":["image","sku","name","price","type"],"product_card_add_to_cart_enabled":false,"product_card_content_alignment":"center","pagination_type":"infinite_loading","search_results_page_search_bar_visibility":"show_always","rows_per_page":4,"products_per_row":4,"created_at":"2026-07-19T17:15:51.000Z","colors":{"results_page":{"product_title":"#5
73755555","product_title_hover":"#555555","product_price":"#000000","product_price_hover":"#08874A","product_original_price":"#8F8F8F","product_original_price_hover":"#8F8F8F"}},"assets_updated":"2026-09-23T23:32:57.187Z","theme_version":2},"146456445046":{"name":"Github sync 20260719 before Pagefly removal","theme_id":146456445046,"role":"unpublished","theme_store_id":887,"search_liquid_file":"sections\/main-search.liquid","collection_liquid_file":"sections\/main-collection-product-grid.liquid","collection_page_enabled":false,"search_results_page_enabled":false,"product_card_design":"","product_card_order":["image","name","price"],"product_card_add_to_cart_enabled":false,"product_card_content_alignment":"left","pagination_type":"infinite_loading","search_results_page_search_bar_visibility":"show_always","rows_per_page":4,"products_per_row":3,"created_at":"2026-07-19T16:05:59.000Z","colors":{"results_page":{"product_title":"#555555","product_title_hover":"#555555","product_price":"#E52548","product_price_hover":"#E52548","product_original_price":"#8F8F8F","product_original_price_hover":"#8F8F8F"}},"assets_updated":"2026-07-24T21:23:38.467Z","theme_version":2},"146416795766":{"name":"Dawn 20260717 Blogs","theme_id":146416795766,"role":"unpublished","theme_store_id":887,"search_liquid_file":"sections\/main-search.liquid","collection_liquid_file":"sections\/main-collection-product-grid.liquid","collection_page_enabled":false,"search_results_page_enabled":false,"product_card_design":"","product_card_order":["image","name","price"],"product_card_add_to_cart_enabled":false,"product_card_content_alignment":"left","pagination_type":"infinite_loading","search_results_page_search_bar_visibility":"show_always","rows_per_page":4,"products_per_row":3,"created_at":"2026-07-18T01:21:05.000Z","colors":{"results_page":{"product_title":"#555555","product_title_hover":"#555555","product_price":"#E52548","product_price_hover":"#E52548","product_original_price":"#8F8F8F","product_original_price_hover":"#8F8F8F"}},"assets_updated":"2026-07-24T21:23:56.740Z","theme_version":2},"146330288246":{"name":"Last Pagefly Live 20260714 (DO NOT EDIT)","theme_id":146330288246,"role":"unpublished","theme_store_id":887,"search_liquid_file":"sections\/main-search.liquid","collection_liquid_file":"sections\/main-collection-product-grid.liquid","collection_page_enabled":false,"search_results_page_enabled":false,"product_card_design":"","product_card_order":["image","name","price"],"product_card_add_to_cart_enabled":false,"product_card_content_alignment":"left","pagination_type":"infinite_loading","search_results_page_search_bar_visibility":"show_always","rows_per_page":4,"products_per_row":3,"created_at":"2026-07-15T05:04:39.000Z","colors":{"results_page":{"product_title":"#555555","product_title_hover":"#555555","product_price":"#E52548","product_price_hover":"#E52548","product_original_price":"#8F8F8F","product_original_price_hover":"#8F8F8F"}},"assets_updated":"2026-07-24T21:24:10.541Z","theme_version":2},"128931594358":{"name":"Copy of Dawn 202408 Update","theme_id":128931594358,"role":"unpublished","theme_store_id":887,"search_liquid_file":"sections\/main-search.liquid","collection_liquid_file":"sections\/main-collection-product-grid.liquid","collection_page_enabled":false,"search_results_page_enabled":false,"product_card_design":"","product_card_order":["image","name","price"],"product_card_add_to_cart_enabled":false,"product_card_content_alignment":"left","pagination_type":"infinite_loading","search_results_page_search_bar_visibility":"show_always","rows_per_page":4,"products_per_row":3,"created_at":"2024-10-29T00:13:56.000Z","colors":{"results_page":{"product_title":"#555555","product_title_hover":"#555555","product_price":"#E52548","product_price_hover":"#E52548","product_original_price":"#8F8F8F","product_original_price_hover":"#8F8F8F"}},"assets_updated":"2026-07-24T21:24:22.935Z","theme_version":2},"127862243446":{"name":"Dawn 202408 Update LATEST 20250724","theme_id":127862243446,"role":"unpublished","theme_store_id":887,"search_liquid_file":"sections\/main-search.liquid","collection_liquid_file":"sections\/main-collection-
737product-grid.liquid","collection_page_enabled":false,"search_results_page_enabled":false,"product_card_design":"","product_card_order":["image","name","price"],"product_card_add_to_cart_enabled":false,"product_card_content_alignment":"left","pagination_type":"infinite_loading","search_results_page_search_bar_visibility":"show_always","rows_per_page":4,"products_per_row":3,"created_at":"2024-08-28T16:01:54.000Z","colors":{"results_page":{"product_title":"#555555","product_title_hover":"#555555","product_price":"#E52548","product_price_hover":"#E52548","product_original_price":"#8F8F8F","product_original_price_hover":"#8F8F8F"}},"assets_updated":"2026-07-24T21:24:35.218Z","theme_version":2},"122329464950":{"name":"Copy of Copy of Dawn 230125 Cart Fixed with Fli...","theme_id":122329464950,"role":"unpublished","theme_store_id":887,"search_liquid_file":"sections\/main-search.liquid","collection_liquid_file":"sections\/main-collection-product-grid.liquid","collection_page_enabled":false,"search_results_page_enabled":false,"product_card_design":"","product_card_order":["image","name","price"],"product_card_add_to_cart_enabled":false,"product_card_content_alignment":"left","pagination_type":"infinite_loading","search_results_page_search_bar_visibility":"show_always","rows_per_page":4,"products_per_row":3,"created_at":"2023-07-09T18:43:58.000Z","colors":{"results_page":{"product_title":"#555555","product_title_hover":"#555555","product_price":"#E52548","product_price_hover":"#E52548","product_original_price":"#8F8F8F","product_original_price_hover":"#8F8F8F"}},"assets_updated":"2026-07-24T21:24:46.641Z","theme_version":2},"122273169526":{"name":"Copy of Dawn 230125 Cart Fixed with Flits 09-05...","theme_id":122273169526,"role":"unpublished","theme_store_id":887,"search_liquid_file":"sections\/main-search.liquid","collection_liquid_file":"sections\/main-collection-product-grid.liquid","collection_page_enabled":false,"search_results_page_enabled":false,"product_card_design":"","product_card_order":["image","name","price"],"product_card_add_to_cart_enabled":false,"product_card_content_alignment":"left","pagination_type":"infinite_loading","search_results_page_search_bar_visibility":"show_always","rows_per_page":4,"products_per_row":3,"created_at":"2023-05-23T02:05:49.000Z","colors":{"results_page":{"product_title":"#555555","product_title_hover":"#555555","product_price":"#E52548","product_price_hover":"#E52548","product_original_price":"#8F8F8F","product_original_price_hover":"#8F8F8F"}},"assets_updated":"2026-07-24T21:24:58.283Z","theme_version":2},"122255605878":{"name":"Copy of yours LIVE + Flits 10-05-2023","theme_id":122255605878,"role":"unpublished","theme_store_id":887,"search_liquid_file":"sections\/main-search.liquid","collection_liquid_file":"sections\/main-collection-product-grid.liquid","collection_page_enabled":false,"search_results_page_enabled":false,"product_card_design":"","product_card_order":["image","name","price"],"product_card_add_to_cart_enabled":false,"product_card_content_alignment":"left","pagination_type":"infinite_loading","search_results_page_search_bar_visibility":"show_always","rows_per_page":4,"products_per_row":3,"created_at":"2023-05-10T09:41:28.000Z","colors":{"results_page":{"product_title":"#555555","product_title_hover":"#555555","product_price":"#E52548","product_price_hover":"#E52548","product_original_price":"#8F8F8F","product_original_price_hover":"#8F8F8F"}},"assets_updated":"2026-07-24T21:25:09.039Z","theme_version":2},"122104381558":{"name":"Copy of Dawn230125 Cart Drawer Fixed","theme_id":122104381558,"role":"unpublished","theme_store_id":887,"search_liquid_file":"sections\/main-search.liquid","collection_liquid_file":"sections\/main-collection-product-grid.liquid","collection_page_enabled":false,"search_results_page_enabled":false,"product_card_design":"","product_card_order":["image","name","price"],"product_card_add_to_cart_enabled":false,"product_card_content_alignment":"left","pagination_type":"infinite_loading","search_results_page_search_bar_visibility":"show_always","rows_per_page":4,"products_per_row":3,"created_at":"2023-01-26T03:45:31.000Z","colors":{"results_page":{"product_title":"#5
73755555","product_title_hover":"#555555","product_price":"#E52548","product_price_hover":"#E52548","product_original_price":"#8F8F8F","product_original_price_hover":"#8F8F8F"}},"assets_updated":"2026-07-24T21:25:18.840Z","theme_version":2},"122104152182":{"name":"Dawn230125 Cart Drawer Fixed","theme_id":122104152182,"role":"unpublished","theme_store_id":887,"search_liquid_file":"sections\/main-search.liquid","collection_liquid_file":"sections\/main-collection-product-grid.liquid","collection_page_enabled":false,"search_results_page_enabled":false,"product_card_design":"","product_card_order":["image","name","price"],"product_card_add_to_cart_enabled":false,"product_card_content_alignment":"left","pagination_type":"infinite_loading","search_results_page_search_bar_visibility":"show_always","rows_per_page":4,"products_per_row":3,"created_at":"2023-01-26T00:58:07.000Z","colors":{"results_page":{"product_title":"#555555","product_title_hover":"#555555","product_price":"#E52548","product_price_hover":"#E52548","product_original_price":"#8F8F8F","product_original_price_hover":"#8F8F8F"}},"assets_updated":"2026-07-24T21:25:28.536Z","theme_version":2},"122100678774":{"name":"Dawn2301 Backup","theme_id":122100678774,"role":"unpublished","theme_store_id":887,"search_liquid_file":"sections\/main-search.liquid","collection_liquid_file":"sections\/main-collection-product-grid.liquid","collection_page_enabled":false,"search_results_page_enabled":false,"product_card_design":"","product_card_order":["image","name","price"],"product_card_add_to_cart_enabled":false,"product_card_content_alignment":"left","pagination_type":"infinite_loading","search_results_page_search_bar_visibility":"show_always","rows_per_page":4,"products_per_row":3,"created_at":"2023-01-24T01:40:31.000Z","colors":{"results_page":{"product_title":"#555555","product_title_hover":"#555555","product_price":"#E52548","product_price_hover":"#E52548","product_original_price":"#8F8F8F","product_original_price_hover":"#8F8F8F"}},"assets_updated":"2026-07-24T21:25:38.197Z","theme_version":2},"121930940534":{"name":"Dawn2207 with Installments message","theme_id":121930940534,"role":"unpublished","theme_store_id":887,"search_liquid_file":"sections\/main-search.liquid","collection_liquid_file":"sections\/main-collection-product-grid.liquid","collection_page_enabled":false,"search_results_page_enabled":false,"product_card_design":"","product_card_order":["image","name","price"],"product_card_add_to_cart_enabled":false,"product_card_content_alignment":"left","pagination_type":"infinite_loading","search_results_page_search_bar_visibility":"show_always","rows_per_page":4,"products_per_row":3,"created_at":"2022-10-20T17:01:12.000Z","colors":{"results_page":{"product_title":"#555555","product_title_hover":"#555555","product_price":"#E52548","product_price_hover":"#E52548","product_original_price":"#8F8F8F","product_original_price_hover":"#8F8F8F"}},"assets_updated":"2026-07-24T21:25:47.916Z","theme_version":2},"120646107254":{"name":"Copy of Dawn - speed stuff ","theme_id":120646107254,"role":"unpublished","theme_store_id":887,"search_liquid_file":"sections\/main-search.liquid","collection_liquid_file":"sections\/main-collection-product-grid.liquid","collection_page_enabled":false,"search_results_page_enabled":false,"product_card_design":"","product_card_order":["image","name","price"],"product_card_add_to_cart_enabled":false,"product_card_content_alignment":"left","pagination_type":"infinite_loading","search_results_page_search_bar_visibility":"show_always","rows_per_page":4,"products_per_row":3,"created_at":"2022-02-12T11:00:54.000Z","colors":{"results_page":{"product_title":"#555555","product_title_hover":"#555555","product_price":"#E52548","product_price_hover":"#E52548","product_original_price":"#8F8F8F","product_original_price_hover":"#8F8F8F"}},"assets_updated":"2026-07-24T21:25:57.342Z","theme_version":2},"120422924406":{"name":"Dawn2109","theme_id":120422924406,"role":"unpublished","theme_store_id":887,"search_liquid_file":"sections\/main-search.liquid","collection_liquid_file":"sections\/main-collection-
737product-grid.liquid","collection_page_enabled":false,"search_results_page_enabled":false,"product_card_design":"","product_card_order":["image","name","price"],"product_card_add_to_cart_enabled":false,"product_card_content_alignment":"left","pagination_type":"infinite_loading","search_results_page_search_bar_visibility":"show_always","rows_per_page":4,"products_per_row":3,"created_at":"2021-09-14T18:47:53.000Z","colors":{"results_page":{"product_title":"#555555","product_title_hover":"#555555","product_price":"#E52548","product_price_hover":"#E52548","product_original_price":"#8F8F8F","product_original_price_hover":"#8F8F8F"}},"assets_updated":"2026-07-24T21:27:06.435Z","theme_version":2},"81562173558":{"name":"Debut","theme_id":81562173558,"role":"unpublished","theme_store_id":796,"search_liquid_file":"","collection_liquid_file":"templates\/collection.liquid","collection_page_enabled":false,"search_results_page_enabled":false,"product_card_design":"","product_card_order":["image","name","price"],"product_card_add_to_cart_enabled":false,"product_card_content_alignment":"left","pagination_type":"infinite_loading","search_results_page_search_bar_visibility":"show_always","rows_per_page":4,"products_per_row":3,"created_at":"2020-06-17T02:59:41.000Z","colors":{"results_page":{"product_title":"#555555","product_title_hover":"#555555","product_price":"#E52548","product_price_hover":"#E52548","product_original_price":"#8F8F8F","product_original_price_hover":"#8F8F8F"}},"assets_updated":"2026-07-24T21:27:11.835Z","theme_version":1},"80638541942":{"name":"PageFly Assets - DO NOT DELETE","theme_id":80638541942,"role":"unpublished","theme_store_id":null,"search_liquid_file":"","collection_liquid_file":"templates\/collection.liquid","collection_page_enabled":false,"search_results_page_enabled":false,"product_card_design":"","product_card_order":["image","name","price"],"product_card_add_to_cart_enabled":false,"product_card_content_alignment":"left","pagination_type":"infinite_loading","search_results_page_search_bar_visibility":"show_always","rows_per_page":4,"products_per_row":3,"created_at":"2020-05-06T00:11:29.000Z","colors":{"results_page":{"product_title":"#555555","product_title_hover":"#555555","product_price":"#E52548","product_price_hover":"#E52548","product_original_price":"#8F8F8F","product_original_price_hover":"#8F8F8F"}},"assets_updated":"2026-07-24T21:27:14.759Z","theme_version":1}},"csb_selectors_metafield_id":37305371033718,"storefront_access_token":"148aa567248a7df21c53dbf8c7f0ba7d"},"shoprenter_storefront_settings":{"resultpage_quantity_selector":false},"shop_owner":"Michael Henkart","show_autocomplete_manufacturer":"hidden","show_autocomplete_sku":true,"show_autocomplete_cart":true,"show_child_products":false,"show_horizontal_category_menu":true,"show_horizontal_category_menu_images":true,"show_layerbox":false,"show_original_price":true,"show_parent_categories":false,"show_results_heading":{"desktop":true,"mobile":true},"sorting_function":"","sticky_widget":{"enabled":"auto"},"texts":{},"theme":{"id":146457821302,"name":"commonlands-shopify-2026\/main","theme_store_id":887,"shopifyThemeVersion":2},"two_column_layout":true,"webshop_engine":"shopify","weights":{"description":1,"manufacturer":1,"model":5,"parameters":1,"product_name":5,"short_description":1,"sku":5,"tags":5,"attributes":1,"product_type":5,"metafields":0},"whitelabel":true,"color_family":{"Beige":{"familyName":"Beige","familyColor":"#F5F5DC","colors":["beige","antique white","cornsilk","floral white","seashell","old lace","ivory","linen","lavender blush","misty rose"]},"Black":{"familyName":"Black","familyColor":"#000000","colors":["black"]},"Blue":{"familyName":"Blue","familyColor":"#0000FF","colors":["blue","light blue","medium blue","dark blue","midnight blue","steel blue","light steel blue","sky blue","light sky blue","deep sky blue","cadet blue","cornflower blue","powder blue","dodger blue","royal blue","navy blue"]},"Brown":{"familyName":"Brown","familyColor":"#A52A2A","colors":["brown","sandy brown","saddle brown","rosy brown","burlywood","blanched almond","bisque","chocolate","maroon","navajo white","peru","sienna","tan","wheat"]},"Cyan":{"familyName":"Cyan","familyColor":"#00FFFF","colors":["cyan","light cyan","dark cyan","turquoise","medium turquoise","dar
737k turquoise","pale turquoise","aqua","azure","alice blue","mint cream","teal"]},"Gold":{"familyName":"Gold","familyColor":"#FFD700","colors":["gold","goldenrod","darkgoldenrod","lightgoldenrodyellow","palegoldenrod"]},"Gray":{"familyName":"Gray","familyColor":"#808080","colors":["gray","grey","light gray","dim gray","dark gray","slate gray","light slate gray","dark slate gray","silver","gainsboro"]},"Green":{"familyName":"Green","familyColor":"#008000","colors":["green","light green","dark green","lime","lime green","green yellow","yellow green","spring green","medium spring green","sea green","medium sea green","dark sea green","aquamarine","medium aquamarine","olive","olive drab","dark olive green","forest green","lawn green","pale green","chartreuse","honeydew"]},"Orange":{"familyName":"Orange","familyColor":"#FFA500","colors":["orange","dark orange","coral","tomato","orangered"]},"Pink":{"familyName":"Pink","familyColor":"#FFC0CB","colors":["pink","light pink","hot pink","deep pink"]},"Purple":{"familyName":"Purple","familyColor":"#800080","colors":["purple","medium purple","rebecca purple","magenta","dark magenta","violet","dark violet","blue violet","pale violet red","medium violet red","slate blue","medium slate blue","dark slate blue","orchid","medium orchid","dark orchid","lavender","thistle","plum","fuchsia","indigo"]},"Red":{"familyName":"Red","familyColor":"#FF0000","colors":["red","dark red","indian red","salmon","light salmon","dark salmon","light coral","crimson","red brick","
737scarlet"]},"White":{"familyName":"White","familyColor":"#FFFFFF","colors":["white","snow","whitesmoke","ghostwhite"]},"Yellow":{"familyName":"Yellow","familyColor":"#FFFF00","colors":["yellow","light yellow","lemon chiffon","moccasin"]},"others":{"colors":[],"familyColor":"#ffffff","familyName":"Other"}}}; 738 } catch (error) { 739 console.error('Error setting Rapid Search settings:', error); 740 } 741</script>
741 742
743<script type="text/javascript"> 744 window.rpsMarketInfo = { id: 40173686 }; 745</script>
745 746 747 748
749<script id="rps-shopify-extensions-cdn-setup"> 750 (function () { 751 try { 752 const url = "https://cdn.shopify.com/extensions/01a0f221-d33c-7f04-a210-d57fd63e6029/rapid-search-421/assets/resultpage.js?shop=commonlands-camera-components.myshopify.com"; 753 const match = url.match(/^(.*\/assets\/)/); 754 755 if (match) { 756 window.RapidSearchShopifyExtensionsCdnBaseUrl = match[1]; 757 } 758 } catch (error) { 759 console.error('Error setting Shopify CDN base URL:', error); 760 } 761 })(); 762</script>
762 763
764<script type="text/javascript" defer src="https://cdn.shopify.com/extensions/01a0f221-d33c-7f04-a210-d57fd63e6029/rapid-search-421/assets/resultpage.js?shop=commonlands-camera-components.myshopify.com"></script>
764 765 766 767<!-- END app block --><!-- BEGIN app block: shopify://apps/smart-seo/blocks/smartseo/7b0a6064-ca2e-4392-9a1d-8c43c942357b --><meta name="smart-seo-integrated" content="true" /><!-- metatagsSavedToSEOFields: true --><!-- END app block --><!-- BEGIN app block: shopify://apps/essential-announcer/blocks/app-embed/93b5429f-c8d6-4c33-ae14-250fd84f361b -->
767<script> 768 769 window.essentialAnnouncementConfigs = [{"id":"9b72403b-9f71-4312-9c86-706bc921ebfa","createdAt":"2026-09-04T17:58:18.341+00:00","name":"VISION 2026","title":"Meet us in Stuttgart, Germany 6-8 October at VISION. Booth 10A28","subheading":"","style":{"icon":{"size":32,"originalColor":true,"color":{"hex":"#333333"},"background":{"hex":"#ffffff","alpha":0,"rgba":"rgba(255, 255, 255, 0)"},"cornerRadius":4},"selectedTemplate":"custom","position":"bottom-page","stickyBar":false,"backgroundType":"singleBackground","singleColor":"#FFFFFF","gradientTurn":"90","gradientStart":"#DDDDDD","gradientEnd":"#FFFFFF","bgImage":"https://vamxifegjdrgriapwsjg.supabase.co/storage/v1/object/public/main/bg-images/bg-3.jpg","bgImageOverlayColor":"rgba(255, 255, 255, 0)","bgImageOverlayHex":"#ffffff","bgImageOverlayAlpha":0,"bgImageBlur":false,"borderRadius":"0","borderSize":"0","borderColor":"#c5c8d1","titleSize":"16","titleColor":"#08874a","font":"","subheadingSize":"14","subheadingColor":"#202223","buttonBackgroundColor":"#202223","buttonFontSize":"14","buttonFontColor":"#FFFFFF","buttonBorderRadius":"4","couponCodeButtonOutlineColor":"#202223","couponCodeButtonIconColor":"#202223","couponCodeButtonFontColor":"#202223","couponCodeButtonFontSize":"14","couponCodeButtonBorderRadius":"4","closeIconColor":"#6d7175","arrowIconColor":"#6d7175","spacing":{"insideTop":10,"insideBottom":10,"outsideTop":0,"outsideBottom":10}},"announcementType":"simple","announcementPlacement":"","published":true,"showOnProducts":[],"showOnCollections":[],"updatedAt":"2026-09-17T15:32:24.865+00:00","CTAType":"button","CTALink":"https://www.messe-stuttgart.de/vision/en/tickets-opening-times/","closeButton":false,"buttonText":"Get Free Entrance! ","announcements":[{"title":"Enjoy a 20% discount on all our products!","subheading":"","couponCode":"","CTAType":"button","buttonText":"Shop now!","CTALink":"","icon":"","id":708},{"title":"Enjoy a 20% discount on all our products!","subheading":"","couponCode":"","CTAType":"button","buttonText":"Shop now!","CTALink":"","icon":"","id":122}],"shop":"commonlands-camera-components.myshopify.com","animationSpeed":80,"rotateDuration":4,"translations":[{"title":"Treffen Sie uns vom 6. bis 8. Oktober auf der VISION in der Messe Stuttgart.","subheading":"","buttonText":"","CTALink":"","locale":"de","itemType":"simple","itemId":"","id":686}],"startDate":null,"endDate":"2026-10-09T17:28:00+00:00","icon":"","locationType":"on-countries","showInCountries":["DE","CH","AT","UA","PL","FR","TR","IT","BE","ES","FI","DK","SE","NL","HU","CZ","NO"],"showOnProductsInCollections":[],"type":"product-page","couponCode":"QW73EOZ","animationDirection":"left","excludeOnPages":[],"excludeOnSpecificUrls":[],"excludeOnKeywordsInUrl":[]}]; 770 771 window.essentialAnnouncementMeta = { 772 productCollections: [], 773 productData: {"id":7762516574326,"title":"Camera Module Assembly Services","handle":"camera-module-assembly","description":"\u003cp\u003eWe provide camera module assembly services to focus our lenses with your cameras. We can also provide completely assembled camera modules. Minimum Order Quantity: 100pcs. Add this to cart and we'll contact you to discuss pricing and details. [email protected].\u003c\/p\u003e","published_at":"2025-06-16T21:51:23-07:00","created_at":"2025-06-16T21:51:23-07:00","vendor":"Commonlands","type":"Non Stock","tags":[],"price":0,"price_min":0,"price_max":0,"available":true,"price_varies":false,"compare_at_price":0,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":42314501161078,"title":"Default Title","option1":"Default Title","option2":null,"option3":null,"sku":"MODULEFOCUS","requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Camera Module Assembly Services","public_title":null,"options":["Default Title"],"price":0,"weight":0,"compare_at_price":0,"inventory_management":null,"barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/commonlands.com\/cdn\/shop\/files\/CameraModuleAssemblyM12lenses.webp?v=1750195519"],"featured_image":"\/\/commonlands.com\/cdn\/shop\/files\/CameraModuleAssemblyM12lenses.webp?v=1750195519","options":["Title"],"media":[{"alt":"Camera Module Assembly Active Alignment","id":25988938203254,"position":1,"preview_image":{"aspect_ratio":1.0,"height":1000,"width":1000,"src":"\/\/commonlands.com\/cdn\/shop\/files\/CameraModuleAssemblyM12lenses.webp?v=1750195519"},"aspect_ratio":1.0,"height":1000,"media_type":"image","src":"\/\/commonlands.com\/cdn\/shop\/files\/CameraModuleAssemblyM12lenses.webp?v=1750195519","width":1000}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cp\u003eWe provide camera module assembly services to focus our lenses with your cameras. We can also provide completely assembled camera modules. Minimum Order Quantity: 100pcs. Add this to cart and we'll contact you to discu
773ss pricing and details. [email protected].\u003c\/p\u003e"}, 774 templateName: "product", 775 collectionId: null, 776 }; 777 778</script>
778 779 780 781 782<style> 783 .essential_annoucement_bar_wrapper {display: none;} 784</style> 785 786 787
788<script src="https://cdn.shopify.com/extensions/01a0ae33-7196-7ba7-a372-9039e66cd741/essential-announcement-bar-120/assets/announcement-bar-essential-apps.js" defer></script>
788 789 790 791<!-- END app block --><!-- BEGIN app block: shopify://apps/weglot-translate-your-store/blocks/weglot/3097482a-fafe-42ff-bc33-ea19e35c4a20 --> 792 793 794 795 796 797 798 799 800 801 802 803<!--Start Weglot Script-->
804<script src="https://cdn.weglot.com/weglot.min.js?api_key=" async></script>
804 805<!--End Weglot Script--> 806 807<!-- END app block -->
807<script src="https://cdn.shopify.com/extensions/01a0fcf5-9827-75b1-9d7e-ea3a10d70819/gdpr-backpack-903/assets/consentmo_cookie_consent.js" type="text/javascript" defer="defer"></script>
807 808<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
809<script>(function(){if ("sendBeacon" in navigator && "performance" in window) {try {var session_token_from_headers = performance.getEntriesByType('navigation')[0].serverTiming.find(x => x.name == '_s').description;} catch {var session_token_from_headers = undefined;}var session_cookie_matches = document.cookie.match(/_shopify_s=([^;]*)/);var session_token_from_cookie = session_cookie_matches && session_cookie_matches.length === 2 ? session_cookie_matches[1] : "";var session_token = session_token_from_headers || session_token_from_cookie || "";function handle_abandonment_event(e) {var entries = performance.getEntries().filter(function(entry) {return /monorail-edge.shopifysvc.com/.test(entry.name);});if (!window.abandonment_tracked && entries.length === 0) {window.abandonment_tracked = true;var currentMs = Date.now();var navigation_start = performance.timing.navigationStart;var payload = {shop_id: 27392737398,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "product"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
vendor: 1 bytes, line 809
809
810<script> 811 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 812</script>
vendor: 1 bytes, line 812
812
813<script>(function(){var wpmLoader=function(){"use strict";var e=/Googlebot|Storebot-Google|bingbot|Baiduspider|YandexBot|DuckDuckBot|Slurp|facebookexternalhit|Twitterbot|LinkedInBot|Applebot|AdsBot-Google|Mediapartners-Google|APIs-Google|PetalBot|SemrushBot|AhrefsBot|MJ12bot|DotBot|Acunetix|PerplexityBot|Perplexity-User/i,t=/bytedance/i;function i(){try{var e=document.cookie;if(!e||"string"!=typeof e)return;for(var t=0,i=e.split(";");t<i.length;t++){var n=i[t],r=n.indexOf("=");if(-1!==r){var o=n.slice(0,r).trim();if(o){var a=void 0;try{a=decodeURIComponent(o)}catch(e){a=o}if("_shopify_s"===a){var d=n.slice(r+1).trim();try{return decodeURIComponent(d)}catch(e){return d}}}}}return}catch(e){return}}function n(e){try{"undefined"!=typeof console&&"function"==typeof console.warn&&console.warn(e)}catch(e){}}function r(e,t){return"string"==typeof e&&e.length>0&&e.length<=t?e:void 0}function o(e){var t;switch(null==(t=null==e?void 0:e.navigation)?void 0:t.type){case 0:return"navigate";case 1:return"reload";case 2:return"back_forward";default:return}}function a(){var e,t,i;try{var n=null==(i=null==(t=null==(e=self.ShopifyAnalytics)?void 0:e.lib)?void 0:t.trekkie)?void 0:i.state;return"awaiting-consent"===n||"initialized"===n?n:void 0}catch(e){return}}return function(d,s,u,l){var c=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};try{var p=c.trekkieShim;!0!==p&&"true"!==p||null!=window.__TREKKIE_SHIM_QUEUE||(window.__TREKKIE_SHIM_QUEUE=[])}catch(e){}var f,v,h,y,g=(v=(f={modern:/Edge?\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(9{2}|\d{3,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(15\.\d+|(1[6-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(9{2}|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]\d+|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/([2-9]\d|\d{3,})\.\d+/,legacy:/Edge?\/(1[6-9]|[2-9]\d|\d{3,})\.\d+(\.\d+|)|Firefox\/(5[4-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)|Chrom(ium|e)\/(5[1-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)([\d.]+$|.*Safari\/(?![\d.]+ Edge\/[\d.]+$))|(Maci|X1{2}).+ Version\/(10\.\d+|(1[1-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(3[89]|[4-9]\d|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(10[._]\d+|(1[1-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(5\.\d+|([6-9]|\d{2,})\.\d+)|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(3\.\d+|([4-9]|\d{2,})\.\d+)(\.\d+|)/}).modern,h=f.legacy,(y=navigator.userAgent).match(e)?"bot":y.match(v)?"modern":y.match(h)?"legacy":y.match(t)?"bot":"unknown"),m=function(e){var t,i,n=r(e,128);try{var a=window.performance,d=null==(t=null==a?void 0:a.getEntriesByType)?void 0:t.call(a,"navigation")[0];if(!d)return{requestId:n,navigationType:o(a)};var s="type"in d?r(d.type,64):void 0,u="serverTiming"in d&&Array.isArray(d.serverTiming)?d.serverTiming:[];return{requestId:null!=n?n:r(null==(i=u.find(function(e){return"requestID"===e.name}))?void 0:i.description,128),navigationType:s}}catch(e){return{requestId:n}}}(c.requestId),w=function(e){var t=e.version,r=e.browserTarget,o=e.surface,a=e.shopId,d=e.monorailEndpoint,s=window.location.href;return{emit:function(e){var u=e.status,l=e.errorMsg,c=e.failureReason,p=e.useKeepaliveFallback,f=void 0!==p&&p,v=e.navigationType,h=e.pagehidePersisted,y=e.requestId,g=e.trekkieState;if(d){var m,w;try{var b=(new Date).getTime();m=JSON.stringify({metadata:{event_sent_at_ms:b},events:[{schema_id:"web_pixels_manager_load/3.3",payload:{version:t,bundle_target:r,page_url:s,status:u,surface:o,error_msg:l,failure_reason:c,navigation_type:v,pagehide_persisted:h,request_id:y,trekkie_state:g,shop_id:a,visit_token:i()},metadata:{event_created_at_ms:b}}]})}catch(e){return}try{if("function"==typeof window.navigator.sendBeacon&&-1===(w=window.navigator.userAgent).indexOf("iPhone; CPU iPhone OS 12_")&&-1===w.indexOf("iPad; CPU OS 12_")&&-1===w.indexOf("iPod touch; CPU iPhone OS 12_")&&window.navigator.sendBeacon.bind(window.navigator)(d,m))return}catch(e){}if(f)try{"function"==typeof window.fetch&&window.fetch(d,{method:"POST",headers:{"Content-Type":"text/plain"},body:m,keepalive:!0}
813).catch(function(){})}catch(e){}else try{var _=new XMLHttpRequest;_.open("POST",d,!0),_.setRequestHeader("Content-Type","text/plain"),_.send(m)}catch(e){n("[Web Pixels Manager] Got an unhandled error while logging to Monorail.")}}else n("[Web Pixels Manager] No Monorail endpoint provided, skipping logging.")}}}({version:u,browserTarget:g,surface:d.surface,shopId:d.shopId,monorailEndpoint:d.monorailEndpoint});if(Boolean(null==(_=null==(b=window.Shopify)?void 0:b.analytics)?void 0:_.replayQueue))w.emit({status:"setup-skipped",errorMsg:"replay queue already initialized."});else{var b,_;w.emit({status:"setup-started"}),window.Shopify=window.Shopify||{};var S=window.Shopify;S.analytics=S.analytics||{};var P=S.analytics;P.replayQueue=[],P.publish=function(e,t,i){return P.replayQueue.push([e,t,i]),!0};try{self.performance.mark("wpm:start")}catch(e){}var k,C="modern"===g?"modern":"legacy",E=(null!=l?l:{modern:"",legacy:""})[C],I=[(k={baseUrl:s,hashVersion:u,buildTarget:C}).baseUrl,"/wpm","/b",k.hashVersion,"modern"===k.buildTarget?"m":"l",".js"].join(""),O=!1,T=!1;try{c.browserTarget=g,function(){O=!0;try{window.addEventListener("pagehide",M)}catch(e){O=!1}}(),R(function(){try{R(x)}catch(e){D(e)}}),w.emit({status:"loading",requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()})}catch(e){D(e)}}function U(){var e;if(q(),!function(){var e,t;return Boolean(null==(t=null==(e=window.Shopify)?void 0:e.analytics)?void 0:t.initialized)}()){var t,i,n;try{if("function"!=typeof(null==(e=window.webPixelsManager)?void 0:e.init))return void A();if(!(null!==(n=i=t=window.webPixelsManager.init(d))&&"function"!=typeof n&&Object(n)===n&&"publish"in i&&"function"==typeof i.publish&&"publishCustomEvent"in i&&"function"==typeof i.publishCustomEvent&&"visitor"in i&&"function"==typeof i.visitor))return void A()}catch(e){return void A(e)}var r=window.Shopify.analytics;r.replayQueue.forEach(function(e){var i=e[0],n=e[1],r=e[2];t.publishCustomEvent(i,n,r)}),r.replayQueue=[],r.publish=t.publishCustomEvent,r.visitor=t.visitor,r.initialized=!0}}function A(e){B("manager_api_unavailable",void 0===e?void 0:Q(e))}function x(){B("script_load_failed","".concat(I," has failed to load"))}function B(e,t){T||(T=!0,q(),w.emit({status:"failed",errorMsg:t,failureReason:e,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function M(e){O&&(q(),w.emit({status:"pagehide-while-loading",useKeepaliveFallback:!0,pagehidePersisted:e.persisted,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function q(){O=!1;try{window.removeEventListener("pagehide",M)}catch(e){}}function R(e){var t;!function(e){var t=e.src,i=e.async,n=void 0===i||i,r=e.onload,o=e.onerror,a=e.sri,d=e.scriptDataAttributes,s=void 0===d?{}:d,u=document.createElement("script"),l=document.querySelector("head"),c=document.querySelector("body");if(u.async=n,u.src=t,a&&(u.integrity=a,u.crossOrigin="anonymous"),s)for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))try{u.dataset[p]=String(s[p])}catch(e){}if(r&&u.addEventListener("load",r),o&&u.addEventListener("error",o),l)l.appendChild(u);else{if(!c)throw new Error("Did not find a head or body element to append the script");c.appendChild(u)}}({src:I,async:!0,onload:U,onerror:e,sri:(t=E,"string"==typeof t&&/^sha384-[A-Za-z0-9+/=]+$/.test(t)?E:""),scriptDataAttributes:c})}function D(e){B("script_append_failed",Q(e))}function Q(e){return e instanceof Error?e.message:"Unknown error"}}}();wpmLoader({shopId: 27392737398,storefrontBaseUrl: "https://commonlands.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://commonlands.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b","7ee89bf1"],webPixelsConfigList: [{"id":"2207252598","configuration":"{\"storeId\":\"commonlands-camera-components.myshopify.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0da674a4d28eb16838d73f6a82224de2","type":"APP","apiClientId":3440817,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]}
813,"dataSharingState":"unrestricted"},{"id":"1918894198","configuration":"{\"accountID\":\"27392737398\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"9cf281f576a3744d05c8685f9f7f3f72","type":"APP","apiClientId":10250649601,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"1728381046","configuration":"{\"mailchimp_store_id\":\"store_m6pjqeyozespuqcfv4bu\", \"mailchimp_user_id\":\"225445234\",\"mailchimp_list_id\":\"1a01139514\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"e357a49eadeb6216a959d63fa3fb8f55","type":"APP","apiClientId":2585307,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"1085898870","configuration":"{\"ti\":\"187043879\",\"endpoint\":\"https:\/\/bat.bing.com\/action\/0\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"5ee93563fe31b11d2d65e2f09a5229dc","type":"APP","apiClientId":2997493,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"997851254","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"G-VXJK1X3F7K\\\",\\\"AW-634456680\\\",\\\"GT-KVJKM6QS\\\"],\\\"target_country\\\":\\\"ZZ\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":[\\\"G-VXJK1X3F7K\\\",\\\"AW-634456680\\\/9JM1CO_U9pEcEOiUxK4C\\\"]},{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":[\\\"G-VXJK1X3F7K\\\",\\\"AW-634456680\\\/n6zRCPvU9pEcEOiUxK4C\\\"]},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-VXJK1X3F7K\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"G-VXJK1X3F7K\\\",\\\"AW-634456680\\\/CCJ5CPjU9pEcEOiUxK4C\\\",\\\"MC-64ST68LWN6\\\"]},{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-VXJK1X3F7K\\\"},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"G-VXJK1X3F7K\\\",\\\"AW-634456680\\\/f5AwCOzU9pEcEOiUxK4C\\\",\\\"MC-64ST68LWN6\\\"]},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"G-VXJK1X3F7K\\\",\\\"AW-634456680\\\/_EzXCPXU9pEcEOiUxK4C\\\",\\\"MC-64ST68LWN6\\\"]},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-VXJK1X3F7K\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":[\\\"G-VXJK1X3F7K\\\",\\\"AW-634456680\\\/aWg9CP7U9pEcEOiUxK4C\\\"]},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":[\\\"G-VXJK1X3F7K\\\",\\\"AW-634456680\\\/yfXUCPLU9pEcEOiUxK4C\\\"]},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-VXJK1X3F7K\\\"}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"a3321ca85cf5aaf6b57585fcd8d67b3a","type":"APP","apiClientId":1780363,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"347177078","configuration":"{\"endpoint\":\"https:\\\/\\\/api.parcelpanel.com\",\"debugMode\":\"false\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"97b5be1756c17e4819e71893a005b595","type":"APP","apiClientId":2681387,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]}
813,"dataSharingState":"unrestricted"},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"Commonlands Optics","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"commonlands-camera-components.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/commonlands.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[{"price":{"amount":0.0,"currencyCode":"USD"},"product":{"title":"Camera Module Assembly Services","vendor":"Commonlands","id":"7762516574326","untranslatedTitle":"Camera Module Assembly Services","url":"\/products\/camera-module-assembly","type":"Non Stock"},"id":"42314501161078","image":{"src":"\/\/commonlands.com\/cdn\/shop\/files\/CameraModuleAssemblyM12lenses.webp?v=1750195519"},"sku":"MODULEFOCUS","title":"Default Title","untranslatedTitle":"Default Title"}],"products":[{"id":"7762516574326","handle":"camera-module-assembly","isCollective":null,"title":"Camera Module Assembly Services","type":"Non Stock","untranslatedTitle":"Camera Module Assembly Services","url":"\/products\/camera-module-assembly","vendor":"Commonlands","remoteShopId":null,"variants":[{"id":"42314501161078","image":{"src":"\/\/commonlands.com\/cdn\/shop\/files\/CameraModuleAssemblyM12lenses.webp?v=1750195519"},"price":{"amount":0.0,"currencyCode":"USD"},"sku":"MODULEFOCUS","title":"Default Title","untranslatedTitle":"Default Title"}]}],"purchasingCompany":null},},"https://commonlands.com/cdn","5982071ew7ea472e3p69b68784m2150dfea",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"false","themeId":"146457821302","themePublished":"true","eventMetadataId":"51b00981-2ea9-4bb6-84c3-5d663019603e","pageType":"product","resourceId":"7762516574326","shopId":"27392737398","storefrontBaseUrl":"https:\/\/commonlands.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\", \"8450a54b\", \"7ee89bf1\"]","isMerchantRequest":"false","hashVersion":"5982071ew7ea472e3p69b68784m2150dfea","publish":"custom","events":"[[\"page_viewed\",{}],[\"product_viewed\",{\"productVariant\":{\"price\":{\"amount\":0.0,\"currencyCode\":\"USD\"},\"product\":{\"title\":\"Camera Module Assembly Services\",\"vendor\":\"Commonlands\",\"id\":\"7762516574326\",\"untranslatedTitle\":\"Camera Module Assembly Services\",\"url\":\"\/products\/camera-module-assembly\",\"type\":\"Non Stock\"},\"id\":\"42314501161078\",\"image\":{\"src\":\"\/\/commonlands.com\/cdn\/shop\/files\/CameraModuleAssemblyM12lenses.webp?v=1750195519\"},\"sku\":\"MODULEFOCUS\",\"title\":\"Default Title\",\"untranslatedTitle\":\"Default Title\"}}]]"});})();</script>
813<script> 814 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 815 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 816 window.ShopifyAnalytics.meta.currency = 'USD'; 817 var meta = {"product":{"id":7762516574326,"gid":"gid:\/\/shopify\/Product\/7762516574326","vendor":"Commonlands","type":"Non Stock","handle":"camera-module-assembly","variants":[{"id":42314501161078,"price":0,"name":"Camera Module Assembly Services","public_title":null,"sku":"MODULEFOCUS"}],"remote":false},"page":{"pageType":"product","resourceType":"product","resourceId":7762516574326,"requestId":"577ea9d9-1423-4b3a-84d8-092e08e25280-1790963489"}}; 818 for (var attr in meta) { 819 window.ShopifyAnalytics.meta[attr] = meta[attr]; 820 } 821</script>
vendor: 1 bytes, line 821
821
822<script class="analytics"> 823 (function () { 824 var customDocumentWrite = function(content) { 825 var jquery = null; 826 827 if (window.jQuery) { 828 jquery = window.jQuery; 829 } else if (window.Checkout && window.Checkout.$) { 830 jquery = window.Checkout.$; 831 } 832 833 if (jquery) { 834 jquery('body').append(content); 835 } 836 }; 837 838 var hasLoggedConversion = function(token) { 839 if (token) { 840 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 841 } 842 return false; 843 } 844 845 var setCookieIfConversion = function(token) { 846 if (token) { 847 var twoMonthsFromNow = new Date(Date.now()); 848 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 849 850 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 851 } 852 } 853 854 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 855 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 856 if (trekkie.integrations) { 857 return; 858 } 859 trekkie.methods = [ 860 'identify', 861 'page', 862 'ready', 863 'track', 864 'trackForm', 865 'trackLink' 866 ]; 867 trekkie.factory = function(method) { 868 return function() { 869 var args = Array.prototype.slice.call(arguments); 870 args.unshift(method); 871 trekkie.push(args); 872 if (method == 'track' || method == 'page') { 873 var pageUrl; 874 try { 875 pageUrl = window.location.href; 876 } catch (e) {} 877 var pageReferrer; 878 try { 879 pageReferrer = document.referrer; 880 } catch (e) {} 881 try { 882 if (window.__TREKKIE_SHIM_QUEUE == null) { 883 window.__TREKKIE_SHIM_QUEUE = []; 884 } 885 window.__TREKKIE_SHIM_QUEUE.push({ 886 from: 'trekkie-stub', 887 method: method, 888 args: args.slice(1), 889 pageContext: { 890 url: pageUrl, 891 referrer: pageReferrer 892 } 893 }); 894 } catch (e) { 895 // no-op 896 } 897 } 898 return trekkie; 899 }; 900 }; 901 for (var i = 0; i < trekkie.methods.length; i++) { 902 var key = trekkie.methods[i]; 903 trekkie[key] = trekkie.factory(key); 904 } 905 trekkie.load = function(config) { 906 trekkie.config = config || {}; 907 trekkie.config.initialDocumentCookie = document.cookie; 908 var first = document.getElementsByTagName('script')[0]; 909var script = document.createElement('script'); 910script.type = 'text/javascript'; 911script.onerror = function(e) { 912 var scriptFallback = document.createElement('script'); 913 scriptFallback.type = 'text/javascript'; 914 scriptFallback.onerror = function(error) { 915 var Monorail = { 916 produce: function produce(monorailDomain, schemaId, payload) { 917 var currentMs = new Date().getTime(); 918 var event = { 919 schema_id: schemaId, 920 payload: payload, 921 metadata: { 922 event_created_at_ms: currentMs, 923 event_sent_at_ms: currentMs 924 } 925 }; 926 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 927 }, 928 sendRequest: function sendRequest(endpointUrl, payload) { 929 // Try the sendBeacon API 930 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 931 var blobData = new window.Blob([payload], { 932 type: 'text/plain' 933 }); 934 935 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 936 return true; 937 } // sendBeacon was not successful 938 939 } // XHR beacon 940 941 var xhr = new XMLHttpRequest(); 942 943 try { 944 xhr.open('POST', endpointUrl); 945 xhr.setRequestHeader('Content-Type', 'text/plain'); 946 xhr.send(payload); 947 } catch (e) { 948 console.log(e); 949 } 950 951 return false; 952 }, 953 isIos12: function isIos12() { 954 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 955 } 956 }; 957 Monorail.produce('monorail-edge.shopifysvc.com', 958 'trekkie_storefront_load_errors/1.1', 959 {shop_id: 27392737398, 960 theme_id: 146457821302, 961 app_name: "storefront", 962 context_url: window.location.href, 963 source_url: "//commonlands.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js"}); 964 965 }; 966 scriptFallback.async = true; 967 scriptFallback.src = '//commonlands.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 968 first.parentNode.insertBefore(scriptFallback, first); 969}; 970script.async = true; 971script.src = '//commonlands.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 972first.parentNode.insertBefore(script, first); 973 974 }; 975 trekkie.load( 976 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":27392737398,"isMerchantRequest":null,"themeId":146457821302,"themeCityHash":"10525855878005697550","contentLanguage":"en","currency":"USD","eventMetadataId":"51b00981-2ea9-4bb6-84c3-5d663019603e"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","7ee89bf1","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":false,"source":"trekkie-storefront-renderer","apiClientId":580111}} 977 ); 978 979 var loaded = false;
980 trekkie.ready(function() { 981 if (loaded) return; 982 loaded = true; 983 984 window.ShopifyAnalytics.lib = window.trekkie; 985 986 var originalDocumentWrite = document.write; 987 document.write = customDocumentWrite; 988 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 989 document.write = originalDocumentWrite; 990 991 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 992 var token = match? match[1]: undefined; 993 if (!hasLoggedConversion(token)) { 994 setCookieIfConversion(token); 995 window.ShopifyAnalytics.lib.track("Viewed Product",{"currency":"USD","variantId":42314501161078,"productId":7762516574326,"productGid":"gid:\/\/shopify\/Product\/7762516574326","name":"Camera Module Assembly Services","price":"0.00","sku":"MODULEFOCUS","brand":"Commonlands","variant":null,"category":"Non Stock","nonInteraction":true,"remote":false,"available":true},undefined,undefined,{"shopifyEmitted":true}); 996 } 997 }); 998 999 window.ShopifyAnalytics.lib.page(null,{"pageType":"product","resourceType":"product","resourceId":7762516574326,"requestId":"577ea9d9-1423-4b3a-84d8-092e08e25280-1790963489","shopifyEmitted":true}); 1000 1001 var eventsListenerScript = document.createElement('script'); 1002 eventsListenerScript.async = true; 1003 eventsListenerScript.src = "//commonlands.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 1004 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 1005})();</script>
vendor: 1 bytes, line 1005
1005
1006<script 1007 defer 1008 src="https://commonlands.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js" 1009 data-application="storefront-renderer" 1010 data-shop-id="27392737398" 1011 data-render-region="gcp-us-central1" 1012 data-page-type="product" 1013 data-theme-instance-id="146457821302" 1014 data-theme-name="Dawn" 1015 data-theme-version="15.4.0" 1016 data-monorail-region="shop_domain" 1017 data-resource-timing-sampling-rate="10" 1018 data-shs="true" 1019 data-shs-beacon="true" 1020 data-shs-export-with-fetch="true" 1021 data-shs-logs-sample-rate="1" 1022 data-shs-beacon-endpoint="https://commonlands.com/api/collect" 1023></script>
1023 1024<meta name="shopify-y" content="5bf894be-9efb-4842-9996-607464b1f8ea" data-expiration="1822521089000"><meta name="shopify-s" content="3b61fd26-fa9d-4e24-b74d-c6a98af48719" data-expiration="1790965289000"><meta name="new-cookie-storage-activated" content="t"> 1025</head> 1026 1027 <body class="gradient"> 1028 <!-- Google Tag Manager (noscript) -->
vendor: 72 bytes, lines 1028-1029
1028 1029 <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
1029GTM-TG4895P2
vendor: 91 bytes, lines 1029-1031
1029" 1030 height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 1031
1031<!-- End Google Tag Manager (noscript) --> 1032 <a class="skip-to-content-link button visually-hidden" href="#MainContent"> 1033 Skip to content 1034 </a> 1035 1036<link href="//commonlands.com/cdn/shop/t/50/assets/quantity-popover.css?v=160630540099520878331784481374" rel="stylesheet" type="text/css" media="all" /> 1037<link href="//commonlands.com/cdn/shop/t/50/assets/component-card.css?v=120341546515895839841784481358" rel="stylesheet" type="text/css" media="all" /> 1038
1039<script src="//commonlands.com/cdn/shop/t/50/assets/cart.js?v=25986244538023964561784481354" defer="defer"></script>
vendor: 1 bytes, line 1039
1039
1040<script src="//commonlands.com/cdn/shop/t/50/assets/quantity-popover.js?v=987015268078116491784481374" defer="defer"></script>
1040 1041 1042<style> 1043 .drawer { 1044 visibility: hidden; 1045 } 1046</style> 1047 1048<cart-drawer class="drawer is-empty"> 1049 <div id="CartDrawer" class="cart-drawer"> 1050 <div id="CartDrawer-Overlay" class="cart-drawer__overlay"></div> 1051 <div 1052 class="drawer__inner gradient color-scheme-5b945e79-3d10-4fdc-bd02-8482ef769ae3" 1053 role="dialog" 1054 aria-modal="true" 1055 aria-label="Your cart" 1056 tabindex="-1" 1057 ><div class="drawer__inner-empty"> 1058 <div class="cart-drawer__warnings center cart-drawer__warnings--has-collection"> 1059 <div class="cart-drawer__empty-content"> 1060 <h2 class="cart__empty-text">Your cart is empty</h2> 1061 <button 1062 class="drawer__close" 1063 type="button" 1064 onclick="this.closest('cart-drawer').close()" 1065 aria-label="Close" 1066 > 1067 <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-close" viewBox="0 0 18 17"><path fill="currentColor" d="M.865 15.978a.5.5 0 0 0 .707.707l7.433-7.431 7.579 7.282a.501.501 0 0 0 .846-.37.5.5 0 0 0-.153-.351L9.712 8.546l7.417-7.416a.5.5 0 1 0-.707-.708L8.991 7.853 1.413.573a.5.5 0 1 0-.693.72l7.563 7.268z"/></svg> 1068</span> 1069 </button> 1070 <a href="/collections/all" class="button"> 1071 Continue shopping 1072 </a><p class="cart__login-title h3">Have an account?</p> 1073 <p class="cart__login-paragraph"> 1074 <a href="https://commonlands.com/customer_authentication/redirect?locale=en®ion_country=US" class="link underlined-link">Log in</a> to check out faster. 1075 </p></div> 1076 </div><div class="cart-drawer__collection"> 1077 1078<div class="card-wrapper animate-arrow collection-card-wrapper"> 1079 <div 1080 class=" 1081 card 1082 card--standard 1083 card--media 1084 1085 1086 1087 " 1088 style="--ratio-percent: 100%;" 1089 > 1090 <div 1091 class="card__inner color-scheme-5b945e79-3d10-4fdc-bd02-8482ef769ae3 gradient ratio" 1092 style="--ratio-percent: 100%;" 1093 ><div class="card__media"> 1094 <div class="media media--transparent media--hover-effect"> 1095 <img 1096 srcset="//commonlands.com/cdn/shop/collections/Commonlands_M12_Lenses.jpg?v=1716229416&width=165 165w,//commonlands.com/cdn/shop/collections/Commonlands_M12_Lenses.jpg?v=1716229416&width=330 330w,//commonlands.com/cdn/shop/collections/Commonlands_M12_Lenses.jpg?v=1716229416&width=535 535w,//commonlands.com/cdn/shop/collections/Commonlands_M12_Lenses.jpg?v=1716229416&width=750 750w,//commonlands.com/cdn/shop/collections/Commonlands_M12_Lenses.jpg?v=1716229416&width=1000 1000w,//commonlands.com/cdn/shop/collections/Commonlands_M12_Lenses.jpg?v=1716229416 1024w 1097 " 1098 src="//commonlands.com/cdn/shop/collections/Commonlands_M12_Lenses.jpg?v=1716229416&width=1500" 1099 sizes=" 1100 (min-width: 1200px) 1100px, 1101 (min-width: 750px) calc(100vw - 10rem), 1102 calc(100vw - 3rem) 1103 " 1104 alt="M12 Lenses / S-Mount Lenses" 1105 height="1024" 1106 width="1024" 1107 loading="lazy" 1108 class="motion-reduce" 1109 > 1110 </div> 1111 </div><div class="card__content"> 1112 <div class="card__information"> 1113 <h3 class="card__heading"> 1114 <a 1115 1116 href="/collections/m12-lenses" 1117 1118 class="full-unstyled-link" 1119 >M12 Lenses (S-Mount Lenses) for Embedded Machine Vision 1120 </a> 1121 </h3><p class="card__caption">M12 Lenses are miniature lenses for embedded cameras, computer vision, and human viewing...<span class="icon-wrap"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-arrow" viewB
1121ox="0 0 14 10"><path fill="currentColor" fill-rule="evenodd" d="M8.537.808a.5.5 0 0 1 .817-.162l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 1 1-.708-.708L11.793 5.5H1a.5.5 0 0 1 0-1h10.793L8.646 1.354a.5.5 0 0 1-.109-.546" clip-rule="evenodd"/></svg> 1122</span> 1123 </p></div> 1124 </div></div><div class="card__content"> 1125 <div class="card__information"> 1126 <h3 class="card__heading"> 1127 <a 1128 1129 href="/collections/m12-lenses" 1130 1131 class="full-unstyled-link" 1132 >M12 Lenses (S-Mount Lenses) for Embedded Machine Vision<span class="icon-wrap"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-arrow" viewBox="0 0 14 10"><path fill="currentColor" fill-rule="evenodd" d="M8.537.808a.5.5 0 0 1 .817-.162l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 1 1-.708-.708L11.793 5.5H1a.5.5 0 0 1 0-1h10.793L8.646 1.354a.5.5 0 0 1-.109-.546" clip-rule="evenodd"/></svg> 1133</span> 1134 </a> 1135 </h3></div> 1136 </div></div> 1137</div> 1138 1139 </div></div><div class="drawer__header"> 1140 <h2 class="drawer__heading">Your cart</h2> 1141 <button 1142 class="drawer__close" 1143 type="button" 1144 onclick="this.closest('cart-drawer').close()" 1145 aria-label="Close" 1146 > 1147 <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-close" viewBox="0 0 18 17"><path fill="currentColor" d="M.865 15.978a.5.5 0 0 0 .707.707l7.433-7.431 7.579 7.282a.501.501 0 0 0 .846-.37.5.5 0 0 0-.153-.351L9.712 8.546l7.417-7.416a.5.5 0 1 0-.707-.708L8.991 7.853 1.413.573a.5.5 0 1 0-.693.72l7.563 7.268z"/></svg> 1148</span> 1149 </button> 1150 </div> 1151 <cart-drawer-items 1152 1153 class=" is-empty" 1154 1155 > 1156 <form 1157 action="/cart" 1158 id="CartDrawer-Form" 1159 class="cart__contents cart-drawer__form" 1160 method="post" 1161 > 1162 <div id="CartDrawer-CartItems" class="drawer__contents js-contents"><p id="CartDrawer-LiveRegionText" class="visually-hidden" role="status"></p> 1163 <p id="CartDrawer-LineItemStatus" class="visually-hidden" aria-hidden="true" role="status"> 1164 Loading... 1165 </p> 1166 </div> 1167 <div id="CartDrawer-CartErrors" role="alert"></div> 1168 </form> 1169 </cart-drawer-items> 1170 <div class="drawer__footer"><details id="Details-CartDrawer"> 1171 <summary> 1172 <span class="summary__title"> 1173 1174 Enter Notes, PO#, and/or Shipping Account #<svg class="icon icon-caret" viewBox="0 0 10 6"><path fill="currentColor" fill-rule="evenodd" d="M9.354.646a.5.5 0 0 0-.708 0L5 4.293 1.354.646a.5.5 0 0 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0 0-.708" clip-rule="evenodd"/></svg> 1175</span> 1176 </summary> 1177 <cart-note class="cart__note field"> 1178 <label class="visually-hidden" for="CartDrawer-Note">Order special instructions</label> 1179 <textarea 1180 id="CartDrawer-Note" 1181 class="text-area text-area--resize-vertical field__input" 1182 name="note" 1183 placeholder="Order special instructions" 1184 ></textarea> 1185 </cart-note> 1186 </details><!-- Start blocks --> 1187 <!-- Subtotals --> 1188 1189 <div class="cart-drawer__footer" > 1190 <div class="docapp-cart-with-shipping-summary"></div> 1191 1192 </div> 1193 1194 <!-- CTAs --> 1195 1196 <div class="cart__ctas" > 1197 <button 1198 type="submit" 1199 id="CartDrawer-Checkout" 1200 class="cart__checkout-button button" 1201 name="checkout" 1202 form="CartDrawer-Form" 1203 1204 disabled 1205 1206 > 1207 Check out 1208 </button> 1209 </div> 1210 </div> 1211 </div> 1212 </div> 1213</cart-drawer> 1214<!-- BEGIN sections: header-group --> 1215<div id="shopify-section-sections--20119088595062__header" class="shopify-section shopify-section-group-header-group section-header"><link rel="stylesheet" href="//commonlands.com/cdn/shop/t/50/assets/component-list-menu.css?v=151968516119678728991784481359" media="print" onload="this.media='all'"> 1216<link rel="stylesheet" href="//commonlands.com/cdn/shop/t/50/assets/component-menu-drawer.css?v=147478906057189667651784481361" media="print" onload="this.media='all'"> 1217<link 1218 rel="stylesheet" 1219 href="//commonlands.com/cdn/shop/t/50/assets/component-cart-notification.css?v=54116361853792938221784481364" 1220 media="print" 1221 onload="this.media='all'" 1222><style> 1223 header-drawer { 1224 justify-self: start; 1225 margin-left: -1.2rem; 1226 }@media screen and (min-width: 990px) { 1227 header-drawer { 1228 display: none; 1229 } 1230 }.menu-drawer-container { 1231 display: flex; 1232 } 1233 1234 .list-menu { 1235 list-style: none; 1236 padding: 0; 1237 margin: 0; 1238 } 1239 1240 .list-menu--inline { 1241 display: inline-flex; 1242 flex-wrap: wrap; 1243 } 1244 1245 summary.list-menu__item { 1246 padding-right: 2.7rem; 1247 } 1248 1249 .list-menu__item { 1250 display: flex; 1251 align-items: center; 1252 line-height: calc(1 + 0.3 / var(--font-body-scale)); 1253 } 1254 1255 .list-menu__item--link { 1256 text-decoration: none; 1257 padding-bottom: 1rem; 1258 padding-top: 1rem; 1259 line-height: calc(1 + 0.8 / var(--font-body-scale)); 1260 } 1261 1262 @media screen and (min-width: 750px) { 1263 .list-menu__item--link { 1264 padding-bottom: 0.5rem; 1265 padding-top: 0.5rem; 1266 } 1267 } 1268</style><style data-shopify>.header { 1269 padding: 8px 3rem 8px 3rem; 1270 } 1271 1272 .section-header { 1273 position: sticky; /* This is for fixing a Safari z-index issue. PR #2147 */ 1274 margin-bottom: 0px; 1275 } 1276 1277 @media screen and (min-width: 750px) { 1278 .section-header { 1279 margin-bottom: 0px; 1280 } 1281 } 1282 1283 @media screen and (min-width: 990px) { 1284 .header { 1285 padding-top: 16px; 1286 padding-bottom: 16px; 1287 } 1288 }</style>
1288<script src="//commonlands.com/cdn/shop/t/50/assets/cart-notification.js?v=133508293167896966491784481363" defer="defer"></script>
1288 1289 1290<sticky-header 1291 1292 data-sticky-type="always" 1293 1294 class="header-wrapper color-scheme-5b945e79-3d10-4fdc-bd02-8482ef769ae3 gradient header-wrapper--border-bottom" 1295><header class="header header--middle-left header--mobile-center page-width header--has-menu header--has-account"> 1296 1297<header-drawer data-breakpoint="tablet"> 1298 <details id="Details-menu-drawer-container" class="menu-drawer-container"> 1299 <summary 1300 class="header__icon header__icon--menu header__icon--summary link focus-inset" 1301 aria-label="Menu" 1302 > 1303 <span><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-hamburger" viewBox="0 0 18 16"><path fill="currentColor" d="M1 .5a.5.5 0 1 0 0 1h15.71a.5.5 0 0 0 0-1zM.5 8a.5.5 0 0 1 .5-.5h15.71a.5.5 0 0 1 0 1H1A.5.5 0 0 1 .5 8m0 7a.5.5 0 0 1 .5-.5h15.71a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5"/></svg> 1304<svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-close" viewBox="0 0 18 17"><path fill="currentColor" d="M.865 15.978a.5.5 0 0 0 .707.707l7.433-7.431 7.579 7.282a.501.501 0 0 0 .846-.37.5.5 0 0 0-.153-.351L9.712 8.546l7.417-7.416a.5.5 0 1 0-.707-.708L8.991 7.853 1.413.573a.5.5 0 1 0-.693.72l7.563 7.268z"/></svg> 1305</span> 1306 </summary> 1307 <div id="menu-drawer" class="gradient menu-drawer motion-reduce color-scheme-5b945e79-3d10-4fdc-bd02-8482ef769ae3"> 1308 <div class="menu-drawer__inner-container"> 1309 <div class="menu-drawer__navigation-container"> 1310 <nav class="menu-drawer__navigation"> 1311 <ul class="menu-drawer__menu has-submenu list-menu" role="list"><li><details id="Details-menu-drawer-menu-item-1"> 1312 <summary 1313 id="HeaderDrawer-find-a-lens" 1314 class="menu-drawer__menu-item list-menu__item link link--text focus-inset" 1315 > 1316 Find a Lens 1317 <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-arrow" viewB
1317ox="0 0 14 10"><path fill="currentColor" fill-rule="evenodd" d="M8.537.808a.5.5 0 0 1 .817-.162l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 1 1-.708-.708L11.793 5.5H1a.5.5 0 0 1 0-1h10.793L8.646 1.354a.5.5 0 0 1-.109-.546" clip-rule="evenodd"/></svg> 1318</span> 1319 <span class="svg-wrapper"><svg class="icon icon-caret" viewBox="0 0 10 6"><path fill="currentColor" fill-rule="evenodd" d="M9.354.646a.5.5 0 0 0-.708 0L5 4.293 1.354.646a.5.5 0 0 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0 0-.708" clip-rule="evenodd"/></svg> 1320</span> 1321 </summary> 1322 <div 1323 id="link-find-a-lens" 1324 class="menu-drawer__submenu has-submenu gradient motion-reduce" 1325 tabindex="-1" 1326 > 1327 <div class="menu-drawer__inner-submenu"> 1328 <button class="menu-drawer__close-button link link--text focus-inset" aria-expanded="true"> 1329 <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-arrow" viewB
1329ox="0 0 14 10"><path fill="currentColor" fill-rule="evenodd" d="M8.537.808a.5.5 0 0 1 .817-.162l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 1 1-.708-.708L11.793 5.5H1a.5.5 0 0 1 0-1h10.793L8.646 1.354a.5.5 0 0 1-.109-.546" clip-rule="evenodd"/></svg> 1330</span> 1331 Find a Lens 1332 </button> 1333 <ul class="menu-drawer__menu list-menu" role="list" tabindex="-1"><li><a 1334 id="HeaderDrawer-find-a-lens-search-and-buy-samples" 1335 href="/collections/m12-lenses" 1336 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 1337 1338 > 1339 Search and Buy Samples: 1340 </a></li><li><a 1341 id="HeaderDrawer-find-a-lens-m12-lenses" 1342 href="/collections/m12-lenses" 1343 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 1344 1345 > 1346 M12 Lenses 1347 </a></li><li><a 1348 id="HeaderDrawer-find-a-lens-c-mount-lenses" 1349 href="/collections/c-mount-lenses" 1350 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 1351 1352 > 1353 C-Mount Lenses 1354 </a></li><li><a 1355 id="HeaderDrawer-find-a-lens-m7-m8-lenses" 1356 href="/collections/m8-lenses-and-m7-lenses" 1357 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 1358 1359 > 1360 M7/M8 Lenses 1361 </a></li></ul> 1362 </div> 1363 </div> 1364 </details></li><li><details id="Details-menu-drawer-menu-item-2"> 1365 <summary 1366 id="HeaderDrawer-filters-and-mounts" 1367 class="menu-drawer__menu-item list-menu__item link link--text focus-inset" 1368 > 1369 Filters and Mounts 1370 <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-arrow" viewB
1370ox="0 0 14 10"><path fill="currentColor" fill-rule="evenodd" d="M8.537.808a.5.5 0 0 1 .817-.162l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 1 1-.708-.708L11.793 5.5H1a.5.5 0 0 1 0-1h10.793L8.646 1.354a.5.5 0 0 1-.109-.546" clip-rule="evenodd"/></svg> 1371</span> 1372 <span class="svg-wrapper"><svg class="icon icon-caret" viewBox="0 0 10 6"><path fill="currentColor" fill-rule="evenodd" d="M9.354.646a.5.5 0 0 0-.708 0L5 4.293 1.354.646a.5.5 0 0 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0 0-.708" clip-rule="evenodd"/></svg> 1373</span> 1374 </summary> 1375 <div 1376 id="link-filters-and-mounts" 1377 class="menu-drawer__submenu has-submenu gradient motion-reduce" 1378 tabindex="-1" 1379 > 1380 <div class="menu-drawer__inner-submenu"> 1381 <button class="menu-drawer__close-button link link--text focus-inset" aria-expanded="true"> 1382 <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-arrow" viewB
1382ox="0 0 14 10"><path fill="currentColor" fill-rule="evenodd" d="M8.537.808a.5.5 0 0 1 .817-.162l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 1 1-.708-.708L11.793 5.5H1a.5.5 0 0 1 0-1h10.793L8.646 1.354a.5.5 0 0 1-.109-.546" clip-rule="evenodd"/></svg> 1383</span> 1384 Filters and Mounts 1385 </button> 1386 <ul class="menu-drawer__menu list-menu" role="list" tabindex="-1"><li><a 1387 id="HeaderDrawer-filters-and-mounts-optical-filters-bandpass-dual-bandpass-ir-cut" 1388 href="/collections/optical-filters" 1389 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 1390 1391 > 1392 Optical Filters (Bandpass, Dual-Bandpass, IR Cut) 1393 </a></li><li><a 1394 id="HeaderDrawer-filters-and-mounts-mounts-adapters-switchers-vcms" 1395 href="/collections/board-lens-accessories" 1396 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 1397 1398 > 1399 Mounts, Adapters, Switchers, VCMs 1400 </a></li></ul> 1401 </div> 1402 </div> 1403 </details></li><li><details id="Details-menu-drawer-menu-item-3"> 1404 <summary 1405 id="HeaderDrawer-calculators" 1406 class="menu-drawer__menu-item list-menu__item link link--text focus-inset" 1407 > 1408 Calculators 1409 <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-arrow" viewB
1409ox="0 0 14 10"><path fill="currentColor" fill-rule="evenodd" d="M8.537.808a.5.5 0 0 1 .817-.162l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 1 1-.708-.708L11.793 5.5H1a.5.5 0 0 1 0-1h10.793L8.646 1.354a.5.5 0 0 1-.109-.546" clip-rule="evenodd"/></svg> 1410</span> 1411 <span class="svg-wrapper"><svg class="icon icon-caret" viewBox="0 0 10 6"><path fill="currentColor" fill-rule="evenodd" d="M9.354.646a.5.5 0 0 0-.708 0L5 4.293 1.354.646a.5.5 0 0 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0 0-.708" clip-rule="evenodd"/></svg> 1412</span> 1413 </summary> 1414 <div 1415 id="link-calculators" 1416 class="menu-drawer__submenu has-submenu gradient motion-reduce" 1417 tabindex="-1" 1418 > 1419 <div class="menu-drawer__inner-submenu"> 1420 <button class="menu-drawer__close-button link link--text focus-inset" aria-expanded="true"> 1421 <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-arrow" viewB
1421ox="0 0 14 10"><path fill="currentColor" fill-rule="evenodd" d="M8.537.808a.5.5 0 0 1 .817-.162l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 1 1-.708-.708L11.793 5.5H1a.5.5 0 0 1 0-1h10.793L8.646 1.354a.5.5 0 0 1-.109-.546" clip-rule="evenodd"/></svg> 1422</span> 1423 Calculators 1424 </button> 1425 <ul class="menu-drawer__menu list-menu" role="list" tabindex="-1"><li><a 1426 id="HeaderDrawer-calculators-field-of-view-calculator" 1427 href="/pages/camera-field-of-view-calculator" 1428 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 1429 1430 > 1431 Field of View Calculator 1432 </a></li><li><a 1433 id="HeaderDrawer-calculators-focal-length-calculator" 1434 href="/pages/efl-calculator" 1435 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 1436 1437 > 1438 Focal Length Calculator 1439 </a></li><li><a 1440 id="HeaderDrawer-calculators-depth-of-field-calculator" 1441 href="/pages/camera-depth-of-field-calculator" 1442 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 1443 1444 > 1445 Depth of Field Calculator 1446 </a></li><li><a 1447 id="HeaderDrawer-calculators-angle-of-view-calculator" 1448 href="/pages/camera-angle-of-view-calculator" 1449 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 1450 1451 > 1452 Angle of View Calculator 1453 </a></li><li><a 1454 id="HeaderDrawer-calculators-format-type-calculator" 1455 href="/blogs/technical/cmos-sensor-size" 1456 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 1457 1458 > 1459 Format Type Calculator 1460 </a></li></ul> 1461 </div> 1462 </div> 1463 </details></li><li><details id="Details-menu-drawer-menu-item-4"> 1464 <summary 1465 id="HeaderDrawer-services" 1466 class="menu-drawer__menu-item list-menu__item link link--text focus-inset menu-drawer__menu-item--active" 1467 > 1468 Services 1469 <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-arrow" viewB
1469ox="0 0 14 10"><path fill="currentColor" fill-rule="evenodd" d="M8.537.808a.5.5 0 0 1 .817-.162l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 1 1-.708-.708L11.793 5.5H1a.5.5 0 0 1 0-1h10.793L8.646 1.354a.5.5 0 0 1-.109-.546" clip-rule="evenodd"/></svg> 1470</span> 1471 <span class="svg-wrapper"><svg class="icon icon-caret" viewBox="0 0 10 6"><path fill="currentColor" fill-rule="evenodd" d="M9.354.646a.5.5 0 0 0-.708 0L5 4.293 1.354.646a.5.5 0 0 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0 0-.708" clip-rule="evenodd"/></svg> 1472</span> 1473 </summary> 1474 <div 1475 id="link-services" 1476 class="menu-drawer__submenu has-submenu gradient motion-reduce" 1477 tabindex="-1" 1478 > 1479 <div class="menu-drawer__inner-submenu"> 1480 <button class="menu-drawer__close-button link link--text focus-inset" aria-expanded="true"> 1481 <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-arrow" viewB
1481ox="0 0 14 10"><path fill="currentColor" fill-rule="evenodd" d="M8.537.808a.5.5 0 0 1 .817-.162l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 1 1-.708-.708L11.793 5.5H1a.5.5 0 0 1 0-1h10.793L8.646 1.354a.5.5 0 0 1-.109-.546" clip-rule="evenodd"/></svg> 1482</span> 1483 Services 1484 </button> 1485 <ul class="menu-drawer__menu list-menu" role="list" tabindex="-1"><li><a 1486 id="HeaderDrawer-services-camera-module-assembly" 1487 href="/products/camera-module-assembly" 1488 class="menu-drawer__menu-item link link--text list-menu__item focus-inset menu-drawer__menu-item--active" 1489 1490 aria-current="page" 1491 1492 > 1493 Camera Module Assembly 1494 </a></li><li><a 1495 id="HeaderDrawer-services-custom-lens-design" 1496 href="/pages/optical-design" 1497 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 1498 1499 > 1500 Custom Lens Design 1501 </a></li><li><a 1502 id="HeaderDrawer-services-trioptics-hr2-mtf-testing" 1503 href="/products/mtf-testing-trioptics-hr2" 1504 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 1505 1506 > 1507 Trioptics HR2 MTF Testing 1508 </a></li><li><a 1509 id="HeaderDrawer-services-product-reliability-testing" 1510 href="/collections/reliability-testing" 1511 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 1512 1513 > 1514 Product Reliability Testing 1515 </a></li></ul> 1516 </div> 1517 </div> 1518 </details></li><li><details id="Details-menu-drawer-menu-item-5"> 1519 <summary 1520 id="HeaderDrawer-about" 1521 class="menu-drawer__menu-item list-menu__item link link--text focus-inset" 1522 > 1523 About 1524 <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-arrow" viewB
1524ox="0 0 14 10"><path fill="currentColor" fill-rule="evenodd" d="M8.537.808a.5.5 0 0 1 .817-.162l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 1 1-.708-.708L11.793 5.5H1a.5.5 0 0 1 0-1h10.793L8.646 1.354a.5.5 0 0 1-.109-.546" clip-rule="evenodd"/></svg> 1525</span> 1526 <span class="svg-wrapper"><svg class="icon icon-caret" viewBox="0 0 10 6"><path fill="currentColor" fill-rule="evenodd" d="M9.354.646a.5.5 0 0 0-.708 0L5 4.293 1.354.646a.5.5 0 0 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0 0-.708" clip-rule="evenodd"/></svg> 1527</span> 1528 </summary> 1529 <div 1530 id="link-about" 1531 class="menu-drawer__submenu has-submenu gradient motion-reduce" 1532 tabindex="-1" 1533 > 1534 <div class="menu-drawer__inner-submenu"> 1535 <button class="menu-drawer__close-button link link--text focus-inset" aria-expanded="true"> 1536 <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-arrow" viewB
1536ox="0 0 14 10"><path fill="currentColor" fill-rule="evenodd" d="M8.537.808a.5.5 0 0 1 .817-.162l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 1 1-.708-.708L11.793 5.5H1a.5.5 0 0 1 0-1h10.793L8.646 1.354a.5.5 0 0 1-.109-.546" clip-rule="evenodd"/></svg> 1537</span> 1538 About 1539 </button> 1540 <ul class="menu-drawer__menu list-menu" role="list" tabindex="-1"><li><a 1541 id="HeaderDrawer-about-about-us" 1542 href="/pages/about-commonlands" 1543 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 1544 1545 > 1546 About Us 1547 </a></li><li><a 1548 id="HeaderDrawer-about-use-agentic-mcp" 1549 href="/pages/agentic-mcp-for-m12-lenses-and-optics" 1550 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 1551 1552 > 1553 Use Agentic MCP 1554 </a></li><li><a 1555 id="HeaderDrawer-about-tradeshows" 1556 href="/pages/tradeshows" 1557 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 1558 1559 > 1560 Tradeshows 1561 </a></li><li><a 1562 id="HeaderDrawer-about-technical-articles" 1563 href="/blogs/technical" 1564 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 1565 1566 > 1567 Technical Articles 1568 </a></li><li><a 1569 id="HeaderDrawer-about-image-sensor-list" 1570 href="/pages/image-sensors" 1571 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 1572 1573 > 1574 Image Sensor List 1575 </a></li><li><a 1576 id="HeaderDrawer-about-tariffs-and-the-impact" 1577 href="/pages/tariffs" 1578 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 1579 1580 > 1581 Tariffs and the Impact 1582 </a></li><li><a 1583 id="HeaderDrawer-about-faqs" 1584 href="/pages/faq" 1585 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 1586 1587 > 1588 FAQs 1589 </a></li><li><a 1590 id="HeaderDrawer-about-join-our-team" 1591 href="/pages/careers" 1592 class="menu-drawer__menu-item link link--text list-menu__item focus-inset" 1593 1594 > 1595 Join Our Team 1596 </a></li></ul> 1597 </div> 1598 </div> 1599 </details></li><li><a 1600 id="HeaderDrawer-contact-us" 1601 href="/pages/contact-us" 1602 class="menu-drawer__menu-item list-menu__item link link--text focus-inset" 1603 1604 > 1605 Contact Us 1606 </a></li></ul> 1607 </nav> 1608 <div class="menu-drawer__utility-links"><a 1609 href="https://commonlands.com/customer_authentication/redirect?locale=en®ion_country=US" 1610 class="menu-drawer__account link focus-inset h5 medium-hide large-up-hide" 1611 rel="nofollow" 1612 ><account-icon>
1612<span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-account" viewBox="0 0 18 19"><path fill="currentColor" fill-rule="evenodd" d="M6 4.5a3 3 0 1 1 6 0 3 3 0 0 1-6 0m3-4a4 4 0 1 0 0 8 4 4 0 0 0 0-8m5.58 12.15c1.12.82 1.83 2.24 1.91 4.85H1.51c.08-2.6.79-4.03 1.9-4.85C4.66 11.75 6.5 11.5 9 11.5s4.35.26 5.58 1.15M9 10.5c-2.5 0-4.65.24-6.17 1.35C1.27 12.98.5 14.93.5 18v.5h17V18c0-3.07-.77-5.02-2.33-6.15-1.52-1.1-3.67-1.35-6.17-1.35" clip-rule="evenodd"/></svg> 1613</span></account-icon>Log in</a> 1614 <ul class="list list-social list-unstyled" role="list"></ul> 1615 </div> 1616 </div> 1617 </div> 1618 </div> 1619 </details> 1620</header-drawer> 1621<a href="/" class="header__heading-link link link--text focus-inset"><div class="header__heading-logo-wrapper"> 1622 1623 <img src="//commonlands.com/cdn/shop/files/Commonlands_Camera_Logo_20220819_Horizontal_100px_height_420px_width.png?v=1724861426&width=600" alt="Commonlands Optics" srcset="//commonlands.com/cdn/shop/files/Commonlands_Camera_Logo_20220819_Horizontal_100px_height_420px_width.png?v=1724861426&width=210 210w, //commonlands.com/cdn/shop/files/Commonlands_Camera_Logo_20220819_Horizontal_100px_height_420px_width.png?v=1724861426&width=315 315w, //commonlands.com/cdn/shop/files/Commonlands_Camera_Logo_20220819_Horizontal_100px_height_420px_width.png?v=1724861426&width=420 420w" width="210" height="50.0" loading="eager" class="header__heading-logo motion-reduce" sizes="(max-width: 420px) 50vw, 210px"> 1624 </div></a> 1625 1626<nav class="header__inline-menu"> 1627 <ul class="list-menu list-menu--inline" role="list"><li><header-menu> 1628 <details id="Details-HeaderMenu-1"> 1629 <summary 1630 id="HeaderMenu-find-a-lens" 1631 class="header__menu-item list-menu__item link focus-inset" 1632 > 1633 <span 1634 >Find a Lens</span><svg class="icon icon-caret" viewBox="0 0 10 6"><path fill="currentColor" fill-rule="evenodd" d="M9.354.646a.5.5 0 0 0-.708 0L5 4.293 1.354.646a.5.5 0 0 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0 0-.708" clip-rule="evenodd"/></svg> 1635</summary> 1636 <ul 1637 id="HeaderMenu-MenuList-1" 1638 class="header__submenu list-menu list-menu--disclosure color-scheme-5b945e79-3d10-4fdc-bd02-8482ef769ae3 gradient caption-large motion-reduce global-settings-popup" 1639 role="list" 1640 tabindex="-1" 1641 ><li><a 1642 id="HeaderMenu-find-a-lens-search-and-buy-samples" 1643 href="/collections/m12-lenses" 1644 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 1645 1646 > 1647 Search and Buy Samples: 1648 </a></li><li><a 1649 id="HeaderMenu-find-a-lens-m12-lenses" 1650 href="/collections/m12-lenses" 1651 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 1652 1653 > 1654 M12 Lenses 1655 </a></li><li><a 1656 id="HeaderMenu-find-a-lens-c-mount-lenses" 1657 href="/collections/c-mount-lenses" 1658 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 1659 1660 > 1661 C-Mount Lenses 1662 </a></li><li><a 1663 id="HeaderMenu-find-a-lens-m7-m8-lenses" 1664 href="/collections/m8-lenses-and-m7-lenses" 1665 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 1666 1667 > 1668 M7/M8 Lenses 1669 </a></li></ul> 1670 </details> 1671 </header-menu></li><li><header-menu> 1672 <details id="Details-HeaderMenu-2"> 1673 <summary 1674 id="HeaderMenu-filters-and-mounts" 1675 class="header__menu-item list-menu__item link focus-inset" 1676 >
1677 <span 1678 >Filters and Mounts</span><svg class="icon icon-caret" viewBox="0 0 10 6"><path fill="currentColor" fill-rule="evenodd" d="M9.354.646a.5.5 0 0 0-.708 0L5 4.293 1.354.646a.5.5 0 0 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0 0-.708" clip-rule="evenodd"/></svg> 1679</summary> 1680 <ul 1681 id="HeaderMenu-MenuList-2" 1682 class="header__submenu list-menu list-menu--disclosure color-scheme-5b945e79-3d10-4fdc-bd02-8482ef769ae3 gradient caption-large motion-reduce global-settings-popup" 1683 role="list" 1684 tabindex="-1" 1685 ><li><a 1686 id="HeaderMenu-filters-and-mounts-optical-filters-bandpass-dual-bandpass-ir-cut" 1687 href="/collections/optical-filters" 1688 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 1689 1690 > 1691 Optical Filters (Bandpass, Dual-Bandpass, IR Cut) 1692 </a></li><li><a 1693 id="HeaderMenu-filters-and-mounts-mounts-adapters-switchers-vcms" 1694 href="/collections/board-lens-accessories" 1695 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 1696 1697 > 1698 Mounts, Adapters, Switchers, VCMs 1699 </a></li></ul> 1700 </details> 1701 </header-menu></li><li><header-menu> 1702 <details id="Details-HeaderMenu-3"> 1703 <summary 1704 id="HeaderMenu-calculators" 1705 class="header__menu-item list-menu__item link focus-inset" 1706 > 1707 <span 1708 >Calculators</span><svg class="icon icon-caret" viewBox="0 0 10 6"><path fill="currentColor" fill-rule="evenodd" d="M9.354.646a.5.5 0 0 0-.708 0L5 4.293 1.354.646a.5.5 0 0 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0 0-.708" clip-rule="evenodd"/></svg> 1709</summary> 1710 <ul 1711 id="HeaderMenu-MenuList-3" 1712 class="header__submenu list-menu list-menu--disclosure color-scheme-5b945e79-3d10-4fdc-bd02-8482ef769ae3 gradient caption-large motion-reduce global-settings-popup" 1713 role="list" 1714 tabindex="-1" 1715 ><li><a 1716 id="HeaderMenu-calculators-field-of-view-calculator" 1717 href="/pages/camera-field-of-view-calculator" 1718 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 1719 1720 > 1721 Field of View Calculator 1722 </a></li><li><a 1723 id="HeaderMenu-calculators-focal-length-calculator" 1724 href="/pages/efl-calculator" 1725 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 1726 1727 > 1728 Focal Length Calculator 1729 </a></li><li><a 1730 id="HeaderMenu-calculators-depth-of-field-calculator" 1731 href="/pages/camera-depth-of-field-calculator" 1732 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 1733 1734 > 1735 Depth of Field Calculator 1736 </a></li><li><a 1737 id="HeaderMenu-calculators-angle-of-view-calculator" 1738 href="/pages/camera-angle-of-view-calculator" 1739 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 1740 1741 > 1742 Angle of View Calculator 1743 </a></li><li><a 1744 id="HeaderMenu-calculators-format-type-calculator" 1745 href="/blogs/technical/cmos-sensor-size" 1746 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 1747 1748 > 1749 Format Type Calculator 1750 </a></li></ul> 1751 </details> 1752 </header-menu></li><li><header-menu> 1753 <details id="Details-HeaderMenu-4"> 1754 <summary 1755 id="HeaderMenu-services" 1756 class="header__menu-item list-menu__item link focus-inset" 1757 >
1758 <span 1759 class="header__active-menu-item" 1760 1761 >Services</span><svg class="icon icon-caret" viewBox="0 0 10 6"><path fill="currentColor" fill-rule="evenodd" d="M9.354.646a.5.5 0 0 0-.708 0L5 4.293 1.354.646a.5.5 0 0 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0 0-.708" clip-rule="evenodd"/></svg> 1762</summary> 1763 <ul 1764 id="HeaderMenu-MenuList-4" 1765 class="header__submenu list-menu list-menu--disclosure color-scheme-5b945e79-3d10-4fdc-bd02-8482ef769ae3 gradient caption-large motion-reduce global-settings-popup" 1766 role="list" 1767 tabindex="-1" 1768 ><li><a 1769 id="HeaderMenu-services-camera-module-assembly" 1770 href="/products/camera-module-assembly" 1771 class="header__menu-item list-menu__item link link--text focus-inset caption-large list-menu__item--active" 1772 1773 aria-current="page" 1774 1775 > 1776 Camera Module Assembly 1777 </a></li><li><a 1778 id="HeaderMenu-services-custom-lens-design" 1779 href="/pages/optical-design" 1780 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 1781 1782 > 1783 Custom Lens Design 1784 </a></li><li><a 1785 id="HeaderMenu-services-trioptics-hr2-mtf-testing" 1786 href="/products/mtf-testing-trioptics-hr2" 1787 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 1788 1789 > 1790 Trioptics HR2 MTF Testing 1791 </a></li><li><a 1792 id="HeaderMenu-services-product-reliability-testing" 1793 href="/collections/reliability-testing" 1794 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 1795 1796 > 1797 Product Reliability Testing 1798 </a></li></ul> 1799 </details> 1800 </header-menu></li><li><header-menu> 1801 <details id="Details-HeaderMenu-5"> 1802 <summary 1803 id="HeaderMenu-about" 1804 class="header__menu-item list-menu__item link focus-inset" 1805 > 1806 <span 1807 >About</span><svg class="icon icon-caret" viewBox="0 0 10 6"><path fill="currentColor" fill-rule="evenodd" d="M9.354.646a.5.5 0 0 0-.708 0L5 4.293 1.354.646a.5.5 0 0 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0 0-.708" clip-rule="evenodd"/></svg> 1808</summary> 1809 <ul 1810 id="HeaderMenu-MenuList-5" 1811 class="header__submenu list-menu list-menu--disclosure color-scheme-5b945e79-3d10-4fdc-bd02-8482ef769ae3 gradient caption-large motion-reduce global-settings-popup" 1812 role="list" 1813 tabindex="-1" 1814 ><li><a 1815 id="HeaderMenu-about-about-us" 1816 href="/pages/about-commonlands" 1817 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 1818 1819 > 1820 About Us 1821 </a></li><li><a 1822 id="HeaderMenu-about-use-agentic-mcp" 1823 href="/pages/agentic-mcp-for-m12-lenses-and-optics" 1824 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 1825 1826 > 1827 Use Agentic MCP 1828 </a></li><li><a 1829 id="HeaderMenu-about-tradeshows" 1830 href="/pages/tradeshows" 1831 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 1832 1833 > 1834 Tradeshows 1835 </a></li><li><a 1836 id="HeaderMenu-about-technical-articles" 1837 href="/blogs/technical" 1838 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 1839 1840 > 1841 Technical Articles 1842 </a></li><li><a 1843 id="HeaderMenu-about-image-sensor-list" 1844 href="/pages/image-sensors" 1845 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 1846 1847 > 1848 Image Sensor List 1849 </a></li><li><a 1850 id="HeaderMenu-about-tariffs-and-the-impact" 1851 href="/pages/tariffs" 1852 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 1853 1854 > 1855 Tariffs and the Impact 1856 </a></li><li><a 1857 id="HeaderMenu-about-faqs" 1858 href="/pages/faq" 1859 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 1860 1861 > 1862 FAQs 1863 </a></li><li><a 1864 id="HeaderMenu-about-join-our-team" 1865 href="/pages/careers" 1866 class="header__menu-item list-menu__item link link--text focus-inset caption-large" 1867 1868 > 1869 Join Our Team 1870 </a></li></ul> 1871 </details> 1872 </header-menu></li><li><a 1873 id="HeaderMenu-contact-us" 1874 href="/pages/contact-us" 1875 class="header__menu-item list-menu__item link link--text focus-inset" 1876 1877 >
1878 <span 1879 >Contact Us</span> 1880 </a></li></ul> 1881</nav> 1882 1883<div class="header__icons"> 1884 <div class="desktop-localization-wrapper"> 1885</div> 1886 1887 <form action="/search" method="get" role="search" class="search search-modal__form"> 1888 <div class="field"> 1889 <input class="search__input field__input" 1890 id="Search-In-Modal" 1891 type="search" 1892 name="q" 1893 value="" 1894 placeholder="Search"> 1895 <label class="field__label" for="Search-In-Modal"></label> 1896 <input type="hidden" name="options[prefix]" value="last"> 1897 <button class="search__button field__button" aria-label="search button"> 1898 <svg class="icon icon-search" aria-hidden="true" focusable="false" role="presentation"> 1899 <use href="#icon-search"> 1900 </svg> 1901 </button> 1902 </div></form><a 1903 href="https://commonlands.com/customer_authentication/redirect?locale=en®ion_country=US" 1904 class="header__icon header__icon--account link focus-inset small-hide" 1905 rel="nofollow" 1906 ><account-icon><span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-account" viewBox="0 0 18 19"><path fill="currentColor" fill-rule="evenodd" d="M6 4.5a3 3 0 1 1 6 0 3 3 0 0 1-6 0m3-4a4 4 0 1 0 0 8 4 4 0 0 0 0-8m5.58 12.15c1.12.82 1.83 2.24 1.91 4.85H1.51c.08-2.6.79-4.03 1.9-4.85C4.66 11.75 6.5 11.5 9 11.5s4.35.26 5.58 1.15M9 10.5c-2.5 0-4.65.24-6.17 1.35C1.27 12.98.5 14.93.5 18v.5h17V18c0-3.07-.77-5.02-2.33-6.15-1.52-1.1-3.67-1.35-6.17-1.35" clip-rule="evenodd"/></svg> 1907</span></account-icon><span class="visually-hidden">Log in</span> 1908 </a><a href="/cart" class="header__icon header__icon--cart link focus-inset" id="cart-icon-bubble"> 1909 1910 <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-cart-empty" viewBox="0 0 40 40"><path fill="currentColor" fill-rule="evenodd" d="M15.75 11.8h-3.16l-.77 11.6a5 5 0 0 0 4.99 5.34h7.38a5 5 0 0 0 4.99-5.33L28.4 11.8zm0 1h-2.22l-.71 10.67a4 4 0 0 0 3.99 4.27h7.38a4 4 0 0 0 4-4.27l-.72-10.67h-2.22v.63a4.75 4.75 0 1 1-9.5 0zm8.5 0h-7.5v.63a3.75 3.75 0 1 0 7.5 0z"/></svg> 1911</span> 1912 1913 <span class="visually-hidden">Cart</span></a> 1914 </div> 1915 </header> 1916</sticky-header> 1917 1918</div> 1919<!-- END sections: header-group --> 1920 1921 <main id="MainContent" class="content-for-layout focus-none" role="main" tabindex="-1"> 1922 <div id="shopify-section-template--20119089709174__camera-module-assembly" class="shopify-section"> 1923 1924<link href="//commonlands.com/cdn/shop/t/50/assets/camera-module-assembly.css?v=162731997387079912231784758081" rel="stylesheet" type="text/css" media="all" /> 1925
1926<script type="application/ld+json"> 1927{ 1928 "@context": "https://schema.org", 1929 "@graph": [ 1930 { 1931 "@type": "Service", 1932 "name": "Camera Module Assembly Services", 1933 "alternateName": ["MIPI Camera Module Assembly", "Custom Camera Assembly", "Cleanroom Camera Manufacturing"], 1934 "provider": { 1935 "@type": "Organization", 1936 "name": "Commonlands", 1937 "url": "https://commonlands.com", 1938 "address": { 1939 "@type": "PostalAddress", 1940 "addressLocality": "San Diego", 1941 "addressRegion": "CA", 1942 "addressCountry": "US" 1943 } 1944 }, 1945 "description": "Professional camera module assembly services in Class 1000 cleanroom. Custom MIPI CSI-2, DVP, and USB camera modules using Commonlands M12 lenses for machine vision, robotics, and industrial automation. Volume production from 100 to 100,000 units per year.", 1946 "areaServed": { 1947 "@type": "Place", 1948 "name": "Worldwide" 1949 }, 1950 "serviceType": [ 1951 "Camera Module Assembly", 1952 "MIPI Camera Module Manufacturing", 1953 "DVP Camera Assembly", 1954 "USB Camera Assembly", 1955 "Custom Camera Module Development" 1956 ], 1957 "hasOfferCatalog": { 1958 "@type": "OfferCatalog", 1959 "name": "Camera Assembly Services", 1960 "itemListElement": [ 1961 { 1962 "@type": "Offer", 1963 "name": "Consigned Camera Assembly", 1964 "description": "Manual cleanroom assembly for 100-100,000 units per year with customer-provided cameras and Commonlands M12 lenses" 1965 }, 1966 { 1967 "@type": "Offer", 1968 "name": "Custom MIPI Camera Modules", 1969 "description": "Custom MIPI CSI-2, DVP, and USB camera modules for volumes above 1,000 units per year. Automated focusing stations, each running 120 modules per hour, will be online for volume production by the end of 2026." 1970 } 1971 ] 1972 } 1973 }, 1974 { 1975 "@type": "FAQPage", 1976 "inLanguage": "en", 1977 "mainEntity": [ 1978 { 1979 "@type": "Question", 1980 "name": "What is the minimum order quantity for camera module assembly?", 1981 "acceptedAnswer": { 1982 "@type": "Answer", 1983 "text": "For consigned camera assembly using manual stations, we support quantities from 100 units with capacity up to 100,000 units per year. This range suits prototype validation through high-volume production. Custom MIPI and DVP camera module development requires minimum annual volumes of 1,000 pieces to justify NRE costs. All assemblies require use of Commonlands lenses." 1984 } 1985 }, 1986 { 1987 "@type": "Question", 1988 "name": "Do I need to use Commonlands lenses for assembly services?", 1989 "acceptedAnswer": { 1990 "@type": "Answer", 1991 "text": "Yes, our camera module assembly service is exclusively available for customers using Commonlands optical products including M12 lenses, C-mount lenses, and M8 lenses. This lets us verify lens performance against known specifications and keep quality control under one roof. Browse our extensive lens collection at commonlands.com/collections/m12-lenses to find the right optics for your application." 1992 } 1993 }, 1994 { 1995 "@type": "Question", 1996 "name": "What camera interfaces do you support for custom MIPI camera modules?", 1997 "acceptedAnswer": { 1998 "@type": "Answer", 1999 "text": "We support MIPI CSI-2 for embedded and mobile applications, DVP parallel interface for cost-sensitive designs, and USB for plug-and-play connectivity. Our engineering team can help select the optimal interface based on your bandwidth, latency, and integration requirements for machine vision and robotics applications." 2000 } 2001 }, 2002 { 2003 "@type": "Question", 2004 "name": "What cleanroom classification is used for camera module assembly?", 2005 "acceptedAnswer": { 2006 "@type": "Answer", 2007 "text": "Our camera modules are assembled in a Class 1000 cleanroom environment, maintaining fewer than 1,000 particles of 0.5 micron or larger per cubic foot. This prevents sensor contamination that causes dark spots and image artifacts. Operators wear full bunny suits, and all tools undergo ultrasonic cleaning between builds." 2008 } 2009 }, 2010 { 2011 "@type": "Question", 2012 "name": "Are your camera modules NDAA compliant?",
2013 "acceptedAnswer": { 2014 "@type": "Answer", 2015 "text": "Not by default. Standard camera module builds use globally sourced electronics, while lens focusing, assembly, and MTF testing take place in our San Diego cleanroom. If your program requires NDAA Section 889 compliance, talk to an applications engineer before ordering and we will scope a compliant bill of materials and build path." 2016 } 2017 }, 2018 { 2019 "@type": "Question", 2020 "name": "Can you focus camera modules at production volume?", 2021 "acceptedAnswer": { 2022 "@type": "Answer", 2023 "text": "Yes. Technicians focus each module on manual stations, scored live by our proprietary focus scoring software, and that line covers consigned builds up to 100,000 units per year. Automated camera module focusing stations, each running 120 modules per hour, will be online for volume production by the end of 2026. Send your sensor, lens, and annual volume, and we will tell you which line your build runs on." 2024 } 2025 }, 2026 { 2027 "@type": "Question", 2028 "name": "What testing is performed on assembled camera modules?", 2029 "acceptedAnswer": { 2030 "@type": "Answer", 2031 "text": "Every module undergoes optical inspection for particle contamination, adhesive coverage verification, and alignment checks between Commonlands lenses and sensors. Our proprietary focus scoring software provides quantitative sharpness metrics during assembly, supporting tight unit-to-unit consistency. Testing stations utilize relay lenses and customizable test charts matched to your application requirements. Optional services include MTF testing, thermal cycling (-40°C to +85°C), and vibration testing per customer specifications." 2032 } 2033 }, 2034 { 2035 "@type": "Question", 2036 "name": "How do you ensure unit-to-unit consistency across production runs?", 2037 "acceptedAnswer": { 2038 "@type": "Answer", 2039 "text": "We developed proprietary focus scoring software in-house specifically for camera module assembly. This software provides real-time quantitative sharpness metrics during the focusing process and supports VIS, 850nm, and 940nm wavelengths for both visible and NIR camera applications. Combined with statistical process control tracking, customizable test charts designed for your application, and relay lens test stations with controlled illumination, we maintain tight tolerances across production volumes from hundreds to tens of thousands of units." 2040 } 2041 } 2042 ] 2043 }, 2044 { 2045 "@type": "BreadcrumbList", 2046 "itemListElement": [ 2047 { 2048 "@type": "ListItem", 2049 "position": 1, 2050 "name": "Home", 2051 "item": "https://commonlands.com/" 2052 }, 2053 { 2054 "@type": "ListItem", 2055 "position": 2, 2056 "name": "Camera Module Assembly Services", 2057 "item": "https://commonlands.com/products/camera-module-assembly" 2058 } 2059 ] 2060 } 2061 ] 2062} 2063</script>
2063 2064 2065<div class="cma"><section class="cma-hero"> 2066 <div class="cma-container"> 2067 <div class="cma-hero-grid"> 2068 <div class="cma-hero-content"> 2069 <h1>Camera Module Assembly Services</h1> 2070 <p class="cma-tagline">Custom MIPI camera modules with lens focusing, assembly, and MTF testing. San Diego assembly options.</p> 2071 2072 <div class="cma-hero-features"> 2073 <div class="cma-feature-badge"> 2074 <span>Class 1000 Cleanroom</span> 2075 </div> 2076 <div class="cma-feature-badge"> 2077 <span>100-100K Units/Year</span> 2078 </div> 2079 <div class="cma-feature-badge"> 2080 <span>Custom MIPI Cameras</span> 2081 </div> 2082 <div class="cma-feature-badge"> 2083 <span>San Diego Assembly</span> 2084 </div> 2085 </div> 2086 2087 <div class="cma-hero-cta"> 2088 <a href="#quote" class="cma-btn cma-btn-primary">Request Assembly Quote</a> 2089 <a href="https://commonlands.com/collections/m12-lenses" class="cma-btn cma-btn-secondary">Browse M12 Lenses</a> 2090 </div> 2091 </div> 2092 2093 <div class="cma-hero-image"> 2094 <img src="https://commonlands.com/cdn/shop/files/CameraModuleAssemblyM12lenses.webp?v=1750195519&width=2048" 2095 alt="Camera module cleanroom assembly station for MIPI and USB cameras" 2096 width="2048" height="2048" 2097 fetchpriority="high" decoding="async"> 2098 </div> 2099 </div> 2100 </div> 2101 </section><section class="cma-section cma-section--white"> 2102 <div class="cma-container"> 2103 <div class="cma-section-header"> 2104 <h2>Camera Module Assembly Options</h2> 2105 <p class="cma-section-subtitle">Professional assembly services exclusively for Commonlands lens customers</p> 2106 </div> 2107 2108 <div class="cma-service-grid"> 2109 <div class="cma-service-card"> 2110 <div class="cma-service-header"> 2111 <div> 2112 <h3>Consigned Camera Assembly</h3> 2113 <p class="cma-service-volume">100 - 100,000 units/year</p> 2114 </div> 2115 </div> 2116 2117 <p class="cma-service-description"> 2118 Precision manual assembly for customer-provided sensors paired with Commonlands lenses. Our technicians 2119 perform lens focusing, adhesive dispensing, and flex cable attachment within controlled environments. 2120 Perfect for startups validating designs or companies needing reliable assembly without capital equipment 2121 investment. Volume production up to 100,000 units per year supported. 2122 </p> 2123 2124 <ul class="cma-specs-list"> 2125 <li> 2126 <span class="cma-spec-label">Cleanroom Class</span> 2127 <span class="cma-spec-value">1000</span> 2128 </li> 2129 <li> 2130 <span class="cma-spec-label">Lens Options</span> 2131 <span class="cma-spec-value"><a href="https://commonlands.com/collections/m12-lenses">M12</a>, <a href="https://commonlands.com/collections/c-mount-lenses">C-mount</a></span> 2132 </li> 2133 <li> 2134 <span class="cma-spec-label">Lead Time</span> 2135 <span class="cma-spec-value">5-10 days</span> 2136 </li> 2137 <li> 2138 <span class="cma-spec-label">Annual Capacity</span> 2139 <span class="cma-spec-value">Up to 100,000 pieces</span> 2140 </li> 2141 </ul> 2142 </div> 2143 2144 <div class="cma-service-card"> 2145 <div class="cma-service-header"> 2146 <div> 2147 <h3>Custom MIPI Camera Modules</h3> 2148 <p class="cma-service-volume">>1,000 units/year</p> 2149 </div> 2150 </div> 2151 2152 <p class="cma-service-description"> 2153 Custom MIPI CSI-2 camera module development featuring Commonlands optics with multiple interface options. We handle 2154 schematic design and PCB layout for MIPI CSI-2, DVP parallel, and USB interfaces. Complete 2155 integration with our <a href="https://commonlands.com/collections/m12-lenses">M12</a> or <a href="https://commonlands.com/collections/c-mount-lenses">C-mount lenses</a> matched to your sensor and application. 2156 Automated focusing stations, each running 120 modules per hour, will be online for volume production by the end of 2026. 2157 </p> 2158 2159 <ul class="cma-specs-list"> 2160 <li>
2161 <span class="cma-spec-label">Interface Support</span> 2162 <span class="cma-spec-value">MIPI CSI-2, DVP, USB</span> 2163 </li> 2164 <li> 2165 <span class="cma-spec-label">Automated Focusing</span> 2166 <span class="cma-spec-value">120 units/hr per station, end of 2026</span> 2167 </li> 2168 <li> 2169 <span class="cma-spec-label">Sample Lead-time</span> 2170 <span class="cma-spec-value">8 weeks</span> 2171 </li> 2172 <li> 2173 <span class="cma-spec-label">Lens Integration</span> 2174 <span class="cma-spec-value">Commonlands Lenses</span> 2175 </li> 2176 </ul> 2177 </div> 2178 </div> 2179 2180 <div class="cma-service-cta"> 2181 <a href="https://commonlands.com/collections/m12-lenses" class="cma-btn cma-btn-primary">Select M12 Lens for Your Project</a> 2182 </div> 2183 </div> 2184 </section><section class="cma-section cma-section--alt"> 2185 <div class="cma-container"> 2186 <div class="cma-section-header"> 2187 <h2>Proven Production Success</h2> 2188 <p class="cma-section-subtitle">Real-world high-volume camera module assembly for machine vision and robotics</p> 2189 </div> 2190 2191 <div class="cma-reference-content"> 2192 <div class="cma-reference-image"> 2193 <img src="https://cdn.shopify.com/s/files/1/0273/9273/7398/files/Commonlands_Camera_Module_IMX577_IMX477.webp?v=1756994451" 2194 alt="IMX577 MIPI camera module with CIL227 fisheye lens for robotics" 2195 width="1000" height="1000" loading="lazy" decoding="async"> 2196 </div> 2197 2198 <div class="cma-reference-details"> 2199 <h3>20,000 Unit IMX577 MIPI Camera Module Production</h3> 2200 <p> 2201 We successfully delivered 20,000 MIPI camera modules combining Sony IMX577 sensors with our 2202 <a href="https://commonlands.com/products/3mm-fisheye-m12-lens-cil227">CIL227 2.7mm fisheye M12 lens</a> 2203 for an autonomous navigation customer. This high-volume project demonstrates our capability to scale from 2204 prototype to production while maintaining consistent optical performance across the production run using our proprietary focus scoring software. 2205 </p> 2206 2207 <div class="cma-project-stats"> 2208 <div class="cma-stat-card"> 2209 <span class="cma-stat-value">20,000</span> 2210 <span class="cma-stat-label">Units Delivered</span> 2211 </div> 2212 <div class="cma-stat-card"> 2213 <span class="cma-stat-value">IMX577</span> 2214 <span class="cma-stat-label">12MP MIPI Sensor</span> 2215 </div> 2216 <div class="cma-stat-card"> 2217 <span class="cma-stat-value"><a href="https://commonlands.com/products/3mm-fisheye-m12-lens-cil227">CIL227</a></span> 2218 <span class="cma-stat-label">2.7mm Fisheye M12 Lens</span> 2219 </div> 2220 <div class="cma-stat-card"> 2221 <span class="cma-stat-value">186°</span> 2222 <span class="cma-stat-label">Diagonal Field of View on IMX577</span> 2223 </div> 2224 </div> 2225 2226 <p> 2227 This project showcased our ability to maintain sub-1% defect rates across large production runs while 2228 meeting aggressive delivery schedules. The combination of our precision-tested <a href="https://commonlands.com/products/3mm-fisheye-m12-lens-cil227">CIL227 fisheye M12 lens</a> with 2229 the high-resolution IMX577 MIPI sensor delivered exceptional wide-angle performance for robotics navigation. Browse our full selection of <a href="https://commonlands.com/collections/m12-lenses">M12 lenses for machine vision</a>. 2230 </p> 2231 </div> 2232 </div> 2233 </div> 2234 </section><section class="cma-section cma-section--green"> 2235 <div class="cma-container"> 2236 <div class="cma-lens-box"> 2237 <h2>Why Commonlands Lenses for Camera Modules?</h2> 2238 <p> 2239 Our camera module assembly service is exclusively available for customers using Commonlands optical products. This 2240 integrated approach lets us match lens image circle and chief ray angle to your sensor before assembly. Quality 2241 control runs under one roof: incoming lens inspection, lens-to-sensor focusing, and MTF verification, with 2242 single-source accountability for your machine vision system performance. 2243 </p> 2244 2245 <a href="https://commonlands.com/collections/m12-lenses" class="cma-lens-image"> 2246 <img src="https://cdn.shopify.com/s/files/1/0273/9273/7398/files/M12_Lenses_and_M8_Lenses.webp?v=1701464974" 2247 alt="Commonlands M12 and M8 lens collection for MIPI camera modules" 2248 width="1000" height="1000" loading="lazy" decoding="async"> 2249 </a> 2250 2251 <p> 2252 Choose from more than 70 <a href="https://commonlands.com/collections/m12-lenses">M12 lens</a> models, 2253 professional <a href="https://commonlands.com/collections/c-mount-lenses">C-mount lenses</a>, 2254 miniature <a href="https://commonlands.com/collections/m8-lenses-and-m7-lenses">M8 lenses</a>, 2255 or specialized <a href="https://commonlands.com/collections/relay-lenses">relay lenses</a> for inspection systems. 2256 Lenses used in assembly are MTF tested against their published specifications, so out-of-spec units are screened out before they reach your camera module. This quality 2257 assurance combined with cleanroom assembly delivers reliable c
2257amera modules for machine vision, robotics, and industrial automation applications. 2258 </p> 2259 <a href="https://commonlands.com/collections/m12-lenses" class="cma-btn cma-btn-primary">Browse Our M12 Lens Collection</a> 2260 </div> 2261 </div> 2262 </section><section class="cma-section cma-section--white"> 2263 <div class="cma-container"> 2264 <div class="cma-section-header"> 2265 <h2>How Does Camera Module Assembly Work?</h2> 2266 <p class="cma-section-subtitle">Our systematic approach to optical precision with Commonlands lenses</p> 2267 </div> 2268 2269 <div class="cma-process-steps"> 2270 <div class="cma-step-card"> 2271 <div class="cma-step-number">1</div> 2272 <h4 class="cma-step-title">Lens Selection</h4> 2273 <p class="cma-step-description">Choose from our <a href="https://commonlands.com/collections/m12-lenses">M12</a>, <a href="https://commonlands.com/collections/c-mount-lenses">C-mount</a>, or <a href="https://commonlands.com/collections/m8-lenses-and-m7-lenses">M8</a> lens collection matched to your sensor specifications and field of view requirements</p> 2274 </div> 2275 2276 <div class="cma-step-card"> 2277 <div class="cma-step-number">2</div> 2278 <h4 class="cma-step-title">Component Inspection</h4> 2279 <p class="cma-step-description">Incoming QC validates Commonlands lens MTF performance and sensor PCBA cleanliness and function</p> 2280 </div> 2281 2282 <div class="cma-step-card"> 2283 <div class="cma-step-number">3</div> 2284 <h4 class="cma-step-title">Precision Assembly</h4> 2285 <p class="cma-step-description">Technicians focus each lens on live video, scored by our proprietary focus scoring software for tight unit-to-unit consistency</p> 2286 </div> 2287 2288 <div class="cma-step-card"> 2289 <div class="cma-step-number">4</div> 2290 <h4 class="cma-step-title">Validation Testing</h4> 2291 <p class="cma-step-description">Image quality verification using customizable test charts and <a href="https://commonlands.com/collections/relay-lenses">relay lenses</a> screens each camera module against its specifications before shipment</p> 2292 </div> 2293 </div> 2294 </div> 2295 </section><section class="cma-section cma-section--alt" id="capabilities"> 2296 <div class="cma-container"> 2297 <div class="cma-section-header"> 2298 <h2>Camera Module Assembly Capabilities</h2> 2299 <p class="cma-section-subtitle">Comprehensive assembly services for embedded vision systems and machine vision applications</p> 2300 </div> 2301 2302 <div class="cma-capability-grid"> 2303 <div class="cma-capability-card"> 2304 <h4 class="cma-capability-title">Sensor Integration</h4> 2305 <ul class="cma-capability-list"> 2306 <li>Sony IMX, OmniVision, OnSemi sensors</li> 2307 <li>Rolling and global shutter support</li> 2308 <li>RGB Bayer and monochrome formats</li> 2309 <li>1/4" to 1" optical formats</li> 2310 <li><span><a href="https://commonlands.com/collections/m12-lenses">M12 lens</a> optimization for each sensor</span></li> 2311 </ul> 2312 </div> 2313 2314 <div class="cma-capability-card"> 2315 <h4 class="cma-capability-title">Mechanical Assembly</h4> 2316 <ul class="cma-capability-list"> 2317 <li><span><a href="https://commonlands.com/collections/m12-lenses">M12</a>, CS, and <a href="https://commonlands.com/collections/c-mount-lenses">C-mount</a> threading</span></li> 2318 <li>Precision manual alignment</li> 2319 <li>Automated focusing, 120 units/hr per station (end of 2026)</li> 2320 <li>Focus and back-focal adjustment</li> 2321 <li>IR filter installation</li> 2322 </ul> 2323 </div> 2324 2325 <div class="cma-capability-card"> 2326 <h4 class="cma-capability-title">Interface and Capacity</h4> 2327 <ul class="cma-capability-list"> 2328 <li>100 to 100,000 units per year</li> 2329 <li>MIPI CSI-2 implementation</li> 2330 <li>DVP parallel interface</li> 2331 <li>USB camera module support</li> 2332 <li>ESD protection implementation</li> 2333 </ul> 2334 </div> 2335 </div> 2336 2337 <p class="cma-capability-note"> 2338 We build modules around sensors spanning the current CMOS market, including the onsemi 2339 <a href="https://commonlands.com/pages/image-sensors/ar0234">AR0234</a> global-shutter sensor, the Sony 2340 <a href="https://commonlands.com/pages/image-sensors/imx415">IMX415</a>, 2341 <a href="https://commonlands.com/pages/image-sensors/imx462">IMX462</a>, and 2342 <a href="https://commonlands.com/pages/image-sensors/imx577">IMX577</a> rolling-shutter sensors, and the OmniVision OG05B1S global-shutter sensor and 2343 <a href="https://commonlands.com/pages/image-sensors/ov5640">OV5640</a>. See the full 2344 <a href="https://commonlands.com/pages/image-sensors">image sensor list</a> for specifications and Commonlands lens 2345 compatibility for the sensor in your design. 2346 </p> 2347 </div> 2348 </section><section class="cma-section cma-section--white"> 2349 <div class="cma-container"> 2350 <div class="cma-section-header"> 2351 <h2>
2351Proprietary Focus Scoring Software</h2> 2352 <p class="cma-section-subtitle">Internally developed testing technology with VIS, 850nm, and 940nm support for tight unit-to-unit consistency</p> 2353 </div> 2354 2355 <div class="cma-capability-grid"> 2356 <div class="cma-capability-card"> 2357 <h4 class="cma-capability-title">Focus Scoring Algorithm</h4> 2358 <ul class="cma-capability-list"> 2359 <li>Proprietary software developed in-house</li> 2360 <li>Real-time sharpness metrics during assembly</li> 2361 <li>VIS, 850nm, and 940nm wavelength support</li> 2362 <li>Automated pass/fail determination</li> 2363 <li>Statistical process control tracking</li> 2364 </ul> 2365 </div> 2366 2367 <div class="cma-capability-card"> 2368 <h4 class="cma-capability-title">Customizable Test Charts</h4> 2369 <ul class="cma-capability-list"> 2370 <li>Application-specific chart designs</li> 2371 <li>Slanted-edge MTF targets</li> 2372 <li>Resolution and distortion patterns</li> 2373 <li>Field curvature characterization</li> 2374 <li>Customer-specified test criteria</li> 2375 </ul> 2376 </div> 2377 2378 <div class="cma-capability-card"> 2379 <h4 class="cma-capability-title"><a href="https://commonlands.com/collections/relay-lenses">Relay Lens</a> Test Stations</h4> 2380 <ul class="cma-capability-list"> 2381 <li>Infinity-conjugate optical setups</li> 2382 <li>Consistent illumination control</li> 2383 <li>Multi-field position testing</li> 2384 <li>Repeatable measurement conditions</li> 2385 <li>Traceable calibration standards</li> 2386 </ul> 2387 </div> 2388 </div> 2389 </div> 2390 </section><section class="cma-section cma-section--alt"> 2391 <div class="cma-container"> 2392 <div class="cma-section-header"> 2393 <h2>Camera Module Assembly FAQs</h2> 2394 <p class="cma-section-subtitle">Common questions about MIPI camera modules and assembly services</p> 2395 </div> 2396 2397 <div class="cma-faq-list"> 2398 <details class="cma-faq-item"> 2399 <summary>What is the minimum order quantity for camera module assembly?</summary> 2400 <div class="cma-faq-answer"> 2401 For consigned camera assembly using manual stations, we support quantities from 100 units with capacity up 2402 to 100,000 units per year. This range suits prototype validation through high-volume production. Custom MIPI 2403 and DVP camera module development requires minimum annual volumes of 1,000 pieces to justify 2404 NRE costs. All assemblies require use of Commonlands lenses. 2405 </div> 2406 </details> 2407 2408 <details class="cma-faq-item"> 2409 <summary>Do I need to use Commonlands lenses for assembly services?</summary> 2410 <div class="cma-faq-answer"> 2411 Yes, our camera module assembly service is exclusively available for customers using Commonlands optical 2412 products including <a href="https://commonlands.com/collections/m12-lenses">M12 lenses</a>, <a href="https://commonlands.com/collections/c-mount-lenses">C-mount lenses</a>, and <a href="https://commonlands.com/collections/m8-lenses-and-m7-lenses">M8 lenses</a>. This lets us verify lens performance against 2413 known specifications and keep quality control under one roof. Browse our extensive lens collection at 2414 <a href="https://commonlands.com/collections/m12-lenses">commonlands.com/collections/m12-lenses</a> to find the right optics for your application. 2415 </div> 2416 </details> 2417 2418 <details class="cma-faq-item"> 2419 <summary>What camera interfaces do you support for custom MIPI camera modules?</summary> 2420 <div class="cma-faq-answer"> 2421 We support MIPI CSI-2 for embedded and mobile applications, DVP parallel 2422 interface for cost-sensitive designs, and USB for plug-and-play connectivity. Our engineering team can help select the optimal interface based on your bandwidth, 2423 latency, and integration requirements for machine vision and robotics applications. 2424 </div> 2425 </details> 2426
2427 <details class="cma-faq-item"> 2428 <summary>What cleanroom classification is used for camera module assembly?</summary> 2429 <div class="cma-faq-answer"> 2430 Our camera modules are assembled in a Class 1000 cleanroom environment, maintaining fewer than 1,000 2431 particles of 0.5 micron or larger per cubic foot. This prevents sensor contamination that causes dark spots and 2432 image artifacts. Operators wear full bunny suits, and all tools undergo ultrasonic cleaning between builds. 2433 </div> 2434 </details> 2435 2436 <details class="cma-faq-item"> 2437 <summary>Are your camera modules NDAA compliant?</summary> 2438 <div class="cma-faq-answer"> 2439 Not by default. Standard camera module builds use globally sourced electronics, while lens focusing, 2440 assembly, and MTF testing take place in our San Diego cleanroom. If your program requires NDAA 2441 Section 889 compliance, <a href="https://commonlands.com/pages/contact-us">talk to an applications 2442 engineer</a> before ordering and we will scope a compliant bill of materials and build path. 2443 </div> 2444 </details> 2445 2446 <details class="cma-faq-item"> 2447 <summary>Can you focus camera modules at production volume?</summary> 2448 <div class="cma-faq-answer"> 2449 Yes. Technicians focus each module on manual stations, scored live by our proprietary focus scoring software, and 2450 that line covers consigned builds up to 100,000 units per year. Automated camera module focusing stations, each 2451 running 120 modules per hour, will be online for volume production by the end of 2026. Send your sensor, lens, and annual 2452 volume, and we will tell you which line your build runs on. 2453 </div> 2454 </details> 2455 2456 <details class="cma-faq-item"> 2457 <summary>What testing is performed on assembled camera modules?</summary> 2458 <div class="cma-faq-answer"> 2459 Every module undergoes optical inspection for particle contamination, adhesive coverage verification, and 2460 alignment checks between <a href="https://commonlands.com/collections/m12-lenses">Commonlands lenses</a> and sensors. Our proprietary focus scoring software provides quantitative sharpness metrics during assembly, supporting tight unit-to-unit consistency. Testing stations utilize <a href="https://commonlands.com/collections/relay-lenses">relay lenses</a> and customizable test charts matched to your application requirements. Optional services include MTF testing, thermal cycling (-40°C to +85°C), and vibration testing per customer specifications. 2461 </div> 2462 </details> 2463 2464 <details class="cma-faq-item"> 2465 <summary>How do you ensure unit-to-unit consistency across production runs?</summary> 2466 <div class="cma-faq-answer"> 2467 We developed proprietary focus scoring software in-house specifically for camera module assembly. This software provides real-time quantitative sharpness metrics during the focusing process and supports VIS, 850nm, and 940nm wavelengths for both visible and NIR camera applications. Combined with statistical process control tracking, customizable test charts designed for your application, and <a href="https://commonlands.com/collections/relay-lenses">relay lens</a> test stations with controlled illumination, we maintain tight tolerances across production volumes from hundreds to tens of thousands of units. 2468 </div> 2469 </details> 2470 </div> 2471 </div> 2472 </section><section class="cma-cta" id="quote"> 2473 <div class="cma-container"> 2474 <h2>Ready to Start Your Custom Camera Module Project?</h2> 2475 <p class="cma-cta-subtitle">Combine our M12 lenses with professional cleanroom assembly for custom MIPI, DVP, and USB camera modules</p> 2476 2477 <div class="cma-cta-buttons"> 2478 <a href="https://commonlands.com/pages/contact-us" class="cma-btn cma-btn-primary">Get Assembly Quote</a> 2479 <a href="https://commonlands.com/collections/m12-lenses" class="cma-btn cma-btn-secondary">Browse M12 Lenses</a> 2480 </div> 2481 </div> 2482 </section><section class="cma-contact"> 2483 <div class="cma-container"> 2484 <div class="cma-form-container"> 2485 <h2>Contact Us</h2> 2486 <p>Connect with our US-based engineering team</p> 2487 <div id="hubspot-form-container"></div> 2488 </div> 2489 </div> 2490 </section> 2491
2491<script charset="utf-8" type="text/javascript" src="//js.hsforms.net/forms/embed/v2.js" defer></script>
2491 2492
2492<script defer> 2493 window.addEventListener('load', function() { 2494 if(window.hbspt) { 2495 hbspt.forms.create({ 2496 region: "na1", 2497 portalId: "8610188", 2498 formId: "4579a068-6104-486c-a50d-013cf52f1c78", 2499 target: "#hubspot-form-container" 2500 }); 2501 } 2502 }); 2503 </script>
2503 2504 2505</div> 2506 2507 2508</div> 2509 </main> 2510 2511 <!-- BEGIN sections: footer-group --> 2512<div id="shopify-section-sections--20119088562294__footer" class="shopify-section shopify-section-group-footer-group"> 2513<link href="//commonlands.com/cdn/shop/t/50/assets/section-footer.css?v=116830518411336652941784481375" rel="stylesheet" type="text/css" media="all" /> 2514<link href="//commonlands.com/cdn/shop/t/50/assets/component-newsletter.css?v=4727253280200485261784481362" rel="stylesheet" type="text/css" media="all" /> 2515<link href="//commonlands.com/cdn/shop/t/50/assets/component-list-menu.css?v=151968516119678728991784481359" rel="stylesheet" type="text/css" media="all" /> 2516<link href="//commonlands.com/cdn/shop/t/50/assets/component-list-payment.css?v=69253961410771838501784481359" rel="stylesheet" type="text/css" media="all" /> 2517<link href="//commonlands.com/cdn/shop/t/50/assets/component-list-social.css?v=35792976012981934991784481360" rel="stylesheet" type="text/css" media="all" /> 2518<style data-shopify>.footer { 2519 margin-top: 0px; 2520 } 2521 2522 .section-sections--20119088562294__footer-padding { 2523 padding-top: 12px; 2524 padding-bottom: 12px; 2525 } 2526 2527 @media screen and (min-width: 750px) { 2528 .footer { 2529 margin-top: 0px; 2530 } 2531 2532 .section-sections--20119088562294__footer-padding { 2533 padding-top: 16px; 2534 padding-bottom: 16px; 2535 } 2536 }</style><footer class="footer color-scheme-1 gradient section-sections--20119088562294__footer-padding"><div class="footer__content-top page-width"><div 2537 class="footer__blocks-wrapper grid grid--1-col grid--2-col grid--4-col-tablet " 2538 2539 ><div 2540 class="footer-block grid__item footer-block--menu" 2541 2542 2543 ><h2 class="footer-block__heading inline-richtext">All specifications, online details, and drawings are subject to change without notice.</h2><ul class="footer-block__details-content list-unstyled"><li> 2544 <a 2545 href="/" 2546 class="link link--text list-menu__item list-menu__item--link" 2547 > 2548 Home 2549 </a> 2550 </li><li> 2551 <a 2552 href="/apps/tracking" 2553 class="link link--text list-menu__item list-menu__item--link" 2554 > 2555 Track Order 2556 </a> 2557 </li><li> 2558 <a 2559 href="/pages/agentic-mcp-for-m12-lenses-and-optics" 2560 class="link link--text list-menu__item list-menu__item--link" 2561 > 2562 Agent MCP 2563 </a> 2564 </li><li> 2565 <a 2566 href="https://docsend.com/view/xcspidx48npzihkd" 2567 class="link link--text list-menu__item list-menu__item--link" 2568 > 2569 ISO9001 Certificate 2570 </a> 2571 </li><li> 2572 <a 2573 href="/pages/tariffs" 2574 class="link link--text list-menu__item list-menu__item--link" 2575 > 2576 Tariffs 2577 </a> 2578 </li><li> 2579 <a 2580 href="/policies/privacy-policy" 2581 class="link link--text list-menu__item list-menu__item--link" 2582 > 2583 Privacy 2584 </a> 2585 </li><li> 2586 <a 2587 href="/policies/terms-of-service" 2588 class="link link--text list-menu__item list-menu__item--link" 2589 > 2590 Terms of Service 2591 </a> 2592 </li><li> 2593 <a 2594 href="/policies/shipping-policy" 2595 class="link link--text list-menu__item list-menu__item--link" 2596 > 2597 Shipping Terms 2598 </a> 2599 </li><li> 2600 <a 2601 href="/policies/refund-policy" 2602 class="link link--text list-menu__item list-menu__item--link" 2603 > 2604 Return Policy 2605 </a> 2606 </li><li> 2607 <a 2608 href="https://commonlands.com/sitemap.xml" 2609 class="link link--text list-menu__item list-menu__item--link" 2610 > 2611 Sitemap 2612 </a> 2613 </li><li> 2614 <a 2615 href="/pages/withdraw-contract" 2616 class="link link--text list-menu__item list-menu__item--link" 2617 > 2618 Withdraw contract 2619 </a> 2620 </li></ul></div></div><div 2621 class="footer-block--newsletter" 2622 2623 ></div> 2624 </div><div
2625 class="footer__content-bottom" 2626 2627 > 2628 <div class="footer__content-bottom-wrapper page-width"> 2629 <div class="footer__column footer__localization isolate"></div> 2630 <div class="footer__column footer__column--info"><small class="copyright__content">© 2026 Commonlands LLC</small> 2631 </div> 2632 </div> 2633 2634 </div> 2635</footer> 2636 2637 2638</div> 2639<!-- END sections: footer-group --> 2640 2641 <ul hidden> 2642 <li id="a11y-refresh-page-message">Choosing a selection results in a full page refresh.</li> 2643 <li id="a11y-new-window-message">Opens in a new window.</li> 2644 </ul> 2645 2646
2646<script> 2647 window.shopUrl = 'https://commonlands.com'; 2648 window.routes = { 2649 cart_add_url: '/cart/add', 2650 cart_change_url: '/cart/change', 2651 cart_update_url: '/cart/update', 2652 cart_url: '/cart', 2653 predictive_search_url: '/search/suggest', 2654 }; 2655 2656 window.cartStrings = { 2657 error: `There was an error while updating your cart. Please try again.`, 2658 quantityError: `You can only add [quantity] of this item to your cart.`, 2659 }; 2660 2661 window.variantStrings = { 2662 addToCart: `Add to cart`, 2663 soldOut: `Sold out`, 2664 unavailable: `Unavailable`, 2665 unavailable_with_option: `[value] - Unavailable`, 2666 }; 2667 2668 window.quickOrderListStrings = { 2669 itemsAdded: `[quantity] items added`, 2670 itemAdded: `[quantity] item added`, 2671 itemsRemoved: `[quantity] items removed`, 2672 itemRemoved: `[quantity] item removed`, 2673 viewCart: `View cart`, 2674 each: `[money]/ea`, 2675 min_error: `This item has a minimum of [min]`, 2676 max_error: `This item has a maximum of [max]`, 2677 step_error: `You can only add this item in increments of [step]`, 2678 }; 2679 2680 window.accessibilityStrings = { 2681 imageAvailable: `Image [index] is now available in gallery view`, 2682 shareSuccess: `Link copied to clipboard`, 2683 pauseSlideshow: `Pause slideshow`, 2684 playSlideshow: `Play slideshow`, 2685 recipientFormExpanded: `Gift card recipient form expanded`, 2686 recipientFormCollapsed: `Gift card recipient form collapsed`, 2687 countrySelectorSearchCount: `[count] countries/regions found`, 2688 }; 2689 </script>
2689<script src="//commonlands.com/cdn/shop/t/50/assets/cart-drawer.js?v=169981311261118214701784481363" defer="defer"></script>
2689<div id="shopify-block-AWUJZM1huRjREckdHZ__16256948136948485038" class="shopify-block shopify-app-block"><link href="//cdn.shopify.com/extensions/01a0f72c-9d3f-7540-a6eb-956be5e1c506/upcharge-fees-385/assets/mws_fees_bundle.css" rel="stylesheet" type="text/css" media="all" /> 2690 2691 2692 2693
2694<script type="module" defer="defer" src="https://cdn.shopify.com/extensions/01a0f72c-9d3f-7540-a6eb-956be5e1c506/upcharge-fees-385/assets/mws_fees_bundle.js"></script>
2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705
2706<script type='application/json' id='mwFeesCart'> 2707 2708 2709 2710 { 2711 "attributes": {}, 2712 "collections": 2713 { 2714 2715 } 2716, 2717 "item_count": 0, 2718 "items_subtotal_price": 0, 2719 "items": [], 2720 "tags": 2721 { 2722 2723 } 2724, 2725 "total_discount": 0, 2726 "total_price": 0, 2727 "total_weight": 0.0, 2728 "original_total_price": 0 2729 } 2730 2731</script>
2731 2732
2733<script type='application/json' id='mwFeesConfigData'> 2734 {"cache_hash":1787316559,"shop_primary_locale":null,"settings":{"calendar_format":"m\/d\/Y","force_reload_page":false,"never_reload_cart_page":false,"combined_hidden_fees":false,"combined_hidden_fees_title":"Extra charges","custom_money_format":"","translations":{"text_fee_property_name":"Message","date_fee_property_name":"Date","apply_button_label":"Apply","none_option_label":"-- Please select --","none_option_label_radio":"None","fee_required_message":"This fee is required","value_blank_message":"Value can't be blank","cta_fee_price_property_name":"Fee","cta_product_price_property_name":"Price","checkout_warning_message":"The following required fees have been added to your order.","checkout_warning_continue":"Continue","checkout_warning_return":"Decline \u0026 return","hidden_fee_notice_message":"","hidden_fee_notice_button_label":"OK","hidden_fee_notice_description":"The mandated fee has been applied to your order and is already included in the total.","i18n_fee_property_title":"Fee for"},"selectors":{"cart_line_item":"","cart_line_item_filter":"","cart_line_item_qty":"","cart_subtotal":".docapp-cart-item.docapp-cart-subtotal","cart_count":"","checkout_btn":"","hidden_elements":""},"styling":{"enable_custom_css":true,"custom_css":" .fast-ac-item:has(a[href*=\"fee\"]) {\n display: none; \n}"},"wrapper_cart_cta":{"base_title":"Additional fees","meta":{"product_id":"7708595552374","variant_id":"42132441825398","handle":"additional-fees-1"}},"store_front_token":"2cd5b96b9afce9152d182d009703b26c","feature_toggles":{"use_nested_cart_line":false,"hide_fee_for_prop":false,"is_default_enabled":true,"progressive_fees_enabled":false,"percent_base_enabled":false},"hide_fees_name_in_warning_message":false},"fees":[{"product_id":7708595454070,"product_handle":"trump-tariff-adjustment","type":"CART","input_type":"HIDDEN","title":"Price increase for tariff offset","condition_type":"ANY","conditions":[],"options":[{"title":"10%","price_type":"PERCENT","price":10,"step_percent_value":1,"sort_order":1,"variant_id":42132441694326,"is_default":false,"progressive":null,"taxable":null,"requires_shipping":true,"sku":null}],"geo_restriction":["US_ALL"],"geo_is_reversed":false,"is_required":true,"is_onetime":false,"property_title":"Fee for","description":"","clone_percent_fee":true,"api_type":"MIXED_CTA_AJAX","is_checkout":false,"is_pos":false,"limits":null,"percent_base":"FULL_PRICE"}],"deactivated_clones":[],"i18n_labels":{},"i18n_fees":{}} 2735</script>
2735 2736
2737<script id='mwFeesConfig'> 2738 2739 2740 function mwsFeesNextInit() { 2741 let config = JSON.parse(document.getElementById('mwFeesConfigData')?.textContent || 'null'); 2742 config = config || { 2743 "settings": {}, 2744 "fees": [], 2745 "cache_hash": 123456789 2746 }; 2747 2748 if (config.settings.styling && config.settings.styling.enable_custom_css && config.settings.styling.custom_css.length) { 2749 const styleEl = document.createElement('style'); 2750 2751 styleEl.innerHTML = config.settings.styling.custom_css; 2752 document.head.appendChild(styleEl); 2753 } 2754 2755 window.mwFeesConfig = { 2756 ... config, 2757 cart: 2758 { 2759 "attributes": {}, 2760 "collections": 2761 { 2762 2763 } 2764, 2765 "item_count": 0, 2766 "items_subtotal_price": 0, 2767 "items": [], 2768 "tags": 2769 { 2770 2771 } 2772, 2773 "total_discount": 0, 2774 "total_price": 0, 2775 "total_weight": 0.0, 2776 "original_total_price": 0 2777 } 2778 , 2779 customer_tags: 2780 [ 2781 2782 ] 2783, 2784 current_product: { 2785 id: 7762516574326, 2786 title: "Camera Module Assembly Services", 2787 handle: "camera-module-assembly", 2788 product_type: "Non Stock", 2789 tags: [], 2790 vendor: "Commonlands", 2791 collections: 2792 [ 2793 2794 2795 2796 ] 2797, 2798 selected_variant: { 2799 id: 42314501161078, 2800 title: "Default Title", 2801 price: 0, 2802 sku: "MODULEFOCUS", 2803 grams: null, 2804 available: true 2805 } 2806 }, 2807 shop: { 2808 domain: "commonlands.com", 2809 permanent_domain: "commonlands-camera-components.myshopify.com" 2810 }, 2811 template_name: "product", 2812 money_format: "${{amount}}", 2813 shop_currency: "USD", 2814 current_money_format: "$0.00 USD", 2815 market_handle: "us", 2816 current_locale: "en", 2817 default_locale: "en", 2818 default_locale_root_url: "\/" 2819 } 2820 } 2821 2822 mwsFeesNextInit(); 2823</script>
2823 2824 2825 2826</div>
2826<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
2826 2827</body> 2828</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.