← Commit history

Add characterization page for LQM18JNR10J00D

AravK ·11b3534ce5 ·3mo ago ·parent b28147c
2 files changed +1055
LQM18JNR10J00D.htmladded+1041
@@ -0,0 +1,1041 @@+<!DOCTYPE html>+<html lang="en">+<head>+<meta charset="UTF-8">+<meta name="viewport" content="width=device-width, initial-scale=1.0">+<title>LQM18JNR10J00D — Component Characterization</title>+<style>+  @font-face { font-family: 'Familjen Grotesk'; src: url('https://adom.inc/fonts/familjen-grotesk/familjen-grotesk-latin-700-normal.woff2') format('woff2'); font-weight: 700; }+  @font-face { font-family: 'Familjen Grotesk'; src: url('https://adom.inc/fonts/familjen-grotesk/familjen-grotesk-latin-500-normal.woff2') format('woff2'); font-weight: 500; }+  @font-face { font-family: 'Satoshi'; src: url('https://adom.inc/fonts/satoshi/satoshi-400-normal.woff2') format('woff2'); font-weight: 400; }+  @font-face { font-family: 'Satoshi'; src: url('https://adom.inc/fonts/satoshi/satoshi-500-normal.woff2') format('woff2'); font-weight: 500; }+  @font-face { font-family: 'JetBrains Mono'; src: url('https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx3cwhsk.woff2') format('woff2'); font-weight: 400; }++  :root {+    --bg: #0d1117; --surface: #161b22; --elevated: #1c2128; --border: #30363d; --border-muted: #21262d;+    --text: #e6edf3; --text-muted: #8b949e; --text-dim: #484f58;+    --accent: #00b8b0; --accent-bright: #00e6dc; --accent-dim: rgba(0,184,176,0.12); --accent-border: rgba(0,184,176,0.25);+    --green: #3fb950; --orange: #d29922; --red: #f85149; --purple: #8C6BF7; --blue: #58a6ff;+  }+  * { margin: 0; padding: 0; box-sizing: border-box; }+  body { font-family: 'Satoshi', sans-serif; background: var(--bg); color: var(--text); font-size: 13px; line-height: 1.6; overflow-y: auto; }+  h1,h2,h3 { font-family: 'Familjen Grotesk', sans-serif; font-weight: 700; }+  code { font-family: 'JetBrains Mono', monospace; font-size: 12px; }+  a { color: var(--accent); text-decoration: none; }+  a:hover { color: var(--accent-bright); text-decoration: underline; }++  .header { background: var(--surface); border-bottom: 1px solid var(--border-muted); padding: 20px 24px; }+  .header-top { display: flex; align-items: center; gap: 12px; margin-bottom: 4px; }+  .header .brand { color: var(--accent); font-family: 'Familjen Grotesk', sans-serif; font-size: 12px; font-weight: 600; }+  .header .vsep { width: 1px; height: 16px; background: var(--border); }+  .header .crumb { color: var(--text-dim); font-size: 12px; }+  .header h1 { font-size: 22px; margin-bottom: 2px; }+  .header h1 .val { color: var(--accent); }+  .header .subtitle { color: var(--text-muted); font-size: 13px; }+  .header .tags { display: flex; gap: 6px; margin-top: 10px; flex-wrap: wrap; }+  .tag { display: inline-flex; align-items: center; gap: 4px; padding: 3px 10px; border-radius: 12px; font-size: 11px; font-weight: 500; }+  .tag.pkg { background: rgba(0,184,176,0.12); color: var(--accent); }+  .tag.mfr { background: rgba(88,166,255,0.12); color: var(--blue); }+  .tag.series { background: rgba(140,107,247,0.12); color: var(--purple); }+  .tag.rohs { background: rgba(63,185,80,0.12); color: var(--green); }+  .tag.app { background: rgba(210,153,34,0.12); color: var(--orange); }++  .container { max-width: 1100px; margin: 0 auto; padding: 24px; }+  .grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }+  .grid-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; }+  @media (max-width: 800px) { .grid-2, .grid-3 { grid-template-columns: 1fr; } }++  .section { margin-bottom: 28px; }+  .section-title { font-size: 14px; color: var(--text); margin-bottom: 12px; padding-bottom: 6px; border-bottom: 1px solid var(--border-muted); display: flex; align-items: center; gap: 8px; }+  .section-title .icon { color: var(--accent); font-size: 16px; }++  .card { background: var(--surface); border: 1px solid var(--border-muted); border-radius: 8px; padding: 16px; }+  .card:hover { border-color: var(--accent-border); }++  /* Key spec cards */+  .spec-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; }+  .spec-card { background: var(--surface); border: 1px solid var(--border-muted); border-radius: 8px; padding: 12px 14px; text-align: center; }+  .spec-card .sc-label { font-size: 10px; text-transform: uppercase; letter-spacing: 0.5px; color: var(--text-dim); margin-bottom: 4px; }+  .spec-card .sc-value { font-size: 22px; font-weight: 700; font-family: 'Familjen Grotesk', sans-serif; }+  .spec-card .sc-detail { font-size: 11px; color: var(--text-muted); margin-top: 2px; }+  .spec-card.highlight { border-color: var(--accent-border); background: linear-gradient(180deg, rgba(0,184,176,0.06), var(--surface)); }+  .spec-card.highlight .sc-value { color: var(--accent); }++  /* Detail table */+  .detail-table { width: 100%; border-collapse: collapse; }+  .detail-table tr { border-bottom: 1px solid var(--border-muted); }+  .detail-table tr:last-child { border-bottom: none; }+  .detail-table td { padding: 8px 0; }+  .detail-table td:first-child { color: var(--text-muted); font-size: 12px; width: 45%; }+  .detail-table td:last-child { font-family: 'JetBrains Mono', monospace; font-size: 13px; text-align: right; }++  /* SVG charts */+  .chart-wrap { background: var(--surface); border: 1px solid var(--border-muted); border-radius: 8px; padding: 16px; }+  .chart-wrap h3 { font-size: 13px; color: var(--text); margin-bottom: 12px; }+  .chart-wrap .chart-note { font-size: 11px; color: var(--text-dim); margin-top: 8px; }+  svg text { font-family: 'JetBrains Mono', monospace; }++  /* Package drawing */+  .pkg-drawing { display: flex; align-items: center; justify-content: center; padding: 20px; }++  /* Family comparison */+  .family-table { width: 100%; border-collapse: collapse; font-size: 12px; }+  .family-table th { background: var(--elevated); padding: 8px 10px; text-align: left; font-size: 10px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.5px; color: var(--text-dim); border-bottom: 2px solid var(--border); }+  .family-table td { padding: 7px 10px; border-bottom: 1px solid var(--border-muted); }+  .family-table tr.current { background: rgba(0,184,176,0.06); }+  .family-table tr.current td:first-child { border-left: 3px solid var(--accent); padding-left: 7px; }+  .family-table tr:hover td { background: var(--elevated); }++  /* Reflow profile */+  .profile-table { width: 100%; border-collapse: collapse; font-size: 12px; margin-top: 12px; }+  .profile-table th { background: var(--elevated); padding: 6px 10px; font-size: 10px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.5px; color: var(--text-dim); text-align: left; border-bottom: 1px solid var(--border); }+  .profile-table td { padding: 6px 10px; border-bottom: 1px solid var(--border-muted); }++  /* Environmental specs */+  .env-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }+  @media (max-width: 700px) { .env-grid { grid-template-columns: 1fr; } }+  .env-card { background: var(--surface); border: 1px solid var(--border-muted); border-radius: 8px; padding: 12px 14px; }+  .env-card .env-name { font-size: 12px; font-weight: 600; margin-bottom: 4px; }+  .env-card .env-spec { font-size: 11px; color: var(--text-muted); }+  .env-card .env-detail { font-family: 'JetBrains Mono', monospace; font-size: 11px; color: var(--text); margin-top: 4px; }++  /* Vendor cards */+  .vendor-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }+  @media (max-width: 700px) { .vendor-cards { grid-template-columns: 1fr; } }+  .vendor-card { background: var(--surface); border: 1px solid var(--border-muted); border-radius: 8px; padding: 14px; }+  .vendor-card .vc-name { font-size: 12px; font-weight: 600; margin-bottom: 6px; }+  .vendor-card .vc-name.mouser { color: var(--blue); }+  .vendor-card .vc-name.digikey { color: var(--red); }+  .vendor-card .vc-name.jlcpcb { color: var(--green); }+  .vendor-card .vc-price { font-size: 20px; font-weight: 700; font-family: 'Familjen Grotesk', sans-serif; }+  .vendor-card .vc-detail { font-size: 11px; color: var(--text-muted); margin-top: 4px; }+  .vendor-card .vc-link { display: inline-block; margin-top: 8px; font-size: 11px; color: var(--accent); }+  .vendor-card.recommended { border-color: var(--accent-border); }+  .vendor-card.recommended::before { content: 'RECOMMENDED'; display: block; font-size: 9px; letter-spacing: 1px; color: var(--accent); margin-bottom: 6px; font-weight: 600; }++  .copy-btn { background: none; border: 1px solid var(--border); color: var(--text-muted); border-radius: 4px; padding: 2px 6px; font-size: 13px; cursor: pointer; font-family: 'JetBrains Mono', monospace; vertical-align: middle; transition: border-color 0.15s, color 0.15s; }+  .copy-btn:hover { border-color: var(--accent); color: var(--accent); }++  .dl-btn { display: inline-block; margin-top: 10px; padding: 6px 14px; background: var(--accent-dim); border: 1px solid var(--accent-border); border-radius: 6px; color: var(--accent); font-size: 11px; font-weight: 500; font-family: 'Satoshi', sans-serif; text-decoration: none; transition: background 0.15s, border-color 0.15s; }+  .dl-btn:hover { background: rgba(0,184,176,0.2); border-color: var(--accent); text-decoration: none; color: var(--accent-bright); }++  .open-full-banner { display: flex; align-items: center; justify-content: center; padding: 12px 24px; background: linear-gradient(90deg, rgba(0,184,176,0.12), rgba(0,184,176,0.06)); border-bottom: 1px solid var(--accent-border); }+  .open-full-btn { display: inline-flex; align-items: center; gap: 8px; padding: 8px 20px; background: var(--accent); color: var(--bg); font-family: 'Familjen Grotesk', sans-serif; font-size: 13px; font-weight: 600; border-radius: 6px; text-decoration: none; transition: background 0.15s; }+  .open-full-btn:hover { background: var(--accent-bright); text-decoration: none; color: var(--bg); }++  .source { text-align: center; color: var(--text-dim); font-size: 11px; padding: 24px 0 12px; border-top: 1px solid var(--border-muted); margin-top: 20px; }+</style>+</head>+<body>++<div class="open-full-banner" id="fullPageBanner" style="display:none">+  <span style="color:var(--text-muted);font-size:12px;margin-right:8px">Full page:</span>+  <code style="color:var(--accent);font-size:11px;background:var(--elevated);padding:4px 8px;border-radius:4px;user-select:all">https://wiki-ufypy5dpx93o.adom.cloud/static/libraries/lqm18jnr10j00d/LQM18JNR10J00D.html</code>+  <button class="open-full-btn" id="copyFullUrl" style="margin-left:8px">Copy Link</button>+</div>+<script>+if(window.self!==window.top){document.getElementById('fullPageBanner').style.display='flex'}+document.getElementById('copyFullUrl').addEventListener('click',function(){var t=document.createElement('textarea');t.value='https://wiki-ufypy5dpx93o.adom.cloud/static/libraries/lqm18jnr10j00d/LQM18JNR10J00D.html';document.body.appendChild(t);t.select();document.execCommand('copy');document.body.removeChild(t);this.textContent='Copied!';var b=this;setTimeout(function(){b.textContent='Copy Link'},1500)});+</script>++<div class="header">+  <div class="header-top">+    <div class="brand">Adom</div>+    <div class="vsep"></div>+    <div class="crumb">Components &rsaquo; Inductors &rsaquo; 0603</div>+  </div>+  <h1>LQM18JNR10J00D &mdash; <span class="val">100nH</span></h1>+  <div class="subtitle">Murata &middot; Chip Coil (Chip Inductor) &middot; Consumer &amp; Industrial Equipment</div>+  <div class="tags">+    <span class="tag pkg">0603</span>+    <span class="tag mfr">Murata</span>+    <span class="tag series">LQM18JN</span>+    <span class="tag rohs">RoHS</span>+    <span class="tag app">Signal / EMI</span>+  </div>+</div>++<div class="container">++  <!-- Key Specs -->+  <div class="section">+    <div class="spec-cards">+      <div class="spec-card highlight">+        <div class="sc-label">Inductance</div>+        <div class="sc-value">100nH</div>+        <div class="sc-detail">&plusmn;5%</div>+      </div>+      <div class="spec-card">+        <div class="sc-label">Rated Current</div>+        <div class="sc-value">650mA</div>+        <div class="sc-detail">&Delta;T &le; 40&deg;C</div>+      </div>+      <div class="spec-card">+        <div class="sc-label">DCR</div>+        <div class="sc-value">0.41&Omega;</div>+        <div class="sc-detail">&plusmn;25%</div>+      </div>+      <div class="spec-card">+        <div class="sc-label">SRF</div>+        <div class="sc-value">200MHz</div>+        <div class="sc-detail">minimum</div>+      </div>+      <div class="spec-card">+        <div class="sc-label">Q Factor</div>+        <div class="sc-value">8</div>+        <div class="sc-detail">min @ 25MHz</div>+      </div>+      <div class="spec-card">+        <div class="sc-label">Mouser</div>+        <div class="sc-value">$0.13</div>+        <div class="sc-detail">7,525 in stock</div>+      </div>+    </div>+  </div>++  <div class="grid-2">+    <!-- Left column -->+    <div>+      <!-- Electrical Characteristics -->+      <div class="section">+        <h2 class="section-title">Electrical Characteristics</h2>+        <div class="card">+          <table class="detail-table">+            <tr><td>Inductance</td><td>100nH &plusmn;5%</td></tr>+            <tr><td>Q Factor (min)</td><td>8 @ 25MHz / 1mA</td></tr>+            <tr><td>DC Resistance (typ)</td><td>0.41&Omega;</td></tr>+            <tr><td>DC Resistance (max)</td><td>0.51&Omega;</td></tr>+            <tr><td>Self-Resonant Frequency</td><td>&ge;200 MHz</td></tr>+            <tr><td>Rated Current</td><td>650mA</td></tr>+            <tr><td>Rated Current Condition</td><td>&Delta;T &le; 40&deg;C rise</td></tr>+            <tr><td>Test Frequency</td><td>25 MHz</td></tr>+            <tr><td>Test Equipment</td><td>Keysight 4294A</td></tr>+          </table>+        </div>+      </div>++      <!-- Operating Conditions -->+      <div class="section">+        <h2 class="section-title">Operating Conditions</h2>+        <div class="card">+          <table class="detail-table">+            <tr><td>Operating Temp</td><td>&minus;40&deg;C to +85&deg;C</td></tr>+            <tr><td>Storage Temp</td><td>&minus;40&deg;C to +85&deg;C</td></tr>+            <tr><td>Storage Humidity</td><td>15% to 85% RH</td></tr>+            <tr><td>Shelf Life</td><td>6 months</td></tr>+            <tr><td>Solder Compatibility</td><td>Sn-3.0Ag-0.5Cu</td></tr>+            <tr><td>Cleaning Temp</td><td>&le;60&deg;C (40&deg;C for IPA)</td></tr>+          </table>+        </div>+      </div>+    </div>++    <!-- Right column -->+    <div>+      <!-- Package Drawing -->+      <div class="section">+        <h2 class="section-title">Package &amp; Dimensions</h2>+        <div class="card">+          <div class="pkg-drawing">+            <svg width="100%" height="170" viewBox="0 0 480 170">+              <!-- Top view centered at x=110 -->+              <text x="110" y="14" fill="#8b949e" font-size="10" text-anchor="middle">Top View</text>+              <rect x="45" y="22" width="130" height="65" rx="2" fill="#1c2128" stroke="#30363d" stroke-width="1.5"/>+              <rect x="45" y="22" width="25" height="65" rx="1" fill="rgba(0,184,176,0.15)" stroke="#00b8b0" stroke-width="1"/>+              <rect x="150" y="22" width="25" height="65" rx="1" fill="rgba(0,184,176,0.15)" stroke="#00b8b0" stroke-width="1"/>+              <circle cx="63" cy="36" r="3" fill="#00b8b0" opacity="0.6"/>+              <text x="73" y="40" fill="#8b949e" font-size="9">&larr; polarity</text>+              <!-- Width dim -->+              <line x1="45" y1="98" x2="175" y2="98" stroke="#484f58" stroke-width="0.5"/>+              <line x1="45" y1="94" x2="45" y2="102" stroke="#484f58" stroke-width="0.5"/>+              <line x1="175" y1="94" x2="175" y2="102" stroke="#484f58" stroke-width="0.5"/>+              <text x="110" y="114" fill="#e6edf3" font-size="10" text-anchor="middle">1.6 &plusmn; 0.15</text>+              <!-- Depth dim -->+              <line x1="185" y1="22" x2="185" y2="87" stroke="#484f58" stroke-width="0.5"/>+              <line x1="181" y1="22" x2="189" y2="22" stroke="#484f58" stroke-width="0.5"/>+              <line x1="181" y1="87" x2="189" y2="87" stroke="#484f58" stroke-width="0.5"/>+              <text x="195" y="58" fill="#e6edf3" font-size="10">0.80 &plusmn; 0.15</text>+              <!-- Terminal width -->+              <line x1="45" y1="126" x2="70" y2="126" stroke="#484f58" stroke-width="0.5" stroke-dasharray="2,2"/>+              <text x="57" y="138" fill="#8b949e" font-size="9" text-anchor="middle">0.4 &plusmn; 0.2</text>++              <!-- Side view centered at x=370 (2/3 of 480 ≈ 320) -->+              <text x="370" y="14" fill="#8b949e" font-size="10" text-anchor="middle">Side View</text>+              <rect x="305" y="40" width="130" height="38" rx="2" fill="#1c2128" stroke="#30363d" stroke-width="1.5"/>+              <rect x="305" y="40" width="22" height="38" rx="1" fill="rgba(0,184,176,0.15)" stroke="#00b8b0" stroke-width="1"/>+              <rect x="413" y="40" width="22" height="38" rx="1" fill="rgba(0,184,176,0.15)" stroke="#00b8b0" stroke-width="1"/>+              <!-- Height dim -->+              <line x1="445" y1="40" x2="445" y2="78" stroke="#484f58" stroke-width="0.5"/>+              <line x1="441" y1="40" x2="449" y2="40" stroke="#484f58" stroke-width="0.5"/>+              <line x1="441" y1="78" x2="449" y2="78" stroke="#484f58" stroke-width="0.5"/>+              <text x="455" y="63" fill="#e6edf3" font-size="10">0.55 &plusmn; 0.10</text>++              <!-- Physical specs -->+              <text x="110" y="160" fill="#8b949e" font-size="10" text-anchor="middle">0603 (1608 metric)</text>+              <text x="370" y="100" fill="#8b949e" font-size="10" text-anchor="middle">Mass: 0.004g</text>+            </svg>+          </div>+        </div>+      </div>++      <!-- Land Pattern -->+      <div class="section">+        <h2 class="section-title">Recommended Land Pattern</h2>+        <div class="card">+          <table class="detail-table">+            <tr><td>Pad Width (a)</td><td>0.7mm</td></tr>+            <tr><td>Pad-to-Pad (b) — Reflow</td><td>1.8 to 2.0mm</td></tr>+            <tr><td>Pad-to-Pad (b) — Flow</td><td>2.2 to 2.6mm</td></tr>+            <tr><td>Pad Height (c)</td><td>0.7mm</td></tr>+            <tr><td>Solder Paste Thickness</td><td>100&ndash;150 &micro;m</td></tr>+          </table>+        </div>+      </div>+    </div>+  </div>++  <!-- Impedance vs Frequency Chart -->+  <div class="section">+    <h2 class="section-title">Impedance Behavior</h2>+    <div class="chart-wrap">+      <h3>Impedance vs. Frequency (characteristic shape for 100nH ferrite inductor)</h3>+      <svg id="impedance-chart" width="100%" height="260" viewBox="0 0 700 260">+        <!-- Grid -->+        <rect x="60" y="20" width="600" height="200" fill="#0d1117" rx="4"/>+        <line x1="60" y1="220" x2="660" y2="220" stroke="#21262d" stroke-width="1"/>+        <line x1="60" y1="170" x2="660" y2="170" stroke="#21262d" stroke-width="0.5" stroke-dasharray="4,4"/>+        <line x1="60" y1="120" x2="660" y2="120" stroke="#21262d" stroke-width="0.5" stroke-dasharray="4,4"/>+        <line x1="60" y1="70" x2="660" y2="70" stroke="#21262d" stroke-width="0.5" stroke-dasharray="4,4"/>+        <line x1="60" y1="20" x2="60" y2="220" stroke="#21262d" stroke-width="1"/>+        <!-- Vertical grid lines at freq markers -->+        <line x1="180" y1="20" x2="180" y2="220" stroke="#21262d" stroke-width="0.5" stroke-dasharray="4,4"/>+        <line x1="300" y1="20" x2="300" y2="220" stroke="#21262d" stroke-width="0.5" stroke-dasharray="4,4"/>+        <line x1="420" y1="20" x2="420" y2="220" stroke="#21262d" stroke-width="0.5" stroke-dasharray="4,4"/>+        <line x1="540" y1="20" x2="540" y2="220" stroke="#21262d" stroke-width="0.5" stroke-dasharray="4,4"/>++        <!-- Inductive region (Z rises with freq) -->+        <path d="M60,210 Q180,190 300,140 Q380,100 420,55" stroke="#00b8b0" stroke-width="2.5" fill="none"/>+        <!-- SRF peak -->+        <circle cx="420" cy="55" r="5" fill="#00b8b0" opacity="0.8"/>+        <!-- Capacitive region (Z drops after SRF) -->+        <path d="M420,55 Q460,80 540,140 Q600,175 660,195" stroke="#f85149" stroke-width="2.5" fill="none" stroke-dasharray="6,3"/>++        <!-- SRF annotation -->+        <line x1="420" y1="55" x2="420" y2="230" stroke="#00b8b0" stroke-width="0.5" stroke-dasharray="3,3" opacity="0.5"/>+        <text x="420" y="248" fill="#00b8b0" font-size="10" text-anchor="middle">SRF: 200 MHz</text>++        <!-- Region labels (positioned at top, away from curves) -->+        <rect x="140" y="24" width="100" height="20" rx="4" fill="rgba(0,184,176,0.12)"/>+        <text x="190" y="38" fill="#00b8b0" font-size="10" text-anchor="middle">Inductive</text>+        <rect x="510" y="24" width="100" height="20" rx="4" fill="rgba(248,81,73,0.12)"/>+        <text x="560" y="38" fill="#f85149" font-size="10" text-anchor="middle">Capacitive</text>++        <!-- Usable range -->+        <rect x="60" y="222" width="360" height="4" rx="2" fill="rgba(63,185,80,0.3)"/>+        <text x="240" y="240" fill="#3fb950" font-size="9" text-anchor="middle">Usable range (&le; SRF)</text>++        <!-- Y axis labels (Z = 2πfL for inductive region) -->+        <text x="55" y="214" fill="#484f58" font-size="9" text-anchor="end">0 &Omega;</text>+        <text x="55" y="190" fill="#484f58" font-size="9" text-anchor="end">6 &Omega;</text>+        <text x="55" y="170" fill="#484f58" font-size="9" text-anchor="end">19 &Omega;</text>+        <text x="55" y="140" fill="#484f58" font-size="9" text-anchor="end">31 &Omega;</text>+        <text x="55" y="100" fill="#484f58" font-size="9" text-anchor="end">75 &Omega;</text>+        <text x="55" y="58" fill="#484f58" font-size="9" text-anchor="end">500 &Omega;</text>+        <text x="12" y="124" fill="#484f58" font-size="9" text-anchor="middle" transform="rotate(-90,12,124)">|Z| impedance</text>++        <!-- X axis labels -->+        <text x="60" y="248" fill="#484f58" font-size="9" text-anchor="middle">1M</text>+        <text x="180" y="248" fill="#484f58" font-size="9" text-anchor="middle">10M</text>+        <text x="300" y="248" fill="#484f58" font-size="9" text-anchor="middle">50M</text>+        <text x="540" y="248" fill="#484f58" font-size="9" text-anchor="middle">500M</text>+        <text x="660" y="248" fill="#484f58" font-size="9" text-anchor="middle">1G</text>+      </svg>+      <div class="chart-note">Impedance peaks at the self-resonant frequency (200 MHz). Below SRF the part behaves as an inductor; above SRF it's capacitive. Use at &le; &frac13; SRF (~66 MHz) for predictable inductive behavior.</div>+    </div>+  </div>++  <!-- Reflow Soldering Profile -->+  <div class="section">+    <h2 class="section-title">Reflow Soldering Profile</h2>+    <div class="chart-wrap">+      <h3>Standard Reflow Profile</h3>+      <svg id="reflow-chart" width="100%" height="260" viewBox="0 0 700 260">+        <rect x="60" y="10" width="600" height="180" fill="#0d1117" rx="4"/>+        <!-- Grid -->+        <line x1="60" y1="190" x2="660" y2="190" stroke="#21262d" stroke-width="1"/>+        <line x1="60" y1="10" x2="60" y2="190" stroke="#21262d" stroke-width="1"/>+        <line x1="60" y1="140" x2="660" y2="140" stroke="#21262d" stroke-width="0.5" stroke-dasharray="4,4"/>+        <line x1="60" y1="90" x2="660" y2="90" stroke="#21262d" stroke-width="0.5" stroke-dasharray="4,4"/>+        <line x1="60" y1="40" x2="660" y2="40" stroke="#21262d" stroke-width="0.5" stroke-dasharray="4,4"/>++        <!-- Temperature profile -->+        <path d="M80,185 L200,140 L300,140 L380,90 L420,35 L460,35 L500,90 L580,140 L660,185" stroke="#d29922" stroke-width="2.5" fill="none"/>++        <!-- Limit profile (dashed) -->+        <path d="M80,185 L200,140 L300,140 L370,75 L410,20 L470,20 L510,75 L580,140 L660,185" stroke="#f85149" stroke-width="1.5" fill="none" stroke-dasharray="5,4" opacity="0.6"/>++        <!-- Zone annotations (positioned away from curves) -->+        <rect x="220" y="155" width="80" height="16" rx="3" fill="rgba(210,153,34,0.15)"/>+        <text x="260" y="167" fill="#d29922" font-size="9" text-anchor="middle">Pre-heat</text>+        <rect x="310" y="14" width="60" height="16" rx="3" fill="rgba(248,81,73,0.15)"/>+        <text x="340" y="26" fill="#f85149" font-size="9" text-anchor="middle">Peak</text>++        <!-- Temperature markers -->+        <text x="55" y="143" fill="#484f58" font-size="9" text-anchor="end">150&deg;C</text>+        <text x="55" y="93" fill="#484f58" font-size="9" text-anchor="end">220&deg;C</text>+        <text x="55" y="38" fill="#484f58" font-size="9" text-anchor="end">245&deg;C</text>++        <!-- Limit temp -->+        <text x="480" y="17" fill="#f85149" font-size="9">260&deg;C limit</text>+        <line x1="60" y1="20" x2="660" y2="20" stroke="#f85149" stroke-width="0.5" stroke-dasharray="2,3" opacity="0.4"/>++        <!-- Time annotations on chart -->+        <!-- Pre-heat duration bracket -->+        <line x1="200" y1="195" x2="300" y2="195" stroke="#484f58" stroke-width="1"/>+        <line x1="200" y1="191" x2="200" y2="199" stroke="#484f58" stroke-width="1"/>+        <line x1="300" y1="191" x2="300" y2="199" stroke="#484f58" stroke-width="1"/>+        <text x="250" y="207" fill="#8b949e" font-size="8" text-anchor="middle">90s &plusmn; 30s</text>++        <!-- Heating duration bracket -->+        <line x1="380" y1="95" x2="500" y2="95" stroke="#484f58" stroke-width="1"/>+        <line x1="380" y1="91" x2="380" y2="99" stroke="#484f58" stroke-width="1"/>+        <line x1="500" y1="91" x2="500" y2="99" stroke="#484f58" stroke-width="1"/>+        <text x="440" y="107" fill="#8b949e" font-size="8" text-anchor="middle">30&ndash;60s &gt;220&deg;C</text>++        <!-- Total time bracket -->+        <line x1="80" y1="220" x2="660" y2="220" stroke="#484f58" stroke-width="0.5"/>+        <line x1="80" y1="216" x2="80" y2="224" stroke="#484f58" stroke-width="0.5"/>+        <line x1="660" y1="216" x2="660" y2="224" stroke="#484f58" stroke-width="0.5"/>++        <!-- X axis time markers -->+        <text x="80" y="234" fill="#484f58" font-size="8" text-anchor="middle">0s</text>+        <text x="200" y="234" fill="#484f58" font-size="8" text-anchor="middle">~60s</text>+        <text x="300" y="234" fill="#484f58" font-size="8" text-anchor="middle">~150s</text>+        <text x="420" y="234" fill="#484f58" font-size="8" text-anchor="middle">~200s</text>+        <text x="500" y="234" fill="#484f58" font-size="8" text-anchor="middle">~240s</text>+        <text x="660" y="234" fill="#484f58" font-size="8" text-anchor="middle">~360s</text>++        <!-- Legend -->+        <line x1="250" y1="248" x2="270" y2="248" stroke="#d29922" stroke-width="2"/>+        <text x="275" y="252" fill="#8b949e" font-size="9">Standard</text>+        <line x1="360" y1="248" x2="380" y2="248" stroke="#f85149" stroke-width="1.5" stroke-dasharray="4,3"/>+        <text x="385" y="252" fill="#8b949e" font-size="9">Limit</text>+      </svg>+      <table class="profile-table">+        <thead><tr><th>Phase</th><th>Standard</th><th>Limit</th></tr></thead>+        <tbody>+          <tr><td>Pre-heating</td><td>150&ndash;180&deg;C, 90s &plusmn; 30s</td><td>Same</td></tr>+          <tr><td>Heating</td><td>Above 220&deg;C, 30&ndash;60s</td><td>Above 230&deg;C, 60s max</td></tr>+          <tr><td>Peak Temperature</td><td>245&deg;C &plusmn; 3&deg;C</td><td>260&deg;C, 10s</td></tr>+          <tr><td>Cycles</td><td colspan="2">2 times max</td></tr>+        </tbody>+      </table>+    </div>+  </div>++  <!-- Environmental & Reliability -->+  <div class="section">+    <h2 class="section-title">Environmental &amp; Reliability</h2>+    <div class="env-grid">+      <div class="env-card">+        <div class="env-name">Heat Resistance</div>+        <div class="env-spec">No damage, &Delta;L &le; &plusmn;20%</div>+        <div class="env-detail">85&deg;C, 1000h</div>+      </div>+      <div class="env-card">+        <div class="env-name">Cold Resistance</div>+        <div class="env-spec">No damage, &Delta;L &le; &plusmn;20%</div>+        <div class="env-detail">&minus;40&deg;C, 1000h</div>+      </div>+      <div class="env-card">+        <div class="env-name">Humidity</div>+        <div class="env-spec">No damage, &Delta;L &le; &plusmn;20%</div>+        <div class="env-detail">70&deg;C, 90&ndash;95% RH, 1000h</div>+      </div>+      <div class="env-card">+        <div class="env-name">Temperature Cycle</div>+        <div class="env-spec">No damage, &Delta;L &le; &plusmn;50%</div>+        <div class="env-detail">&minus;40&deg;C &harr; +85&deg;C, 100 cycles</div>+      </div>+      <div class="env-card">+        <div class="env-name">Soldering Heat</div>+        <div class="env-spec">No damage, &Delta;L &le; &plusmn;30%</div>+        <div class="env-detail">260&deg;C, 10s immersion</div>+      </div>+      <div class="env-card">+        <div class="env-name">Solderability</div>+        <div class="env-spec">&ge;95% wetting</div>+        <div class="env-detail">245&deg;C, 3s, Sn-3.0Ag-0.5Cu</div>+      </div>+      <div class="env-card">+        <div class="env-name">Vibration</div>+        <div class="env-spec">No damage</div>+        <div class="env-detail">10&ndash;2000Hz, 2h &times; 3 axes (6h total)</div>+      </div>+      <div class="env-card">+        <div class="env-name">Mechanical Shear</div>+        <div class="env-spec">No damage</div>+        <div class="env-detail">10N, 5s, parallel to PCB</div>+      </div>+    </div>+  </div>++  <!-- Symbol, Footprint & 3D View -->+  <div class="section">+    <h2 class="section-title">Symbol, Footprint &amp; 3D Model</h2>+    <div class="grid-2" style="margin-bottom:12px">+      <!-- Interactive SymView -->+      <div class="card" style="padding:0;overflow:hidden">+        <div style="font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:0.5px;color:var(--text-dim);padding:12px 16px 0">Schematic Symbol</div>+        <iframe src="LQM18JNR10J00D-symview.html" style="width:100%;height:340px;border:none;display:block" allow="fullscreen"></iframe>+      </div>+      <!-- Interactive FpView -->+      <div class="card" style="padding:0;overflow:hidden">+        <div style="font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:0.5px;color:var(--text-dim);padding:12px 16px 0">Footprint (0603) &mdash; with solder jetting layout</div>+        <iframe src="LQM18JNR10J00D-fpview.html" style="width:100%;height:340px;border:none;display:block" allow="fullscreen"></iframe>+      </div>+    </div>+    <!-- 3D Model -->+    <div class="card" style="text-align:center;margin-bottom:12px">+      <div style="font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:0.5px;color:var(--text-dim);margin-bottom:12px">3D Model (interactive)</div>+      <canvas id="viewer3d" width="600" height="300" style="width:100%;height:300px;border-radius:4px;cursor:grab"></canvas>+      <div style="font-size:10px;color:var(--text-dim);margin-top:6px">Click &amp; drag to rotate &middot; Scroll to zoom</div>+    </div>+    <!-- Download / Export Bar -->+    <div class="card" style="display:flex;align-items:center;gap:10px;flex-wrap:wrap">+      <span style="font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.5px">Export:</span>+      <a class="dl-btn" href="https://wiki-ufypy5dpx93o.adom.cloud/static/libraries/lqm18jnr10j00d/LQM18JNR10J00D.kicad_sym" download>KiCad Symbol (.kicad_sym)</a>+      <a class="dl-btn" href="https://wiki-ufypy5dpx93o.adom.cloud/static/libraries/lqm18jnr10j00d/LQM18JNR10J00D.kicad_mod" download>KiCad Footprint (.kicad_mod)</a>+      <a class="dl-btn" href="https://wiki-ufypy5dpx93o.adom.cloud/static/libraries/lqm18jnr10j00d/LQM18JNR10J00D.lbr" download>Fusion 360 (.lbr)</a>+      <a class="dl-btn" href="https://wiki-ufypy5dpx93o.adom.cloud/static/libraries/lqm18jnr10j00d/LQM18JNR10J00D.step" download>3D Model (.step)</a>+    </div>+  </div>++  <!-- Pricing & Availability -->+  <div class="section">+    <h2 class="section-title">Pricing &amp; Availability</h2>+    <div class="vendor-cards">+      <div class="vendor-card recommended">+        <div class="vc-name mouser">Mouser Electronics</div>+        <div class="vc-price">$0.13</div>+        <div class="vc-detail">$0.091 @ 100 pcs</div>+        <div class="vc-detail">7,525 in stock &middot; Lead: 84 days</div>+        <div class="vc-detail">PN: 81-LQM18JNR10J00D</div>+        <a class="vc-link" href="https://www.mouser.com/ProductDetail/Murata-Electronics/LQM18JNR10J00D?qs=EU6FO9ffTwdYl3wCnrc3ew%3D%3D" target="_blank">View on Mouser &rarr;</a>+      </div>+      <div class="vendor-card">+        <div class="vc-name digikey">DigiKey</div>+        <div class="vc-price">$0.13</div>+        <div class="vc-detail">21,960 in stock</div>+        <div class="vc-detail">Status: Active</div>+        <a class="vc-link" href="https://www.digikey.com/en/products/detail/murata-electronics/LQM18JNR10J00D/7564138" target="_blank">View on DigiKey &rarr;</a>+      </div>+      <div class="vendor-card">+        <div class="vc-name jlcpcb">JLCPCB / LCSC</div>+        <div class="vc-price">&mdash;</div>+        <div class="vc-detail">2,575 in stock</div>+        <div class="vc-detail">Extended part</div>+        <a class="vc-link" href="https://lcsc.com/product-detail/Inductors-SMD_Murata-Electronics-Murata-Electronics-LQM18JNR10J00D_C2044854.html" target="_blank">View on LCSC &rarr;</a>+      </div>+    </div>+    <div class="chart-note" style="margin-top:8px"><strong>Adom Basic Part</strong> &mdash; Always on hand, no shipping fee.</div>+  </div>++  <!-- Datasheet -->+  <div class="section">+    <h2 class="section-title">Documents</h2>+    <div class="card">+      <table class="detail-table">+        <tr><td>Datasheet</td><td><button class="copy-btn" title="Copy link to clipboard" id="ds-copy-btn">&#x2398;</button>+<script>document.getElementById('ds-copy-btn').addEventListener('click',function(){var t=document.createElement('textarea');t.value='https://www.mouser.com/datasheet/3/76/2/JELF243B_0077.pdf';document.body.appendChild(t);t.select();document.execCommand('copy');document.body.removeChild(t);this.textContent='Copied!';var b=this;setTimeout(function(){b.innerHTML='⎘'},1500)})</script> <a href="https://www.mouser.com/datasheet/3/76/2/JELF243B_0077.pdf" target="_blank">JELF243B-0077 (PDF) &rarr;</a></td></tr>+        <tr><td>Spec Number</td><td>JELF243B-0077B-01</td></tr>+        <tr><td>Manufacturer</td><td>Murata Mfg. Co., Ltd</td></tr>+        <tr><td>Inventory Source</td><td><a href="https://inventory-2w8z8d9ojzzl.adom.cloud" target="_blank">Adom Parts Inventory &rarr;</a></td></tr>+      </table>+    </div>+  </div>++  <!-- Molecule -->+  <div class="section">+    <h2 class="section-title">Molecule &mdash; Single-Passive Board</h2>+    <div class="card" style="padding:0;overflow:hidden;border-radius:8px">+      <div style="font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:0.5px;color:var(--text-dim);padding:12px 16px 0">Interactive 3D Board Viewer</div>+      <iframe src="https://wiki-ufypy5dpx93o.adom.cloud/static/libraries/lqm18jnr10j00d/tsci-viewer/molecule-viewer/index.html"+              style="width:100%;height:500px;border:none;border-radius:0 0 8px 8px;display:block"+              allow="fullscreen"></iframe>+    </div>+    <div style="font-size:11px;color:var(--text-dim);margin-top:8px;text-align:center">+      Orbit: click &amp; drag &middot; Zoom: scroll &middot; Inspect: click a component &middot; X-ray: toggle in toolbar+    </div>+  </div>++  <div class="source">+    LQM18JNR10J00D characterization &middot; Data from Murata datasheet JELF243B-0077 + adom-parts-search &middot; 2026-05-29+  </div>++</div>++<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js"></script>+<script src="https://cdn.jsdelivr.net/npm/[email protected]/examples/js/pmrem/PMREMGenerator.js"></script>+<script>+(function() {+  // 3D Viewer — LQM18JNR10J00D (0603 inductor)+  // Follows Adom visual defaults: PBR materials, studio lighting, gradient bg, no z-fighting+  const canvas = document.getElementById('viewer3d');+  if (canvas && window.THREE) {+    const scene = new THREE.Scene();++    const renderer = new THREE.WebGLRenderer({ canvas, antialias: true, alpha: true, logarithmicDepthBuffer: true });+    renderer.setSize(canvas.width, canvas.height);+    renderer.setPixelRatio(Math.min(window.devicePixelRatio, 2));+    renderer.outputEncoding = THREE.sRGBEncoding;+    renderer.toneMapping = THREE.ACESFilmicToneMapping;+    renderer.toneMappingExposure = 1.2;+    renderer.physicallyCorrectLights = true;++    // Gradient background via CSS+    canvas.style.background = 'linear-gradient(180deg, #5a6b7e 0%, #2a3340 100%)';++    const camera = new THREE.PerspectiveCamera(35, canvas.width / canvas.height, 0.01, 1000);++    // Procedural environment map for PBR reflections+    const pmremGen = new THREE.PMREMGenerator(renderer);+    pmremGen.compileEquirectangularShader();+    const envScene = new THREE.Scene();+    envScene.background = new THREE.Color(0x3a4550);+    const envLight1 = new THREE.DirectionalLight(0xffffff, 2);+    envLight1.position.set(1, 3, 2);+    envScene.add(envLight1);+    const envLight2 = new THREE.DirectionalLight(0x8899bb, 1);+    envLight2.position.set(-2, 1, -1);+    envScene.add(envLight2);+    const envRT = pmremGen.fromScene(envScene, 0.04);+    scene.environment = envRT.texture;++    // Studio lighting+    const hemi = new THREE.HemisphereLight(0xe6edf3, 0xb3a699, 0.5);+    scene.add(hemi);+    const keyLight = new THREE.DirectionalLight(0xffffff, 1.5);+    keyLight.position.set(2, 5, 3);+    scene.add(keyLight);+    const fillLight = new THREE.DirectionalLight(0x8899aa, 0.5);+    fillLight.position.set(-3, 2, -2);+    scene.add(fillLight);+    const rimLight = new THREE.DirectionalLight(0x00b8b0, 0.3);+    rimLight.position.set(0, -1, 3);+    scene.add(rimLight);++    const S = 1.5;++    // PBR Materials — polygonOffset on terminals to prevent z-fighting with body+    const bodyMat = new THREE.MeshStandardMaterial({ color: 0x1a1a2e, metalness: 0.0, roughness: 0.45 });+    const termMat = new THREE.MeshStandardMaterial({ color: 0xc8ccd1, metalness: 1.0, roughness: 0.25,+      polygonOffset: true, polygonOffsetFactor: -1, polygonOffsetUnits: -1 });+    const padMat = new THREE.MeshStandardMaterial({ color: 0xc9a04c, metalness: 1.0, roughness: 0.22 });+    const pcbMat = new THREE.MeshStandardMaterial({ color: 0x0a2a0a, metalness: 0.0, roughness: 0.6 });+    const dotMat = new THREE.MeshStandardMaterial({ color: 0x00b8b0, emissive: 0x005550, metalness: 0.0, roughness: 0.5 });++    // Body: 1.6 x 0.8 x 0.55 mm — shrunk inward so terminals don't overlap+    const bodyW = 1.6, bodyD = 0.8, bodyH = 0.55;+    const termW = 0.35;+    const innerW = bodyW - termW * 2 + 0.02; // body stops just inside the terminal zone+    const body = new THREE.Mesh(new THREE.BoxGeometry(innerW*S, bodyH*S, bodyD*S), bodyMat);+    body.position.y = bodyH*S/2;+    scene.add(body);++    // Terminals as L-shaped wraps — no overlap with body+    const termH = bodyH;+    function makeTerminal(xSign) {+      const group = new THREE.Group();+      // Front face — starts where body ends+      const front = new THREE.Mesh(new THREE.BoxGeometry(termW*S, termH*S, bodyD*S*0.99), termMat);+      front.position.set(xSign*(bodyW/2 - termW/2)*S, termH*S/2, 0);+      group.add(front);+      // Bottom wrap+      const bot = new THREE.Mesh(new THREE.BoxGeometry((termW+0.04)*S, 0.05*S, bodyD*S*0.99), termMat);+      bot.position.set(xSign*(bodyW/2 - termW/2)*S, 0.025*S, 0);+      group.add(bot);+      // Top wrap+      const top = new THREE.Mesh(new THREE.BoxGeometry((termW+0.04)*S, 0.05*S, bodyD*S*0.99), termMat);+      top.position.set(xSign*(bodyW/2 - termW/2)*S, (bodyH-0.025)*S, 0);+      group.add(top);+      return group;+    }+    scene.add(makeTerminal(-1));+    scene.add(makeTerminal(1));++    // Polarity mark+    const dot = new THREE.Mesh(new THREE.SphereGeometry(0.06*S, 16, 12), dotMat);+    dot.position.set(-0.45*S, bodyH*S + 0.04*S, -0.2*S);+    scene.add(dot);++    // PCB (large enough to never clip at edges)+    const pcb = new THREE.Mesh(new THREE.BoxGeometry(12*S, 0.08*S, 10*S), pcbMat);+    pcb.position.y = -0.04*S;+    scene.add(pcb);++    // Gold ENIG pads+    const pad1 = new THREE.Mesh(new THREE.BoxGeometry(0.7*S, 0.025*S, 0.7*S), padMat);+    pad1.position.set(-0.65*S, 0.005*S, 0);+    scene.add(pad1);+    const pad2 = new THREE.Mesh(new THREE.BoxGeometry(0.7*S, 0.025*S, 0.7*S), padMat);+    pad2.position.set(0.65*S, 0.005*S, 0);+    scene.add(pad2);++    // Subtle grid (extended to cover full PCB)+    const gridMat2 = new THREE.LineBasicMaterial({ color: 0x0d3d0d, transparent: true, opacity: 0.3 });+    for (let i = -10; i <= 10; i++) {+      const pts1 = [new THREE.Vector3(i*0.5*S, 0.045*S, -5*S), new THREE.Vector3(i*0.5*S, 0.045*S, 5*S)];+      scene.add(new THREE.Line(new THREE.BufferGeometry().setFromPoints(pts1), gridMat2));+      const pts2 = [new THREE.Vector3(-5*S, 0.045*S, i*0.5*S), new THREE.Vector3(5*S, 0.045*S, i*0.5*S)];+      scene.add(new THREE.Line(new THREE.BufferGeometry().setFromPoints(pts2), gridMat2));+    }++    // Camera orbit+    let isDragging = false, prevX = 0, prevY = 0;+    let theta = Math.PI/4, phi = Math.PI/5.5, radius = 4.5;+    const target = new THREE.Vector3(0, 0.3, 0);++    function updateCamera() {+      camera.position.x = radius * Math.sin(theta) * Math.cos(phi);+      camera.position.y = radius * Math.sin(phi) + target.y;+      camera.position.z = radius * Math.cos(theta) * Math.cos(phi);+      camera.lookAt(target);+    }+    updateCamera();++    canvas.addEventListener('mousedown', e => { isDragging = true; prevX = e.clientX; prevY = e.clientY; canvas.style.cursor = 'grabbing'; });+    window.addEventListener('mouseup', () => { isDragging = false; canvas.style.cursor = 'grab'; });+    canvas.addEventListener('mousemove', e => {+      if (!isDragging) return;+      theta -= (e.clientX - prevX) * 0.008;+      phi = Math.max(0.05, Math.min(Math.PI/2.2, phi + (e.clientY - prevY) * 0.008));+      prevX = e.clientX; prevY = e.clientY;+      updateCamera();+    });+    canvas.addEventListener('wheel', e => {+      e.preventDefault();+      radius = Math.max(2, Math.min(10, radius + e.deltaY * 0.004));+      updateCamera();+    }, { passive: false });++    function animate() { requestAnimationFrame(animate); renderer.render(scene, camera); }+    animate();+  }+  function setupChartTooltip(svgId, dataPoints, color, formatX, formatY) {+    const svg = document.getElementById(svgId);+    if (!svg) return;++    const ns = 'http://www.w3.org/2000/svg';++    const dot = document.createElementNS(ns, 'circle');+    dot.setAttribute('r', '5');+    dot.setAttribute('fill', color);+    dot.setAttribute('stroke', '#0d1117');+    dot.setAttribute('stroke-width', '2');+    dot.style.display = 'none';+    dot.style.pointerEvents = 'none';+    svg.appendChild(dot);++    const tipGroup = document.createElementNS(ns, 'g');+    tipGroup.style.display = 'none';+    tipGroup.style.pointerEvents = 'none';++    const tipBg = document.createElementNS(ns, 'rect');+    tipBg.setAttribute('rx', '4');+    tipBg.setAttribute('fill', '#161b22');+    tipBg.setAttribute('stroke', '#30363d');+    tipBg.setAttribute('stroke-width', '1');++    const tipLine1 = document.createElementNS(ns, 'text');+    tipLine1.setAttribute('font-family', 'JetBrains Mono, monospace');+    tipLine1.setAttribute('font-size', '10');+    tipLine1.setAttribute('fill', '#e6edf3');++    const tipLine2 = document.createElementNS(ns, 'text');+    tipLine2.setAttribute('font-family', 'JetBrains Mono, monospace');+    tipLine2.setAttribute('font-size', '10');+    tipLine2.setAttribute('fill', color);++    tipGroup.appendChild(tipBg);+    tipGroup.appendChild(tipLine1);+    tipGroup.appendChild(tipLine2);+    svg.appendChild(tipGroup);++    const vLine = document.createElementNS(ns, 'line');+    vLine.setAttribute('stroke', color);+    vLine.setAttribute('stroke-width', '0.5');+    vLine.setAttribute('stroke-dasharray', '3,3');+    vLine.setAttribute('opacity', '0.5');+    vLine.style.display = 'none';+    vLine.style.pointerEvents = 'none';+    svg.appendChild(vLine);++    function lerp(pts, svgX) {+      if (svgX <= pts[0].sx) return pts[0];+      if (svgX >= pts[pts.length-1].sx) return pts[pts.length-1];+      for (let i = 0; i < pts.length - 1; i++) {+        if (svgX >= pts[i].sx && svgX <= pts[i+1].sx) {+          const t = (svgX - pts[i].sx) / (pts[i+1].sx - pts[i].sx);+          return {+            sx: svgX,+            sy: pts[i].sy + t * (pts[i+1].sy - pts[i].sy),+            vx: pts[i].vx + t * (pts[i+1].vx - pts[i].vx),+            vy: pts[i].vy + t * (pts[i+1].vy - pts[i].vy),+          };+        }+      }+      return pts[0];+    }++    svg.addEventListener('mousemove', function(e) {+      const pt = svg.createSVGPoint();+      pt.x = e.clientX;+      pt.y = e.clientY;+      const svgPt = pt.matrixTransform(svg.getScreenCTM().inverse());++      const minX = dataPoints[0].sx;+      const maxX = dataPoints[dataPoints.length-1].sx;+      if (svgPt.x < minX - 10 || svgPt.x > maxX + 10) {+        dot.style.display = 'none';+        tipGroup.style.display = 'none';+        vLine.style.display = 'none';+        return;+      }++      const p = lerp(dataPoints, svgPt.x);++      dot.setAttribute('cx', p.sx);+      dot.setAttribute('cy', p.sy);+      dot.style.display = '';++      vLine.setAttribute('x1', p.sx);+      vLine.setAttribute('y1', p.sy);+      vLine.setAttribute('x2', p.sx);+      vLine.setAttribute('y2', 220);+      vLine.style.display = '';++      const xLabel = formatX(p.vx);+      const yLabel = formatY(p.vy);+      tipLine1.textContent = xLabel;+      tipLine2.textContent = yLabel;++      const tipX = p.sx + 12;+      const tipY = p.sy - 28;+      const boxW = Math.max(xLabel.length, yLabel.length) * 7 + 16;+      const boxH = 32;++      const adjustedX = tipX + boxW > 660 ? p.sx - boxW - 12 : tipX;+      const adjustedY = tipY < 10 ? p.sy + 12 : tipY;++      tipBg.setAttribute('x', adjustedX);+      tipBg.setAttribute('y', adjustedY);+      tipBg.setAttribute('width', boxW);+      tipBg.setAttribute('height', boxH);++      tipLine1.setAttribute('x', adjustedX + 8);+      tipLine1.setAttribute('y', adjustedY + 13);+      tipLine2.setAttribute('x', adjustedX + 8);+      tipLine2.setAttribute('y', adjustedY + 26);++      tipGroup.style.display = '';+    });++    svg.addEventListener('mouseleave', function() {+      dot.style.display = 'none';+      tipGroup.style.display = 'none';+      vLine.style.display = 'none';+    });+  }++  // Impedance chart data (log frequency vs impedance)+  // x: SVG x coord, y: SVG y coord, vx: frequency Hz, vy: impedance ohms+  const impedanceData = [+    {sx:60,  sy:210, vx:1e6,   vy:0.63},+    {sx:120, sy:200, vx:3e6,   vy:1.9},+    {sx:180, sy:190, vx:10e6,  vy:6.3},+    {sx:220, sy:175, vx:18e6,  vy:11},+    {sx:260, sy:158, vx:30e6,  vy:19},+    {sx:300, sy:140, vx:50e6,  vy:31},+    {sx:340, sy:118, vx:80e6,  vy:50},+    {sx:380, sy:100, vx:120e6, vy:75},+    {sx:400, sy:78,  vx:160e6, vy:150},+    {sx:420, sy:55,  vx:200e6, vy:500},+    {sx:440, sy:65,  vx:240e6, vy:300},+    {sx:480, sy:100, vx:320e6, vy:80},+    {sx:540, sy:140, vx:500e6, vy:32},+    {sx:600, sy:170, vx:750e6, vy:14},+    {sx:660, sy:195, vx:1e9,   vy:8},+  ];++  function fmtFreq(f) {+    if (f >= 1e9) return (f/1e9).toFixed(1) + ' GHz';+    if (f >= 1e6) return (f/1e6).toFixed(1) + ' MHz';+    return (f/1e3).toFixed(0) + ' kHz';+  }+  function fmtZ(z) {+    if (z >= 1000) return (z/1000).toFixed(2) + ' kΩ';+    if (z >= 1) return z.toFixed(1) + ' Ω';+    return (z*1000).toFixed(0) + ' mΩ';+  }++  setupChartTooltip('impedance-chart', impedanceData, '#00b8b0', fmtFreq, function(z) { return '|Z| = ' + fmtZ(z); });++  // Reflow chart data (time vs temperature)+  const reflowData = [+    {sx:80,  sy:185, vx:0,   vy:25},+    {sx:200, sy:140, vx:60,  vy:150},+    {sx:300, sy:140, vx:150, vy:150},+    {sx:380, sy:90,  vx:195, vy:220},+    {sx:420, sy:35,  vx:210, vy:245},+    {sx:460, sy:35,  vx:225, vy:245},+    {sx:500, sy:90,  vx:240, vy:220},+    {sx:580, sy:140, vx:280, vy:150},+    {sx:660, sy:185, vx:360, vy:25},+  ];++  function fmtTime(t) { return t.toFixed(0) + 's'; }+  function fmtTemp(t) { return t.toFixed(0) + '°C'; }++  // Reflow chart — multi-curve with click to switch+  const reflowLimit = [+    {sx:80,  sy:185, vx:0,   vy:25},+    {sx:200, sy:140, vx:60,  vy:150},+    {sx:300, sy:140, vx:150, vy:150},+    {sx:370, sy:75,  vx:190, vy:230},+    {sx:410, sy:20,  vx:205, vy:260},+    {sx:470, sy:20,  vx:230, vy:260},+    {sx:510, sy:75,  vx:250, vy:230},+    {sx:580, sy:140, vx:280, vy:150},+    {sx:660, sy:185, vx:360, vy:25},+  ];++  const reflowCurves = [+    { data: reflowData,  color: '#d29922', label: 'Standard' },+    { data: reflowLimit, color: '#f85149', label: 'Limit' },+  ];++  (function setupReflowMultiCurve() {+    const svg = document.getElementById('reflow-chart');+    if (!svg) return;+    const ns = 'http://www.w3.org/2000/svg';+    let activeIdx = 0;++    const dot = document.createElementNS(ns, 'circle');+    dot.setAttribute('r', '5');+    dot.setAttribute('stroke', '#0d1117');+    dot.setAttribute('stroke-width', '2');+    dot.style.display = 'none';+    dot.style.pointerEvents = 'none';+    svg.appendChild(dot);++    const vLine = document.createElementNS(ns, 'line');+    vLine.setAttribute('stroke-width', '0.5');+    vLine.setAttribute('stroke-dasharray', '3,3');+    vLine.setAttribute('opacity', '0.5');+    vLine.style.display = 'none';+    vLine.style.pointerEvents = 'none';+    svg.appendChild(vLine);++    const tipGroup = document.createElementNS(ns, 'g');+    tipGroup.style.display = 'none';+    tipGroup.style.pointerEvents = 'none';+    const tipBg = document.createElementNS(ns, 'rect');+    tipBg.setAttribute('rx', '4');+    tipBg.setAttribute('fill', '#161b22');+    tipBg.setAttribute('stroke', '#30363d');+    tipBg.setAttribute('stroke-width', '1');+    const tipLine1 = document.createElementNS(ns, 'text');+    tipLine1.setAttribute('font-family', 'JetBrains Mono, monospace');+    tipLine1.setAttribute('font-size', '10');+    tipLine1.setAttribute('fill', '#e6edf3');+    const tipLine2 = document.createElementNS(ns, 'text');+    tipLine2.setAttribute('font-family', 'JetBrains Mono, monospace');+    tipLine2.setAttribute('font-size', '10');+    const tipLine3 = document.createElementNS(ns, 'text');+    tipLine3.setAttribute('font-family', 'JetBrains Mono, monospace');+    tipLine3.setAttribute('font-size', '9');+    tipLine3.setAttribute('fill', '#484f58');+    tipGroup.appendChild(tipBg);+    tipGroup.appendChild(tipLine1);+    tipGroup.appendChild(tipLine2);+    tipGroup.appendChild(tipLine3);+    svg.appendChild(tipGroup);++    function setActive(idx) {+      activeIdx = idx;+      const c = reflowCurves[idx];+      dot.setAttribute('fill', c.color);+      vLine.setAttribute('stroke', c.color);+      tipLine2.setAttribute('fill', c.color);+    }+    setActive(0);++    function lerp(pts, svgX) {+      if (svgX <= pts[0].sx) return pts[0];+      if (svgX >= pts[pts.length-1].sx) return pts[pts.length-1];+      for (let i = 0; i < pts.length - 1; i++) {+        if (svgX >= pts[i].sx && svgX <= pts[i+1].sx) {+          const t = (svgX - pts[i].sx) / (pts[i+1].sx - pts[i].sx);+          return {+            sx: svgX,+            sy: pts[i].sy + t * (pts[i+1].sy - pts[i].sy),+            vx: pts[i].vx + t * (pts[i+1].vx - pts[i].vx),+            vy: pts[i].vy + t * (pts[i+1].vy - pts[i].vy),+          };+        }+      }+      return pts[0];+    }++    svg.addEventListener('click', function() {+      setActive((activeIdx + 1) % reflowCurves.length);+    });++    svg.addEventListener('mousemove', function(e) {+      const pt = svg.createSVGPoint();+      pt.x = e.clientX; pt.y = e.clientY;+      const svgPt = pt.matrixTransform(svg.getScreenCTM().inverse());+      const c = reflowCurves[activeIdx];+      const minX = c.data[0].sx, maxX = c.data[c.data.length-1].sx;+      if (svgPt.x < minX - 10 || svgPt.x > maxX + 10) {+        dot.style.display = 'none'; tipGroup.style.display = 'none'; vLine.style.display = 'none';+        return;+      }+      const p = lerp(c.data, svgPt.x);+      dot.setAttribute('cx', p.sx); dot.setAttribute('cy', p.sy); dot.style.display = '';+      vLine.setAttribute('x1', p.sx); vLine.setAttribute('y1', p.sy);+      vLine.setAttribute('x2', p.sx); vLine.setAttribute('y2', 195); vLine.style.display = '';++      const xLabel = fmtTime(p.vx);+      const yLabel = 'Temp = ' + fmtTemp(p.vy);+      const curveLabel = 'Click to switch • ' + c.label;+      tipLine1.textContent = xLabel;+      tipLine2.textContent = yLabel;+      tipLine3.textContent = curveLabel;++      const tipX = p.sx + 12, tipY = p.sy - 38;+      const boxW = Math.max(xLabel.length, yLabel.length, curveLabel.length) * 6.5 + 16;+      const boxH = 44;+      const adjustedX = tipX + boxW > 660 ? p.sx - boxW - 12 : tipX;+      const adjustedY = tipY < 10 ? p.sy + 12 : tipY;++      tipBg.setAttribute('x', adjustedX); tipBg.setAttribute('y', adjustedY);+      tipBg.setAttribute('width', boxW); tipBg.setAttribute('height', boxH);+      tipLine1.setAttribute('x', adjustedX + 8); tipLine1.setAttribute('y', adjustedY + 13);+      tipLine2.setAttribute('x', adjustedX + 8); tipLine2.setAttribute('y', adjustedY + 26);+      tipLine3.setAttribute('x', adjustedX + 8); tipLine3.setAttribute('y', adjustedY + 39);+      tipGroup.style.display = '';+    });++    svg.addEventListener('mouseleave', function() {+      dot.style.display = 'none'; tipGroup.style.display = 'none'; vLine.style.display = 'none';+    });++    svg.style.cursor = 'pointer';+  })();+})();+</script>+</div>+</body>+</html>\ No newline at end of file
README.md+14
@@ -1,3 +1,17 @@ # LQM18JNR10J00D  Murata · 100nH Inductor · 0603 · AEC-Q200++## Characterization++<iframe src="/blob/component/lqm18jnr10j00d/LQM18JNR10J00D.html" width="100%" height="2400" frameborder="0" style="border: none; border-radius: 8px;" allowfullscreen></iframe>++**[View Full Characterization Page →](/blob/component/lqm18jnr10j00d/LQM18JNR10J00D.html)**++Interactive specs, impedance chart, reflow profile, package dimensions, and sourcing info.++## Downloads++| File | Description |+|------|-------------|+| [LQM18JNR10J00D.html](/blob/component/lqm18jnr10j00d/LQM18JNR10J00D.html) | Characterization Page |