Circuit
muse spark 1.2 contributor · full

Reviews & generation details
Reviews
No human review yet. Unreviewed does not mean unsuccessful.
Generation context
Imported historical artifact. Its exact original instructions and lineage are not known.
Generation prompt · exact text unavailable
See the current prompt for reference. It may differ from the instructions used to generate this artifact.
Inspect original source 84,665 bytes · SHA-256 72df94aa57c9
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Stereo Audio Amplifier — Breadboard Build Guide</title>
<link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600&family=Inter:wght@400;600;700;800&family=Space+Grotesk:wght@500;700&display=swap" rel="stylesheet">
<style>
:root{
--bg:#0a0f14;--bg2:#0f1a22;--card:#121e2a;--card2:#162636;--line:#1e3446;--line2:#243d52;
--text:#e6f0f7;--muted:#8aa0b3;--dim:#5d7588;--accent:#00e5cc;--accent2:#ff8c42;--accent3:#7c5cff;
--warn:#ffb020;--ok:#00e676;--radius:16px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;overflow-x:hidden}
a{color:var(--accent);text-decoration:none}
.mono{font-family:'JetBrains Mono',monospace}
.container{max-width:1120px;margin:0 auto;padding:0 24px}
nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(16px);background:rgba(10,15,20,0.85);border-bottom:1px solid var(--line)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:16px}
.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:-0.02em}
.brand-mark{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--accent),var(--accent3));display:grid;place-items:center;font-size:18px}
.brand span{font-family:'Space Grotesk',sans-serif;font-size:18px}
.nav-links{display:flex;gap:6px;flex-wrap:wrap}
.nav-links a{font-size:13px;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;color:var(--muted);padding:8px 12px;border-radius:999px;border:1px solid transparent;transition:.2s}
.nav-links a:hover{color:var(--text);border-color:var(--line2);background:rgba(255,255,255,0.03)}
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line);background:radial-gradient(800px 400px at 20% -10%, rgba(0,229,204,0.15), transparent 60%),radial-gradient(700px 500px at 90% 0%, rgba(124,92,255,0.18), transparent 60%),radial-gradient(600px 400px at 50% 120%, rgba(255,140,66,0.08), transparent 60%),linear-gradient(180deg, #0f1a22 0%, #0a0f14 100%)}
.hero-grid{display:grid;grid-template-columns:1.15fr 0.85fr;gap:40px;padding:48px 0 36px;align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:0.14em;text-transform:uppercase;font-weight:700;color:var(--accent);background:rgba(0,229,204,0.08);border:1px solid rgba(0,229,204,0.22);padding:6px 12px;border-radius:999px}
.eyebrow i{width:8px;height:8px;background:var(--accent);border-radius:50%;box-shadow:0 0 10px var(--accent);display:inline-block;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.5}}
h1{font-family:'Space Grotesk',sans-serif;font-size:clamp(32px,5vw,52px);line-height:0.95;letter-spacing:-0.03em;margin:16px 0 14px;font-weight:700}
h1 em{font-style:normal;background:linear-gradient(90deg,var(--accent),#4de8ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.hero p{color:var(--muted);font-size:17px;max-width:560px}
.hero-stats{display:flex;gap:16px;margin-top:22px;flex-wrap:wrap}
.stat{background:rgba(255,255,255,0.04);border:1px solid var(--line);border-radius:12px;padding:12px 16px;min-width:120px}
.stat b{font-size:20px;display:block;line-height:1}
.stat span{font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--dim);font-weight:700}
.hero-card{background:var(--card);border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,0.4)}
.hero-card-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line);background:rgba(255,255,255,0.02)}
.dots{display:flex;gap:6px}.dots i{width:10px;height:10px;border-radius:50%;display:block}
.hero-card-head span{font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--dim);font-weight:700}
.mini-spec{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}
.mini-spec div{background:var(--card2);padding:14px 16px}.mini-spec b{font-size:13px}.mini-spec p{font-size:12px;color:var(--muted);margin-top:2px}
.btn-row{display:flex;gap:10px;padding:16px}
.btn{flex:1;padding:12px 16px;border-radius:12px;font-weight:700;font-size:14px;border:1px solid var(--line);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.2s}
.btn-primary{background:var(--accent);color:#001412;border-color:var(--accent)}.btn-primary:hover{filter:brightness(1.08);transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--text)}.btn-ghost:hover{background:rgba(255,255,255,0.06)}
.section{padding:42px 0}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.section-head h2{font-family:'Space Grotesk',sans-serif;font-size:28px;letter-spacing:-0.02em;line-height:1;display:flex;align-items:center;gap:12px}
.num{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-size:14px;font-weight:800;color:#001412;background:var(--accent);flex-shrink:0}
.section-head h2 small{font-size:13px;letter-spacing:0.14em;text-transform:uppercase;color:var(--dim);font-weight:700;margin-left:4px}
.section-desc{color:var(--muted);max-width:720px;font-size:15px;margin-top:8px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px}
.card h3{font-size:15px;letter-spacing:-0.01em;margin-bottom:8px;display:flex;align-items:center;gap:8px}
.card p{font-size:14px;color:var(--muted)}
.icon{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;font-size:16px;flex-shrink:0}
.how-box{background:linear-gradient(180deg, rgba(0,229,204,0.08), transparent);border:1px solid rgba(0,229,204,0.18);border-radius:16px;padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:center}
.flow{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.flow-step{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 12px;flex:1;min-width:120px;text-align:center}
.flow-step b{font-size:12px;letter-spacing:0.06em;text-transform:uppercase;color:var(--accent)}
.flow-step p{font-size:13px;color:var(--text);font-weight:600;margin-top:2px}
.arrow{color:var(--dim);font-size:20px}
.alert{border-radius:12px;padding:14px 16px;display:flex;gap:12px;align-items:flex-start;font-size:13px;line-height:1.5}
.alert-warn{background:rgba(255,176,32,0.08);border:1px solid rgba(255,176,32,0.25);color:#ffd9a0}
.alert-ok{background:rgba(0,230,118,0.08);border:1px solid rgba(0,230,118,0.2);color:#b9ffd8}
.alert-bad{background:rgba(255,70,70,0.08);border:1px solid rgba(255,70,70,0.2);color:#ffb4b4}
.tools-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.tool{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;text-align:center}
.tool i{font-size:26px;display:block;margin-bottom:8px}.tool b{font-size:13px}.tool p{font-size:12px;color:var(--muted);margin-top:4px}
.table-wrap{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.table-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line);flex-wrap:wrap;gap:12px}
.table-head h3{font-size:14px;letter-spacing:0.08em;text-transform:uppercase}
.badge{font-size:11px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;background:rgba(0,229,204,0.12);color:var(--accent);border:1px solid rgba(0,229,204,0.2);padding:6px 10px;border-radius:999px}
table{width:100%;border-collapse:collapse;font-size:14px}
thead th{text-align:left;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--dim);padding:12px 16px;border-bottom:1px solid var(--line);background:rgba(255,255,255,0.02);font-weight:700}
tbody td{padding:14px 16px;border-bottom:1px solid rgba(30,52,70,0.6);vertical-align:top}
tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:rgba(255,255,255,0.02)}
.qty{display:inline-grid;place-items:center;min-width:32px;height:28px;background:var(--card2);border:1px solid var(--line2);border-radius:8px;font-weight:700;font-size:13px}
.part{font-weight:700}.part small{display:block;color:var(--muted);font-weight:400;font-size:12px;margin-top:2px}
.role{color:var(--muted);font-size:13px;line-height:1.5}
.tag{font-size:10px;letter-spacing:0.08em;text-transform:uppercase;font-weight:700;padding:3px 7px;border-radius:999px;border:1px solid var(--line2);color:var(--dim);margin-left:6px}
.diagram-tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.tab{padding:10px 16px;border-radius:999px;font-weight:700;font-size:13px;border:1px solid var(--line);background:var(--card);color:var(--muted);cursor:pointer;transition:.2s}
.tab.active{background:var(--accent);color:#001412;border-color:var(--accent)}
.diagram-card{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.diagram-card-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line);background:rgba(255,255,255,0.02);flex-wrap:wrap;gap:10px}
.diagram-card-head h3{font-size:13px;letter-spacing:0.08em;text-transform:uppercase}
.legend{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--dim)}
.legend i{width:10px;height:10px;border-radius:50%;display:inline-block;vertical-align:middle;margin-right:4px}
.svg-wrap{background:#0b131b;padding:12px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.svg-wrap svg{display:block;max-width:none}
#panel-schematic .svg-wrap{padding:0;overflow-x:auto}
#panel-schematic .svg-wrap svg{width:1040px;min-width:1040px;height:500px;display:block}
#panel-breadboard .svg-wrap svg{width:960px;min-width:960px;height:560px}
.steps{display:grid;gap:14px}
.step{display:grid;grid-template-columns:56px 1fr;gap:16px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px;position:relative;overflow:hidden}
.step::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--line)}
.step.done::before{background:var(--accent)}
.step-num{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-weight:800;font-size:16px;background:var(--card2);border:1px solid var(--line2);color:var(--muted)}
.step.done .step-num{background:var(--accent);color:#001412;border-color:var(--accent)}
.step h4{font-size:15px;margin-bottom:6px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.step p{font-size:14px;color:var(--muted);line-height:1.6}
.step ul{margin:8px 0 0 18px;font-size:13px;color:var(--muted)}
.step code{background:rgba(0,229,204,0.1);border:1px solid rgba(0,229,204,0.18);padding:1px 6px;border-radius:6px;font-size:12px;color:var(--accent);font-family:'JetBrains Mono',monospace}
.check{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--ok);background:rgba(0,230,118,0.1);border:1px solid rgba(0,230,118,0.2);padding:4px 8px;border-radius:999px;margin-top:10px}
.troubleshoot{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.issue{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px}
.issue h4{font-size:13px;display:flex;align-items:center;gap:8px;margin-bottom:6px}
.issue p{font-size:13px;color:var(--muted)}
.test-procedure{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.test-procedure h3{font-size:14px;letter-spacing:0.06em;text-transform:uppercase;margin-bottom:10px}
.test-list{list-style:none;display:grid;gap:10px}
.test-list li{display:grid;grid-template-columns:28px 1fr;gap:10px;background:var(--card2);border:1px solid var(--line2);border-radius:10px;padding:10px 12px;font-size:13px;color:var(--muted)}
.test-list li b{color:var(--text)}
.test-num{width:24px;height:24px;border-radius:50%;background:rgba(0,229,204,0.12);border:1px solid rgba(0,229,204,0.2);color:var(--accent);display:grid;place-items:center;font-weight:800;font-size:12px}
footer{margin-top:40px;border-top:1px solid var(--line);padding:24px 0 36px;color:var(--dim);font-size:13px;text-align:center}
@media(max-width:900px){
.hero-grid{grid-template-columns:1fr}.grid2{grid-template-columns:1fr}.tools-grid{grid-template-columns:repeat(2,1fr)}
.how-box{grid-template-columns:1fr}.troubleshoot{grid-template-columns:1fr}.test-procedure{grid-template-columns:1fr}.nav-links{display:none}
}
@media(max-width:560px){table{font-size:13px}thead th:nth-child(3),tbody td:nth-child(3){display:none}.tools-grid{grid-template-columns:1fr 1fr}}
</style>
</head>
<body>
<nav>
<div class="container nav-inner">
<div class="brand"><div class="brand-mark">◈</div><span>AMP_LAB • STEREO</span><span style="font-size:11px;letter-spacing:0.12em;color:var(--dim);font-weight:700;border:1px solid var(--line2);padding:3px 8px;border-radius:999px">LM386 • BREADBOARD</span></div>
<div class="nav-links"><a href="#overview">Overview</a><a href="#safety">Safety</a><a href="#parts">BOM</a><a href="#diagrams">Diagrams</a><a href="#build">Build</a><a href="#test">Test</a></div>
</div>
</nav>
<header class="hero" id="overview">
<div class="container hero-grid">
<div>
<div class="eyebrow"><i></i> Beginner Friendly • No Soldering Required</div>
<h1>Build a <em>Stereo Audio Amplifier</em> on a Breadboard</h1>
<p>A complete guide to building a 2×0.5W stereo amplifier using two <b style="color:var(--text)">LM386</b> low-voltage power amplifier ICs. Plug in your phone, turn the knob, and drive a pair of 8Ω speakers — all on a single solderless breadboard.</p>
<div class="hero-stats">
<div class="stat"><b>~45 min</b><span>Build Time</span></div>
<div class="stat"><b>9V</b><span>Supply</span></div>
<div class="stat"><b>2 × 0.5W</b><span>Into 8Ω</span></div>
<div class="stat"><b>Gain 20–200</b><span>Selectable</span></div>
</div>
</div>
<div class="hero-card">
<div class="hero-card-head"><span style="display:flex;align-items:center;gap:8px"><span class="dots"><i style="background:#ff5f56"></i><i style="background:#ffbd2e"></i><i style="background:#27c93f"></i></span> SPEC SHEET</span><span class="mono" style="color:var(--accent)">LM386N-3 • DIP-8</span></div>
<div style="padding:18px">
<div style="background:var(--card2);border:1px solid var(--line2);border-radius:12px;padding:14px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center">
<div><div style="font-size:12px;letter-spacing:0.1em;text-transform:uppercase;color:var(--dim);font-weight:700">How it works</div><div style="font-size:13px;color:var(--muted);margin-top:4px;line-height:1.5">Tiny audio signal (100–300 mV) → <b style="color:var(--text)">LM386</b> amplifies voltage & current → large swing drives speaker cone. Two identical mono blocks = true stereo.</div></div>
<div style="width:72px;height:72px;border-radius:12px;background:linear-gradient(135deg,#0b1e2a,#162e42);border:1px solid var(--line2);display:grid;place-items:center;font-size:28px">🔊</div>
</div>
<div class="mini-spec" style="margin-top:14px;border-radius:12px;overflow:hidden;border:1px solid var(--line)">
<div><b>Input</b><p>3.5mm TRS stereo jack</p></div><div><b>Control</b><p>Dual 10k log pot (volume)</p></div>
<div><b>Power</b><p>9V battery / 5–12V DC</p></div><div><b>Output</b><p>2× 8Ω speakers</p></div>
</div>
</div>
<div class="btn-row"><a class="btn btn-primary" href="#build">Start Building →</a><a class="btn btn-ghost" href="#diagrams">View Diagrams</a></div>
</div>
</div>
</header>
<main>
<section class="section container">
<div class="how-box">
<div>
<h3 style="font-family:'Space Grotesk',sans-serif;font-size:18px;margin-bottom:8px">Signal Path in 10 Seconds</h3>
<p style="font-size:14px;color:var(--muted)">Each channel is an independent amplifier. The LM386 is internally biased, so you only need a handful of external parts to make it sing.</p>
<div class="flow" style="margin-top:14px">
<div class="flow-step"><b>Source</b><p>Phone / Laptop</p></div><span class="arrow">→</span>
<div class="flow-step"><b>Pot + Cap</b><p>Volume & DC block</p></div><span class="arrow">→</span>
<div class="flow-step"><b>LM386</b><p>Gain 20× (26 dB)</p></div><span class="arrow">→</span>
<div class="flow-step"><b>Speaker</b><p>220µF → 8Ω</p></div>
</div>
</div>
<div style="background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px">
<div style="font-size:12px;letter-spacing:0.08em;text-transform:uppercase;color:var(--dim);font-weight:700;margin-bottom:8px">Key Concepts</div>
<div style="display:grid;gap:8px;font-size:13px;color:var(--muted)">
<div><b style="color:var(--accent)">DC Blocking:</b> 10µF caps keep DC out of the pot & chip while letting audio through.</div>
<div><b style="color:var(--accent)">Gain Set:</b> Leave pins 1–8 open = 20×. Add 10µF between them = 200× (loud but noisy).</div>
<div><b style="color:var(--accent)">Bypass:</b> 100µF + 0.1µF on supply kills hum & oscillation.</div>
<div><b style="color:var(--accent)">Zobel:</b> 10Ω + 0.05µF on output tames high-frequency ringing (optional on breadboard).</div>
</div>
</div>
</div>
</section>
<section class="section container" id="safety">
<div class="section-head"><h2><span class="num">02</span> Safety & Prerequisites</h2><span style="font-size:12px;letter-spacing:0.08em;text-transform:uppercase;color:var(--dim);font-weight:700">Read before you power anything</span></div>
<div class="grid2">
<div class="card" style="border-left:3px solid var(--warn)">
<h3><span class="icon" style="background:rgba(255,176,32,0.12);border:1px solid rgba(255,176,32,0.25)">⚡</span> Workbench Safety</h3>
<ul style="margin:8px 0 0 18px;font-size:14px;color:var(--muted);display:grid;gap:6px">
<li><b style="color:var(--text)">9V is safe to touch</b> — but shorting the battery gets hot fast. Never leave a shorted battery unattended.</li>
<li>Remove power <b style="color:var(--text)">before</b> rewiring. Pull the battery snap, then move wires.</li>
<li>Electrolytic caps are polarized — <b style="color:var(--text)">reversed = pop</b>. Stripe = negative.</li>
<li>Keep speakers away from ears on first power-up. Start with volume at zero.</li>
<li>No mains power. Use a battery or a regulated 9V wall adapter (center-positive, 500mA+).</li>
</ul>
<div class="alert alert-warn" style="margin-top:14px"><span>⚠</span><span><b>Hot IC?</b> LM386 should be warm, not burning. If it's too hot to touch, you have a short or oscillation — cut power immediately.</span></div>
</div>
<div class="card">
<h3><span class="icon" style="background:rgba(0,229,204,0.1);border:1px solid rgba(0,229,204,0.2)">🛠</span> Tools & Skills</h3>
<div class="tools-grid" style="margin-top:12px">
<div class="tool"><i>🔧</i><b>Breadboard</b><p>830-point</p></div><div class="tool"><i>✂️</i><b>Wire Cutters</b><p>+ strippers</p></div><div class="tool"><i>📏</i><b>Multimeter</b><p>Volts & continuity</p></div><div class="tool"><i>🎧</i><b>Audio Source</b><p>Phone + 3.5mm</p></div>
<div class="tool"><i>🔋</i><b>9V Battery</b><p>+ snap connector</p></div><div class="tool"><i>🔌</i><b>Jumper Wires</b><p>Male-male kit</p></div><div class="tool"><i>🔊</i><b>Speakers</b><p>2× 4–8Ω</p></div><div class="tool" style="border-style:dashed;opacity:0.8"><i>🧲</i><b>Soldering</b><p>Optional</p></div>
</div>
<div class="alert alert-ok" style="margin-top:14px"><span>✓</span><span><b>No soldering needed.</b> Everything is press-fit. Soldering only helps if you want to make the 3.5mm jack more robust.</span></div>
</div>
</div>
<div class="card" style="margin-top:14px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px">
<div><h3 style="font-size:13px;letter-spacing:0.06em;text-transform:uppercase;color:var(--dim)">You Should Know</h3><p style="font-size:13px;margin-top:6px">How a breadboard works: the 5-hole rows are connected, the long rails are power buses, the center trench isolates the two sides.</p></div>
<div><h3 style="font-size:13px;letter-spacing:0.06em;text-transform:uppercase;color:var(--dim)">Reading Caps</h3><p style="font-size:13px;margin-top:6px"><code>106</code>=10µF, <code>227</code>=220µF, stripe = negative. Ceramic 104 = 0.1µF non-polar.</p></div>
<div><h3 style="font-size:13px;letter-spacing:0.06em;text-transform:uppercase;color:var(--dim)">IC Orientation</h3><p style="font-size:13px;margin-top:6px">Dot / notch = pin 1. Pin 1 is top-left when notch faces up. Count counter-clockwise.</p></div>
</div>
</section>
<section class="section container" id="parts">
<div class="section-head"><div><h2><span class="num" style="background:var(--accent2)">03</span> Complete Parts List <small>Bill of Materials</small></h2><p class="section-desc">All parts are common, through-hole, and available at any electronics retailer. Quantities are for <b style="color:var(--text)">stereo</b> (2 channels). Buy a few extra caps & jumpers — they're cheap insurance.</p></div></div>
<div class="table-wrap">
<div class="table-head"><h3>📦 Stereo BOM — LM386 Breadboard Amplifier</h3><span class="badge">14 line items • ~ $18 total</span></div>
<div style="overflow:auto">
<table>
<thead><tr><th style="width:36%">Component / Part Number</th><th style="width:10%">Qty</th><th>Value / Notes</th><th>Purpose / Role</th></tr></thead>
<tbody>
<tr><td><span class="part">LM386N-1 / N-3 / N-4 <span class="tag">DIP-8</span></span><small>Low Voltage Audio Power Amplifier IC</small></td><td><span class="qty">2</span></td><td class="mono" style="font-size:12px">N-3 preferred (0.7W). Any variant works at 9V.</td><td class="role">The amplifier itself — one per channel (Left & Right).</td></tr>
<tr><td><span class="part">Solderless Breadboard</span><small>830 tie-point, 2 power rails</small></td><td><span class="qty">1</span></td><td class="mono" style="font-size:12px">MB-102 size</td><td class="role">Prototyping platform — no soldering.</td></tr>
<tr><td><span class="part">10kΩ Dual-Gang Potentiometer</span><small>Log (Audio) taper, with knob</small></td><td><span class="qty">1</span></td><td class="mono" style="font-size:12px">B10k dual / stereo pot</td><td class="role">Master volume — attenuates input before the IC.</td></tr>
<tr><td><span class="part">3.5mm Stereo Jack</span><small>TRS breakout or panel mount</small></td><td><span class="qty">1</span></td><td class="mono" style="font-size:12px">Tip=Left, Ring=Right, Sleeve=GND</td><td class="role">Audio input from phone / laptop.</td></tr>
<tr><td><span class="part">Electrolytic Capacitor — 10µF</span><small>16V or higher, radial</small></td><td><span class="qty">3</span></td><td class="mono" style="font-size:12px">2× input coupling + 1× optional gain cap</td><td class="role">Blocks DC, couples AC audio; gain cap between pins 1–8.</td></tr>
<tr><td><span class="part">Electrolytic Capacitor — 220µF</span><small>16V+</small></td><td><span class="qty">2</span></td><td class="mono" style="font-size:12px">Output coupling</td><td class="role">Blocks DC from speaker; lets amplified audio through.</td></tr>
<tr><td><span class="part">Electrolytic Capacitor — 100µF</span><small>16V+</small></td><td><span class="qty">1</span></td><td class="mono" style="font-size:12px">Supply bypass</td><td class="role">Reservoir cap on power rails — prevents motorboating.</td></tr>
<tr><td><span class="part">Ceramic Capacitor — 0.1µF (104)</span><small>50V, non-polar</small></td><td><span class="qty">1</span></td><td class="mono" style="font-size:12px">104 code</td><td class="role">High-frequency supply decoupling, right at IC pins.</td></tr>
<tr><td><span class="part">Ceramic Capacitor — 0.05µF (473)</span><small>+ 10Ω resistor (Zobel)</small></td><td><span class="qty">2+2</span></td><td class="mono" style="font-size:12px">Optional but recommended</td><td class="role">Zobel network on each output — damps oscillation with inductive loads.</td></tr>
<tr><td><span class="part">Resistor — 10Ω</span><small>¼W, 5%</small></td><td><span class="qty">2</span></td><td class="mono" style="font-size:12px">Brown-Black-Black-Gold</td><td class="role">Part of Zobel network in series with 0.05µF to ground.</td></tr>
<tr><td><span class="part">8Ω Speakers</span><small>0.5–3W, 2–3 inch</small></td><td><span class="qty">2</span></td><td class="mono" style="font-size:12px">4Ω also works (louder, hotter)</td><td class="role">Transducers — convert electrical signal to sound.</td></tr>
<tr><td><span class="part">9V Battery + Snap Connector</span><small>or 9V DC adapter (500mA)</small></td><td><span class="qty">1</span></td><td class="mono" style="font-size:12px">Alkaline recommended</td><td class="role">Power supply — keep leads short, add switch if desired.</td></tr>
<tr><td><span class="part">Jumper Wires</span><small>Male-male, assorted lengths</small></td><td><span class="qty">~30</span></td><td class="mono" style="font-size:12px">Solid-core 22AWG works best</td><td class="role">Interconnections — color-code: red=+, black=GND, blue=signal.</td></tr>
<tr><td><span class="part">Slide Switch (optional)</span><small>SPST</small></td><td><span class="qty">1</span></td><td class="mono" style="font-size:12px">Inline with battery +</td><td class="role">Power switch — avoids yanking the battery each time.</td></tr>
</tbody>
</table>
</div>
<div style="padding:12px 18px;background:rgba(255,255,255,0.02);border-top:1px solid var(--line);display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--muted)">
<span>💡 <b style="color:var(--text)">Tip:</b> Buy an LM386 “starter kit” — it often includes all caps & resistors for under $8.</span>
<span style="margin-left:auto" class="mono">Total draw ≈ 80–150 mA at moderate volume</span>
</div>
</div>
</section>
<!-- DIAGRAMS -->
<section class="section container" id="diagrams">
<div class="section-head"><div><h2><span class="num" style="background:var(--accent3)">04</span> Circuit Diagrams</h2><p class="section-desc">Two views of the same circuit. The <b style="color:var(--text)">schematic</b> shows electrical connections; the <b style="color:var(--text)">breadboard view</b> shows exactly where to push each wire.</p></div></div>
<div class="diagram-tabs">
<button class="tab active" data-tab="schematic" onclick="switchTab('schematic')">◈ Schematic Symbol View</button>
<button class="tab" data-tab="breadboard" onclick="switchTab('breadboard')">▦ Breadboard Wiring Guide</button>
</div>
<div id="panel-schematic" class="diagram-card">
<div class="diagram-card-head">
<h3>Left & Right Channels — Identical Mono Blocks (Gain = 20)</h3>
<div class="legend"><span><i style="background:#00e5cc"></i> Signal</span><span><i style="background:#ff3b3b"></i> +9V</span><span><i style="background:#5d7588"></i> GND</span></div>
</div>
<div class="svg-wrap" style="background:#0d1822">
<svg viewBox="0 0 980 460" xmlns="http://www.w3.org/2000/svg" role="img" aria-labelledby="schTitle">
<title id="schTitle">Stereo LM386 schematic — two identical channels with shared power</title>
<style>
.sl{stroke:#2a4458;stroke-width:2.8;fill:none}
.pw{stroke:#ff4d4d;stroke-width:3.2;fill:none}
.gd{stroke:#5d7588;stroke-width:2.8;fill:none}
.sg{stroke:#00e5cc;stroke-width:3.2;fill:none}
.sg2{stroke:#7c5cff;stroke-width:3.2;fill:none}
.tx{font-family:'JetBrains Mono',monospace;fill:#cfe6f5}
.lb{font-family:'Inter',sans-serif;fill:#8aa0b3;letter-spacing:0.05em;text-transform:uppercase;font-weight:700}
.ch{fill:#111d2a;stroke:#2a4458;stroke-width:1.8;rx:10}
.pn{fill:#0f1a22;stroke:#2a4458;stroke-width:1.4}
</style>
<!-- Top power rail -->
<line x1="20" y1="38" x2="960" y2="38" class="pw"/>
<text x="24" y="32" class="lb" font-size="9" fill="#ff8c8c">+9V RAIL</text>
<!-- Bottom GND rail -->
<line x1="20" y1="430" x2="960" y2="430" class="gd"/>
<text x="24" y="444" class="lb" font-size="9">GND RAIL</text>
<!-- Battery -->
<rect x="860" y="44" width="72" height="22" rx="7" fill="rgba(255,77,77,0.1)" stroke="rgba(255,77,77,0.3)"/>
<text x="896" y="59" text-anchor="middle" class="tx" font-size="10" fill="#ff8c8c">9V BATT</text>
<line x1="880" y1="38" x2="880" y2="44" class="pw"/><line x1="912" y1="66" x2="912" y2="430" class="gd"/>
<!-- Supply decoupling (center top) -->
<line x1="490" y1="38" x2="490" y2="78" class="pw"/>
<line x1="474" y1="92" x2="506" y2="92" stroke="#cfe6f5" stroke-width="1.7"/><line x1="474" y1="98" x2="506" y2="98" stroke="#cfe6f5" stroke-width="1.7"/>
<line x1="482" y1="78" x2="482" y2="92" class="sl"/><line x1="498" y1="98" x2="498" y2="430" class="gd"/>
<text x="514" y="100" class="tx" font-size="10">100µF</text>
<line x1="530" y1="38" x2="530" y2="76" class="pw"/>
<line x1="518" y1="84" x2="542" y2="84" stroke="#ffe08a" stroke-width="1.7"/><line x1="518" y1="90" x2="542" y2="90" stroke="#ffe08a" stroke-width="1.7"/>
<line x1="530" y1="90" x2="530" y2="430" class="gd"/>
<text x="548" y="92" class="tx" font-size="10" fill="#ffe08a">0.1µF</text>
<!-- ============ LEFT CHANNEL ============ -->
<rect x="18" y="68" width="452" height="22" rx="8" fill="rgba(0,229,204,0.08)" stroke="rgba(0,229,204,0.2)"/>
<text x="244" y="83" text-anchor="middle" class="lb" font-size="10" fill="#7af0e0">LEFT CHANNEL — LM386 (U1)</text>
<!-- Left chip -->
<rect x="168" y="118" width="122" height="196" class="ch"/>
<text x="229" y="138" text-anchor="middle" class="tx" font-size="11">LM386</text>
<text x="229" y="150" text-anchor="middle" class="lb" font-size="7">U1 — LEFT</text>
<!-- notch -->
<rect x="208" y="118" width="42" height="8" rx="4" fill="#0a0f14" stroke="#2a4458"/><circle cx="178" cy="127" r="2.6" fill="#00e5cc"/>
<!-- pins left -->
<rect x="154" y="162" width="16" height="16" rx="3" class="pn"/><text x="142" y="174" text-anchor="end" class="tx" font-size="10">1</text><text x="142" y="184" text-anchor="end" class="lb" font-size="7">GAIN</text>
<rect x="154" y="192" width="16" height="16" rx="3" class="pn"/><text x="142" y="204" text-anchor="end" class="tx" font-size="10">2</text><text x="142" y="214" text-anchor="end" class="lb" font-size="7">–IN</text>
<rect x="154" y="222" width="16" height="16" rx="3" class="pn"/><text x="142" y="234" text-anchor="end" class="tx" font-size="10">3</text><text x="142" y="244" text-anchor="end" class="lb" font-size="7">+IN</text>
<rect x="154" y="272" width="16" height="16" rx="3" class="pn"/><text x="142" y="284" text-anchor="end" class="tx" font-size="10">4</text><text x="142" y="294" text-anchor="end" class="lb" font-size="7">GND</text>
<!-- pins right -->
<rect x="288" y="272" width="16" height="16" rx="3" class="pn"/><text x="314" y="284" class="tx" font-size="10">5</text><text x="314" y="294" class="lb" font-size="7">OUT</text>
<rect x="288" y="222" width="16" height="16" rx="3" class="pn"/><text x="314" y="234" class="tx" font-size="10">6</text><text x="314" y="244" class="lb" font-size="7">Vs</text>
<rect x="288" y="192" width="16" height="16" rx="3" class="pn"/><text x="314" y="204" class="tx" font-size="10">7</text><text x="314" y="214" class="lb" font-size="7">BYPASS</text>
<rect x="288" y="162" width="16" height="16" rx="3" class="pn"/><text x="314" y="174" class="tx" font-size="10">8</text><text x="314" y="184" class="lb" font-size="7">GAIN</text>
<!-- gain note -->
<rect x="72" y="162" width="72" height="16" rx="7" fill="rgba(255,255,255,0.04)" stroke="#243d52"/><text x="108" y="173" text-anchor="middle" class="lb" font-size="6.5">OPEN = 20×</text>
<!-- Left wiring -->
<!-- Vs to +9V -->
<line x1="296" y1="230" x2="340" y2="230" class="pw"/><line x1="340" y1="230" x2="340" y2="38" class="pw"/><circle cx="340" cy="38" r="2.5" fill="#ff4d4d"/>
<!-- GND pins -->
<line x1="162" y1="280" x2="110" y2="280" class="gd"/><line x1="110" y1="280" x2="110" y2="430" class="gd"/>
<line x1="162" y1="200" x2="126" y2="200" class="gd"/><line x1="126" y1="200" x2="126" y2="280" class="gd"/>
<!-- Bypass cap pin7 -->
<line x1="296" y1="200" x2="330" y2="200" class="sl"/>
<line x1="330" y1="188" x2="330" y2="212" stroke="#cfe6f5" stroke-width="1.6"/><line x1="336" y1="188" x2="336" y2="212" stroke="#cfe6f5" stroke-width="1.6"/>
<line x1="333" y1="212" x2="333" y2="430" class="gd"/><text x="344" y="204" class="tx" font-size="10">10µF</text>
<!-- Input: pot -> cap -> pin3 -->
<rect x="26" y="214" width="34" height="36" rx="6" fill="none" stroke="#00e5cc" stroke-width="1.6"/>
<line x1="43" y1="220" x2="43" y2="244" stroke="#00e5cc" stroke-width="1.2"/><polygon points="43,222 51,232 43,242" fill="#00e5cc"/>
<text x="43" y="262" text-anchor="middle" class="lb" font-size="7" fill="#00e5cc">10k LOG</text>
<line x1="26" y1="226" x2="8" y2="226" class="sg"/><text x="8" y="222" text-anchor="end" class="lb" font-size="7" fill="#00e5cc">L IN</text>
<line x1="26" y1="238" x2="14" y2="238" class="gd"/><text x="8" y="248" text-anchor="end" class="lb" font-size="7">GND</text>
<line x1="60" y1="232" x2="78" y2="232" class="sg"/>
<line x1="78" y1="220" x2="78" y2="244" stroke="#00e5cc" stroke-width="1.7"/><line x1="84" y1="220" x2="84" y2="244" stroke="#00e5cc" stroke-width="1.7"/>
<line x1="84" y1="232" x2="110" y2="232" class="sg"/><line x1="110" y1="232" x2="162" y2="232" class="sg"/>
<text x="70" y="218" class="tx" font-size="9" fill="#00e5cc">10µF</text>
<!-- Output -->
<line x1="296" y1="280" x2="340" y2="280" class="sg"/>
<line x1="350" y1="268" x2="350" y2="292" stroke="#00e5cc" stroke-width="1.7"/><line x1="356" y1="268" x2="356" y2="292" stroke="#00e5cc" stroke-width="1.7"/>
<line x1="340" y1="280" x2="350" y2="280" class="sg"/><line x1="356" y1="280" x2="388" y2="280" class="sg"/>
<text x="346" y="264" class="tx" font-size="9" fill="#00e5cc">220µF</text>
<rect x="388" y="262" width="44" height="36" rx="7" fill="none" stroke="#e6f0f7" stroke-width="1.3"/>
<circle cx="410" cy="280" r="12" fill="none" stroke="#e6f0f7" stroke-width="1.1"/><circle cx="410" cy="280" r="5.5" fill="none" stroke="#e6f0f7" stroke-width="0.9"/>
<line x1="432" y1="280" x2="456" y2="280" class="gd"/><line x1="456" y1="280" x2="456" y2="430" class="gd"/>
<text x="410" y="308" text-anchor="middle" class="tx" font-size="9">8Ω SPK L</text>
<!-- Zobel -->
<line x1="388" y1="280" x2="388" y2="322" class="sl"/><rect x="376" y="322" width="24" height="10" rx="2" fill="none" stroke="#ffb020" stroke-width="1.1"/><text x="404" y="330" class="tx" font-size="8" fill="#ffb020">10Ω</text>
<line x1="388" y1="332" x2="388" y2="346" class="sl"/><line x1="378" y1="346" x2="398" y2="346" stroke="#ffb020" stroke-width="1.3"/><line x1="378" y1="351" x2="398" y2="351" stroke="#ffb020" stroke-width="1.3"/>
<line x1="388" y1="351" x2="388" y2="430" class="gd"/><text x="402" y="352" class="tx" font-size="8" fill="#ffb020">0.05µF</text>
<!-- ============ RIGHT CHANNEL ============ -->
<rect x="510" y="68" width="452" height="22" rx="8" fill="rgba(124,92,255,0.08)" stroke="rgba(124,92,255,0.2)"/>
<text x="736" y="83" text-anchor="middle" class="lb" font-size="10" fill="#b9a7ff">RIGHT CHANNEL — LM386 (U2)</text>
<rect x="650" y="118" width="122" height="196" class="ch"/>
<text x="711" y="138" text-anchor="middle" class="tx" font-size="11">LM386</text>
<text x="711" y="150" text-anchor="middle" class="lb" font-size="7">U2 — RIGHT</text>
<rect x="690" y="118" width="42" height="8" rx="4" fill="#0a0f14" stroke="#2a4458"/><circle cx="660" cy="127" r="2.6" fill="#7c5cff"/>
<rect x="636" y="162" width="16" height="16" rx="3" class="pn"/><text x="624" y="174" text-anchor="end" class="tx" font-size="10">1</text>
<rect x="636" y="192" width="16" height="16" rx="3" class="pn"/><text x="624" y="204" text-anchor="end" class="tx" font-size="10">2</text>
<rect x="636" y="222" width="16" height="16" rx="3" class="pn"/><text x="624" y="234" text-anchor="end" class="tx" font-size="10">3</text>
<rect x="636" y="272" width="16" height="16" rx="3" class="pn"/><text x="624" y="284" text-anchor="end" class="tx" font-size="10">4</text>
<rect x="770" y="272" width="16" height="16" rx="3" class="pn"/><text x="796" y="284" class="tx" font-size="10">5</text><text x="796" y="294" class="lb" font-size="7">OUT</text>
<rect x="770" y="222" width="16" height="16" rx="3" class="pn"/><text x="796" y="234" class="tx" font-size="10">6</text>
<rect x="770" y="192" width="16" height="16" rx="3" class="pn"/><text x="796" y="204" class="tx" font-size="10">7</text>
<rect x="770" y="162" width="16" height="16" rx="3" class="pn"/><text x="796" y="174" class="tx" font-size="10">8</text>
<rect x="554" y="162" width="72" height="16" rx="7" fill="rgba(255,255,255,0.04)" stroke="#243d52"/><text x="590" y="173" text-anchor="middle" class="lb" font-size="6.5">OPEN = 20×</text>
<!-- Right wiring -->
<line x1="778" y1="230" x2="820" y2="230" class="pw"/><line x1="820" y1="230" x2="820" y2="38" class="pw"/><circle cx="820" cy="38" r="2.5" fill="#ff4d4d"/>
<line x1="644" y1="280" x2="590" y2="280" class="gd"/><line x1="590" y1="280" x2="590" y2="430" class="gd"/>
<line x1="644" y1="200" x2="606" y2="200" class="gd"/><line x1="606" y1="200" x2="606" y2="280" class="gd"/>
<line x1="778" y1="200" x2="812" y2="200" class="sl"/>
<line x1="812" y1="188" x2="812" y2="212" stroke="#cfe6f5" stroke-width="1.6"/><line x1="818" y1="188" x2="818" y2="212" stroke="#cfe6f5" stroke-width="1.6"/>
<line x1="815" y1="212" x2="815" y2="430" class="gd"/><text x="826" y="204" class="tx" font-size="10">10µF</text>
<!-- Input -->
<rect x="508" y="214" width="34" height="36" rx="6" fill="none" stroke="#7c5cff" stroke-width="1.6"/>
<line x1="525" y1="220" x2="525" y2="244" stroke="#7c5cff" stroke-width="1.2"/><polygon points="525,222 533,232 525,242" fill="#7c5cff"/>
<text x="525" y="262" text-anchor="middle" class="lb" font-size="7" fill="#7c5cff">10k LOG</text>
<line x1="508" y1="226" x2="492" y2="226" class="sg2"/><text x="490" y="222" text-anchor="end" class="lb" font-size="7" fill="#7c5cff">R IN</text>
<line x1="508" y1="238" x2="496" y2="238" class="gd"/>
<line x1="542" y1="232" x2="560" y2="232" class="sg2"/>
<line x1="560" y1="220" x2="560" y2="244" stroke="#7c5cff" stroke-width="1.7"/><line x1="566" y1="220" x2="566" y2="244" stroke="#7c5cff" stroke-width="1.7"/>
<line x1="566" y1="232" x2="592" y2="232" class="sg2"/><line x1="592" y1="232" x2="644" y2="232" class="sg2"/>
<text x="552" y="218" class="tx" font-size="9" fill="#7c5cff">10µF</text>
<!-- Output -->
<line x1="778" y1="280" x2="820" y2="280" class="sg2"/>
<line x1="830" y1="268" x2="830" y2="292" stroke="#7c5cff" stroke-width="1.7"/><line x1="836" y1="268" x2="836" y2="292" stroke="#7c5cff" stroke-width="1.7"/>
<line x1="820" y1="280" x2="830" y2="280" class="sg2"/><line x1="836" y1="280" x2="868" y2="280" class="sg2"/>
<text x="826" y="264" class="tx" font-size="9" fill="#7c5cff">220µF</text>
<rect x="868" y="262" width="44" height="36" rx="7" fill="none" stroke="#e6f0f7" stroke-width="1.3"/>
<circle cx="890" cy="280" r="12" fill="none" stroke="#e6f0f7" stroke-width="1.1"/><circle cx="890" cy="280" r="5.5" fill="none" stroke="#e6f0f7" stroke-width="0.9"/>
<line x1="912" y1="280" x2="936" y2="280" class="gd"/><line x1="936" y1="280" x2="936" y2="430" class="gd"/>
<text x="890" y="308" text-anchor="middle" class="tx" font-size="9">8Ω SPK R</text>
<line x1="868" y1="280" x2="868" y2="322" class="sl"/><rect x="856" y="322" width="24" height="10" rx="2" fill="none" stroke="#ffb020" stroke-width="1.1"/><text x="884" y="330" class="tx" font-size="8" fill="#ffb020">10Ω</text>
<line x1="868" y1="332" x2="868" y2="346" class="sl"/><line x1="858" y1="346" x2="878" y2="346" stroke="#ffb020" stroke-width="1.3"/><line x1="858" y1="351" x2="878" y2="351" stroke="#ffb020" stroke-width="1.3"/>
<line x1="868" y1="351" x2="868" y2="430" class="gd"/><text x="882" y="352" class="tx" font-size="8" fill="#ffb020">0.05µF</text>
<!-- Stereo jack -->
<rect x="210" y="350" width="180" height="42" rx="10" fill="rgba(0,229,204,0.06)" stroke="rgba(0,229,204,0.22)" stroke-width="1.2" stroke-dasharray="6 4"/>
<text x="300" y="368" text-anchor="middle" class="lb" font-size="8" fill="#7af0e0">STEREO INPUT JACK (3.5mm TRS)</text>
<text x="252" y="382" text-anchor="middle" class="tx" font-size="9">TIP → L</text><text x="348" y="382" text-anchor="middle" class="tx" font-size="9" fill="#b9a7ff">RING → R</text>
<text x="300" y="394" text-anchor="middle" class="lb" font-size="7">SLEEVE → GND (common)</text>
<line x1="252" y1="386" x2="60" y2="386" stroke="#00e5cc" stroke-width="1.2" stroke-dasharray="4 3" opacity="0.7"/>
<line x1="348" y1="386" x2="508" y2="386" stroke="#7c5cff" stroke-width="1.2" stroke-dasharray="4 3" opacity="0.7"/>
<line x1="300" y1="392" x2="300" y2="430" class="gd" stroke-dasharray="4 3" opacity="0.6"/>
</svg>
</div>
<div style="padding:12px 18px;background:rgba(255,255,255,0.02);border-top:1px solid var(--line);display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--muted)">
<span>🔍 <b style="color:var(--text)">Gain:</b> Leave pins 1 & 8 unconnected for clean 20×. Add a 10µF cap between them for 200× (louder, more hiss).</span>
<span style="margin-left:auto" class="mono">Tip: Print this schematic for your bench.</span>
</div>
</div>
<div id="panel-breadboard" class="diagram-card" style="display:none">
<div class="diagram-card-head">
<h3>Breadboard Wiring Guide — Top View (Not to Scale)</h3>
<div class="legend"><span><i style="background:#ff3b3b"></i> +9V</span><span><i style="background:#1a1a1a;border:1px solid #555"></i> GND</span><span><i style="background:#00e5cc"></i> Left Signal</span><span><i style="background:#7c5cff"></i> Right Signal</span></div>
</div>
<div class="svg-wrap" style="background:#0e1a24">
<svg viewBox="0 0 960 560" width="960" height="560" xmlns="http://www.w3.org/2000/svg" role="img" aria-labelledby="bbTitle" style="width:960px;min-width:960px;height:560px">
<title id="bbTitle">Breadboard wiring guide showing placement of LM386 ICs, capacitors, potentiometer and speakers</title>
<style>.bb{fill:#e9eef3;stroke:#cbd6e2;stroke-width:1.2;rx:10}.rail{fill:#f7f9fb;stroke:#d0dbe6;stroke-width:1}.hole{fill:#1a2a3a}.hole-red{fill:#2a1a1a}.wire{stroke-linecap:round;stroke-width:4;fill:none}.wire-thin{stroke-width:3}</style>
<rect x="20" y="20" width="920" height="520" class="bb"/>
<rect x="32" y="32" width="896" height="36" class="rail" rx="6"/>
<rect x="32" y="472" width="896" height="36" class="rail" rx="6"/>
<rect x="20" y="258" width="920" height="24" fill="#0a0f14"/>
<text x="480" y="274" text-anchor="middle" fill="#2a4458" font-family="JetBrains Mono" font-size="8" letter-spacing="0.2em">TRENCH — ICs STRADDLE HERE</text>
<g opacity="0.9"><g id="top-holes"></g></g>
<g fill="#8b0000" opacity="0.9">
<circle cx="60" cy="44" r="3.5"/><circle cx="60" cy="56" r="3.5"/><circle cx="90" cy="44" r="3.5"/><circle cx="90" cy="56" r="3.5"/><circle cx="120" cy="44" r="3.5"/><circle cx="120" cy="56" r="3.5"/><circle cx="150" cy="44" r="3.5"/><circle cx="150" cy="56" r="3.5"/><circle cx="180" cy="44" r="3.5"/><circle cx="180" cy="56" r="3.5"/><circle cx="210" cy="44" r="3.5"/><circle cx="210" cy="56" r="3.5"/><circle cx="240" cy="44" r="3.5"/><circle cx="240" cy="56" r="3.5"/><circle cx="270" cy="44" r="3.5"/><circle cx="270" cy="56" r="3.5"/><circle cx="300" cy="44" r="3.5"/><circle cx="300" cy="56" r="3.5"/><circle cx="330" cy="44" r="3.5"/><circle cx="330" cy="56" r="3.5"/><circle cx="360" cy="44" r="3.5"/><circle cx="360" cy="56" r="3.5"/><circle cx="390" cy="44" r="3.5"/><circle cx="390" cy="56" r="3.5"/><circle cx="420" cy="44" r="3.5"/><circle cx="420" cy="56" r="3.5"/><circle cx="450" cy="44" r="3.5"/><circle cx="450" cy="56" r="3.5"/><circle cx="480" cy="44" r="3.5"/><circle cx="480" cy="56" r="3.5"/><circle cx="510" cy="44" r="3.5"/><circle cx="510" cy="56" r="3.5"/><circle cx="540" cy="44" r="3.5"/><circle cx="540" cy="56" r="3.5"/><circle cx="570" cy="44" r="3.5"/><circle cx="570" cy="56" r="3.5"/><circle cx="600" cy="44" r="3.5"/><circle cx="600" cy="56" r="3.5"/><circle cx="630" cy="44" r="3.5"/><circle cx="630" cy="56" r="3.5"/><circle cx="660" cy="44" r="3.5"/><circle cx="660" cy="56" r="3.5"/><circle cx="690" cy="44" r="3.5"/><circle cx="690" cy="56" r="3.5"/><circle cx="720" cy="44" r="3.5"/><circle cx="720" cy="56" r="3.5"/><circle cx="750" cy="44" r="3.5"/><circle cx="750" cy="56" r="3.5"/><circle cx="780" cy="44" r="3.5"/><circle cx="780" cy="56" r="3.5"/><circle cx="810" cy="44" r="3.5"/><circle cx="810" cy="56" r="3.5"/><circle cx="840" cy="44" r="3.5"/><circle cx="840" cy="56" r="3.5"/><circle cx="870" cy="44" r="3.5"/><circle cx="870" cy="56" r="3.5"/><circle cx="900" cy="44" r="3.5"/><circle cx="900" cy="56" r="3.5"/>
</g>
<g fill="#0a2a5a" opacity="0.9">
<circle cx="60" cy="484" r="3.5"/><circle cx="60" cy="496" r="3.5"/><circle cx="90" cy="484" r="3.5"/><circle cx="90" cy="496" r="3.5"/><circle cx="120" cy="484" r="3.5"/><circle cx="120" cy="496" r="3.5"/><circle cx="150" cy="484" r="3.5"/><circle cx="150" cy="496" r="3.5"/><circle cx="180" cy="484" r="3.5"/><circle cx="180" cy="496" r="3.5"/><circle cx="210" cy="484" r="3.5"/><circle cx="210" cy="496" r="3.5"/><circle cx="240" cy="484" r="3.5"/><circle cx="240" cy="496" r="3.5"/><circle cx="270" cy="484" r="3.5"/><circle cx="270" cy="496" r="3.5"/><circle cx="300" cy="484" r="3.5"/><circle cx="300" cy="496" r="3.5"/><circle cx="330" cy="484" r="3.5"/><circle cx="330" cy="496" r="3.5"/><circle cx="360" cy="484" r="3.5"/><circle cx="360" cy="496" r="3.5"/><circle cx="390" cy="484" r="3.5"/><circle cx="390" cy="496" r="3.5"/><circle cx="420" cy="484" r="3.5"/><circle cx="420" cy="496" r="3.5"/><circle cx="450" cy="484" r="3.5"/><circle cx="450" cy="496" r="3.5"/><circle cx="480" cy="484" r="3.5"/><circle cx="480" cy="496" r="3.5"/><circle cx="510" cy="484" r="3.5"/><circle cx="510" cy="496" r="3.5"/><circle cx="540" cy="484" r="3.5"/><circle cx="540" cy="496" r="3.5"/><circle cx="570" cy="484" r="3.5"/><circle cx="570" cy="496" r="3.5"/><circle cx="600" cy="484" r="3.5"/><circle cx="600" cy="496" r="3.5"/><circle cx="630" cy="484" r="3.5"/><circle cx="630" cy="496" r="3.5"/><circle cx="660" cy="484" r="3.5"/><circle cx="660" cy="496" r="3.5"/><circle cx="690" cy="484" r="3.5"/><circle cx="690" cy="496" r="3.5"/><circle cx="720" cy="484" r="3.5"/><circle cx="720" cy="496" r="3.5"/><circle cx="750" cy="484" r="3.5"/><circle cx="750" cy="496" r="3.5"/><circle cx="780" cy="484" r="3.5"/><circle cx="780" cy="496" r="3.5"/><circle cx="810" cy="484" r="3.5"/><circle cx="810" cy="496" r="3.5"/><circle cx="840" cy="484" r="3.5"/><circle cx="840" cy="496" r="3.5"/><circle cx="870" cy="484" r="3.5"/><circle cx="870" cy="496" r="3.5"/><circle cx="900" cy="484" r="3.5"/><circle cx="900" cy="496" r="3.5"/>
</g>
<g fill="#22364d" opacity="0.5">
<circle cx="60" cy="100" r="2.8"/><circle cx="90" cy="100" r="2.8"/><circle cx="120" cy="100" r="2.8"/><circle cx="150" cy="100" r="2.8"/><circle cx="180" cy="100" r="2.8"/><circle cx="210" cy="100" r="2.8"/><circle cx="240" cy="100" r="2.8"/><circle cx="270" cy="100" r="2.8"/><circle cx="300" cy="100" r="2.8"/><circle cx="330" cy="100" r="2.8"/><circle cx="360" cy="100" r="2.8"/><circle cx="390" cy="100" r="2.8"/><circle cx="420" cy="100" r="2.8"/><circle cx="450" cy="100" r="2.8"/><circle cx="480" cy="100" r="2.8"/><circle cx="510" cy="100" r="2.8"/><circle cx="540" cy="100" r="2.8"/><circle cx="570" cy="100" r="2.8"/><circle cx="600" cy="100" r="2.8"/><circle cx="630" cy="100" r="2.8"/><circle cx="660" cy="100" r="2.8"/><circle cx="690" cy="100" r="2.8"/><circle cx="720" cy="100" r="2.8"/><circle cx="750" cy="100" r="2.8"/><circle cx="780" cy="100" r="2.8"/><circle cx="810" cy="100" r="2.8"/><circle cx="840" cy="100" r="2.8"/><circle cx="870" cy="100" r="2.8"/><circle cx="900" cy="100" r="2.8"/>
<circle cx="60" cy="125" r="2.8"/><circle cx="90" cy="125" r="2.8"/><circle cx="120" cy="125" r="2.8"/><circle cx="150" cy="125" r="2.8"/><circle cx="180" cy="125" r="2.8"/><circle cx="210" cy="125" r="2.8"/><circle cx="240" cy="125" r="2.8"/><circle cx="270" cy="125" r="2.8"/><circle cx="300" cy="125" r="2.8"/><circle cx="330" cy="125" r="2.8"/><circle cx="360" cy="125" r="2.8"/><circle cx="390" cy="125" r="2.8"/><circle cx="420" cy="125" r="2.8"/><circle cx="450" cy="125" r="2.8"/><circle cx="480" cy="125" r="2.8"/><circle cx="510" cy="125" r="2.8"/><circle cx="540" cy="125" r="2.8"/><circle cx="570" cy="125" r="2.8"/><circle cx="600" cy="125" r="2.8"/><circle cx="630" cy="125" r="2.8"/><circle cx="660" cy="125" r="2.8"/><circle cx="690" cy="125" r="2.8"/><circle cx="720" cy="125" r="2.8"/><circle cx="750" cy="125" r="2.8"/><circle cx="780" cy="125" r="2.8"/><circle cx="810" cy="125" r="2.8"/><circle cx="840" cy="125" r="2.8"/><circle cx="870" cy="125" r="2.8"/><circle cx="900" cy="125" r="2.8"/>
<circle cx="60" cy="150" r="2.8"/><circle cx="90" cy="150" r="2.8"/><circle cx="120" cy="150" r="2.8"/><circle cx="150" cy="150" r="2.8"/><circle cx="180" cy="150" r="2.8"/><circle cx="210" cy="150" r="2.8"/><circle cx="240" cy="150" r="2.8"/><circle cx="270" cy="150" r="2.8"/><circle cx="300" cy="150" r="2.8"/><circle cx="330" cy="150" r="2.8"/><circle cx="360" cy="150" r="2.8"/><circle cx="390" cy="150" r="2.8"/><circle cx="420" cy="150" r="2.8"/><circle cx="450" cy="150" r="2.8"/><circle cx="480" cy="150" r="2.8"/><circle cx="510" cy="150" r="2.8"/><circle cx="540" cy="150" r="2.8"/><circle cx="570" cy="150" r="2.8"/><circle cx="600" cy="150" r="2.8"/><circle cx="630" cy="150" r="2.8"/><circle cx="660" cy="150" r="2.8"/><circle cx="690" cy="150" r="2.8"/><circle cx="720" cy="150" r="2.8"/><circle cx="750" cy="150" r="2.8"/><circle cx="780" cy="150" r="2.8"/><circle cx="810" cy="150" r="2.8"/><circle cx="840" cy="150" r="2.8"/><circle cx="870" cy="150" r="2.8"/><circle cx="900" cy="150" r="2.8"/>
<circle cx="60" cy="175" r="2.8"/><circle cx="90" cy="175" r="2.8"/><circle cx="120" cy="175" r="2.8"/><circle cx="150" cy="175" r="2.8"/><circle cx="180" cy="175" r="2.8"/><circle cx="210" cy="175" r="2.8"/><circle cx="240" cy="175" r="2.8"/><circle cx="270" cy="175" r="2.8"/><circle cx="300" cy="175" r="2.8"/><circle cx="330" cy="175" r="2.8"/><circle cx="360" cy="175" r="2.8"/><circle cx="390" cy="175" r="2.8"/><circle cx="420" cy="175" r="2.8"/><circle cx="450" cy="175" r="2.8"/><circle cx="480" cy="175" r="2.8"/><circle cx="510" cy="175" r="2.8"/><circle cx="540" cy="175" r="2.8"/><circle cx="570" cy="175" r="2.8"/><circle cx="600" cy="175" r="2.8"/><circle cx="630" cy="175" r="2.8"/><circle cx="660" cy="175" r="2.8"/><circle cx="690" cy="175" r="2.8"/><circle cx="720" cy="175" r="2.8"/><circle cx="750" cy="175" r="2.8"/><circle cx="780" cy="175" r="2.8"/><circle cx="810" cy="175" r="2.8"/><circle cx="840" cy="175" r="2.8"/><circle cx="870" cy="175" r="2.8"/><circle cx="900" cy="175" r="2.8"/>
<circle cx="60" cy="200" r="2.8"/><circle cx="90" cy="200" r="2.8"/><circle cx="120" cy="200" r="2.8"/><circle cx="150" cy="200" r="2.8"/><circle cx="180" cy="200" r="2.8"/><circle cx="210" cy="200" r="2.8"/><circle cx="240" cy="200" r="2.8"/><circle cx="270" cy="200" r="2.8"/><circle cx="300" cy="200" r="2.8"/><circle cx="330" cy="200" r="2.8"/><circle cx="360" cy="200" r="2.8"/><circle cx="390" cy="200" r="2.8"/><circle cx="420" cy="200" r="2.8"/><circle cx="450" cy="200" r="2.8"/><circle cx="480" cy="200" r="2.8"/><circle cx="510" cy="200" r="2.8"/><circle cx="540" cy="200" r="2.8"/><circle cx="570" cy="200" r="2.8"/><circle cx="600" cy="200" r="2.8"/><circle cx="630" cy="200" r="2.8"/><circle cx="660" cy="200" r="2.8"/><circle cx="690" cy="200" r="2.8"/><circle cx="720" cy="200" r="2.8"/><circle cx="750" cy="200" r="2.8"/><circle cx="780" cy="200" r="2.8"/><circle cx="810" cy="200" r="2.8"/><circle cx="840" cy="200" r="2.8"/><circle cx="870" cy="200" r="2.8"/><circle cx="900" cy="200" r="2.8"/>
<circle cx="60" cy="225" r="2.8"/><circle cx="90" cy="225" r="2.8"/><circle cx="120" cy="225" r="2.8"/><circle cx="150" cy="225" r="2.8"/><circle cx="180" cy="225" r="2.8"/><circle cx="210" cy="225" r="2.8"/><circle cx="240" cy="225" r="2.8"/><circle cx="270" cy="225" r="2.8"/><circle cx="300" cy="225" r="2.8"/><circle cx="330" cy="225" r="2.8"/><circle cx="360" cy="225" r="2.8"/><circle cx="390" cy="225" r="2.8"/><circle cx="420" cy="225" r="2.8"/><circle cx="450" cy="225" r="2.8"/><circle cx="480" cy="225" r="2.8"/><circle cx="510" cy="225" r="2.8"/><circle cx="540" cy="225" r="2.8"/><circle cx="570" cy="225" r="2.8"/><circle cx="600" cy="225" r="2.8"/><circle cx="630" cy="225" r="2.8"/><circle cx="660" cy="225" r="2.8"/><circle cx="690" cy="225" r="2.8"/><circle cx="720" cy="225" r="2.8"/><circle cx="750" cy="225" r="2.8"/><circle cx="780" cy="225" r="2.8"/><circle cx="810" cy="225" r="2.8"/><circle cx="840" cy="225" r="2.8"/><circle cx="870" cy="225" r="2.8"/><circle cx="900" cy="225" r="2.8"/>
<circle cx="60" cy="295" r="2.8"/><circle cx="90" cy="295" r="2.8"/><circle cx="120" cy="295" r="2.8"/><circle cx="150" cy="295" r="2.8"/><circle cx="180" cy="295" r="2.8"/><circle cx="210" cy="295" r="2.8"/><circle cx="240" cy="295" r="2.8"/><circle cx="270" cy="295" r="2.8"/><circle cx="300" cy="295" r="2.8"/><circle cx="330" cy="295" r="2.8"/><circle cx="360" cy="295" r="2.8"/><circle cx="390" cy="295" r="2.8"/><circle cx="420" cy="295" r="2.8"/><circle cx="450" cy="295" r="2.8"/><circle cx="480" cy="295" r="2.8"/><circle cx="510" cy="295" r="2.8"/><circle cx="540" cy="295" r="2.8"/><circle cx="570" cy="295" r="2.8"/><circle cx="600" cy="295" r="2.8"/><circle cx="630" cy="295" r="2.8"/><circle cx="660" cy="295" r="2.8"/><circle cx="690" cy="295" r="2.8"/><circle cx="720" cy="295" r="2.8"/><circle cx="750" cy="295" r="2.8"/><circle cx="780" cy="295" r="2.8"/><circle cx="810" cy="295" r="2.8"/><circle cx="840" cy="295" r="2.8"/><circle cx="870" cy="295" r="2.8"/><circle cx="900" cy="295" r="2.8"/>
<circle cx="60" cy="320" r="2.8"/><circle cx="90" cy="320" r="2.8"/><circle cx="120" cy="320" r="2.8"/><circle cx="150" cy="320" r="2.8"/><circle cx="180" cy="320" r="2.8"/><circle cx="210" cy="320" r="2.8"/><circle cx="240" cy="320" r="2.8"/><circle cx="270" cy="320" r="2.8"/><circle cx="300" cy="320" r="2.8"/><circle cx="330" cy="320" r="2.8"/><circle cx="360" cy="320" r="2.8"/><circle cx="390" cy="320" r="2.8"/><circle cx="420" cy="320" r="2.8"/><circle cx="450" cy="320" r="2.8"/><circle cx="480" cy="320" r="2.8"/><circle cx="510" cy="320" r="2.8"/><circle cx="540" cy="320" r="2.8"/><circle cx="570" cy="320" r="2.8"/><circle cx="600" cy="320" r="2.8"/><circle cx="630" cy="320" r="2.8"/><circle cx="660" cy="320" r="2.8"/><circle cx="690" cy="320" r="2.8"/><circle cx="720" cy="320" r="2.8"/><circle cx="750" cy="320" r="2.8"/><circle cx="780" cy="320" r="2.8"/><circle cx="810" cy="320" r="2.8"/><circle cx="840" cy="320" r="2.8"/><circle cx="870" cy="320" r="2.8"/><circle cx="900" cy="320" r="2.8"/>
<circle cx="60" cy="345" r="2.8"/><circle cx="90" cy="345" r="2.8"/><circle cx="120" cy="345" r="2.8"/><circle cx="150" cy="345" r="2.8"/><circle cx="180" cy="345" r="2.8"/><circle cx="210" cy="345" r="2.8"/><circle cx="240" cy="345" r="2.8"/><circle cx="270" cy="345" r="2.8"/><circle cx="300" cy="345" r="2.8"/><circle cx="330" cy="345" r="2.8"/><circle cx="360" cy="345" r="2.8"/><circle cx="390" cy="345" r="2.8"/><circle cx="420" cy="345" r="2.8"/><circle cx="450" cy="345" r="2.8"/><circle cx="480" cy="345" r="2.8"/><circle cx="510" cy="345" r="2.8"/><circle cx="540" cy="345" r="2.8"/><circle cx="570" cy="345" r="2.8"/><circle cx="600" cy="345" r="2.8"/><circle cx="630" cy="345" r="2.8"/><circle cx="660" cy="345" r="2.8"/><circle cx="690" cy="345" r="2.8"/><circle cx="720" cy="345" r="2.8"/><circle cx="750" cy="345" r="2.8"/><circle cx="780" cy="345" r="2.8"/><circle cx="810" cy="345" r="2.8"/><circle cx="840" cy="345" r="2.8"/><circle cx="870" cy="345" r="2.8"/><circle cx="900" cy="345" r="2.8"/>
<circle cx="60" cy="370" r="2.8"/><circle cx="90" cy="370" r="2.8"/><circle cx="120" cy="370" r="2.8"/><circle cx="150" cy="370" r="2.8"/><circle cx="180" cy="370" r="2.8"/><circle cx="210" cy="370" r="2.8"/><circle cx="240" cy="370" r="2.8"/><circle cx="270" cy="370" r="2.8"/><circle cx="300" cy="370" r="2.8"/><circle cx="330" cy="370" r="2.8"/><circle cx="360" cy="370" r="2.8"/><circle cx="390" cy="370" r="2.8"/><circle cx="420" cy="370" r="2.8"/><circle cx="450" cy="370" r="2.8"/><circle cx="480" cy="370" r="2.8"/><circle cx="510" cy="370" r="2.8"/><circle cx="540" cy="370" r="2.8"/><circle cx="570" cy="370" r="2.8"/><circle cx="600" cy="370" r="2.8"/><circle cx="630" cy="370" r="2.8"/><circle cx="660" cy="370" r="2.8"/><circle cx="690" cy="370" r="2.8"/><circle cx="720" cy="370" r="2.8"/><circle cx="750" cy="370" r="2.8"/><circle cx="780" cy="370" r="2.8"/><circle cx="810" cy="370" r="2.8"/><circle cx="840" cy="370" r="2.8"/><circle cx="870" cy="370" r="2.8"/><circle cx="900" cy="370" r="2.8"/>
<circle cx="60" cy="395" r="2.8"/><circle cx="90" cy="395" r="2.8"/><circle cx="120" cy="395" r="2.8"/><circle cx="150" cy="395" r="2.8"/><circle cx="180" cy="395" r="2.8"/><circle cx="210" cy="395" r="2.8"/><circle cx="240" cy="395" r="2.8"/><circle cx="270" cy="395" r="2.8"/><circle cx="300" cy="395" r="2.8"/><circle cx="330" cy="395" r="2.8"/><circle cx="360" cy="395" r="2.8"/><circle cx="390" cy="395" r="2.8"/><circle cx="420" cy="395" r="2.8"/><circle cx="450" cy="395" r="2.8"/><circle cx="480" cy="395" r="2.8"/><circle cx="510" cy="395" r="2.8"/><circle cx="540" cy="395" r="2.8"/><circle cx="570" cy="395" r="2.8"/><circle cx="600" cy="395" r="2.8"/><circle cx="630" cy="395" r="2.8"/><circle cx="660" cy="395" r="2.8"/><circle cx="690" cy="395" r="2.8"/><circle cx="720" cy="395" r="2.8"/><circle cx="750" cy="395" r="2.8"/><circle cx="780" cy="395" r="2.8"/><circle cx="810" cy="395" r="2.8"/><circle cx="840" cy="395" r="2.8"/><circle cx="870" cy="395" r="2.8"/><circle cx="900" cy="395" r="2.8"/>
<circle cx="60" cy="420" r="2.8"/><circle cx="90" cy="420" r="2.8"/><circle cx="120" cy="420" r="2.8"/><circle cx="150" cy="420" r="2.8"/><circle cx="180" cy="420" r="2.8"/><circle cx="210" cy="420" r="2.8"/><circle cx="240" cy="420" r="2.8"/><circle cx="270" cy="420" r="2.8"/><circle cx="300" cy="420" r="2.8"/><circle cx="330" cy="420" r="2.8"/><circle cx="360" cy="420" r="2.8"/><circle cx="390" cy="420" r="2.8"/><circle cx="420" cy="420" r="2.8"/><circle cx="450" cy="420" r="2.8"/><circle cx="480" cy="420" r="2.8"/><circle cx="510" cy="420" r="2.8"/><circle cx="540" cy="420" r="2.8"/><circle cx="570" cy="420" r="2.8"/><circle cx="600" cy="420" r="2.8"/><circle cx="630" cy="420" r="2.8"/><circle cx="660" cy="420" r="2.8"/><circle cx="690" cy="420" r="2.8"/><circle cx="720" cy="420" r="2.8"/><circle cx="750" cy="420" r="2.8"/><circle cx="780" cy="420" r="2.8"/><circle cx="810" cy="420" r="2.8"/><circle cx="840" cy="420" r="2.8"/><circle cx="870" cy="420" r="2.8"/><circle cx="900" cy="420" r="2.8"/>
</g>
<rect x="175" y="232" width="70" height="56" rx="4" fill="#1a1a1a" stroke="#333" stroke-width="1.2"/>
<rect x="185" y="238" width="50" height="18" rx="2" fill="#2a2a2a" stroke="#444"/>
<text x="210" y="250" text-anchor="middle" fill="#00e5cc" font-family="JetBrains Mono" font-size="7" font-weight="700">LM386</text>
<text x="210" y="258" text-anchor="middle" fill="#8aa0b3" font-family="Inter" font-size="6" letter-spacing="0.08em">LEFT • U1</text>
<circle cx="182" cy="238" r="2.5" fill="#00e5cc"/>
<circle cx="185" cy="272" r="2" fill="#ffcc00"/><circle cx="200" cy="272" r="2" fill="#ffcc00"/><circle cx="215" cy="272" r="2" fill="#ffcc00"/><circle cx="230" cy="272" r="2" fill="#ffcc00"/>
<circle cx="185" cy="284" r="2" fill="#ffcc00"/><circle cx="200" cy="284" r="2" fill="#ffcc00"/><circle cx="215" cy="284" r="2" fill="#ffcc00"/><circle cx="230" cy="284" r="2" fill="#ffcc00"/>
<rect x="635" y="232" width="70" height="56" rx="4" fill="#1a1a1a" stroke="#333" stroke-width="1.2"/>
<rect x="645" y="238" width="50" height="18" rx="2" fill="#2a2a2a" stroke="#444"/>
<text x="670" y="250" text-anchor="middle" fill="#7c5cff" font-family="JetBrains Mono" font-size="7" font-weight="700">LM386</text>
<text x="670" y="258" text-anchor="middle" fill="#8aa0b3" font-family="Inter" font-size="6" letter-spacing="0.08em">RIGHT • U2</text>
<circle cx="642" cy="238" r="2.5" fill="#7c5cff"/>
<circle cx="645" cy="272" r="2" fill="#ffcc00"/><circle cx="660" cy="272" r="2" fill="#ffcc00"/><circle cx="675" cy="272" r="2" fill="#ffcc00"/><circle cx="690" cy="272" r="2" fill="#ffcc00"/>
<circle cx="645" cy="284" r="2" fill="#ffcc00"/><circle cx="660" cy="284" r="2" fill="#ffcc00"/><circle cx="675" cy="284" r="2" fill="#ffcc00"/><circle cx="690" cy="284" r="2" fill="#ffcc00"/>
<path d="M 210 100 L 210 80 L 480 80 L 480 50" stroke="#ff3b3b" class="wire" fill="none"/>
<path d="M 670 100 L 670 80 L 480 80" stroke="#ff3b3b" class="wire" fill="none"/>
<path d="M 185 420 L 185 440 L 480 440 L 480 490" stroke="#111" class="wire" fill="none"/>
<path d="M 645 420 L 645 440 L 480 440" stroke="#111" class="wire" fill="none"/>
<rect x="120" y="310" width="18" height="36" rx="9" fill="#00e5cc" stroke="#00a99d" stroke-width="1.2"/>
<text x="129" y="333" text-anchor="middle" fill="#001412" font-family="JetBrains Mono" font-size="6" font-weight="800">10µ</text>
<rect x="580" y="310" width="18" height="36" rx="9" fill="#7c5cff" stroke="#5a3de8" stroke-width="1.2"/>
<text x="589" y="333" text-anchor="middle" fill="white" font-family="JetBrains Mono" font-size="6" font-weight="800">10µ</text>
<rect x="300" y="310" width="20" height="44" rx="10" fill="#00e5cc" stroke="#00a99d" stroke-width="1.2"/>
<text x="310" y="336" text-anchor="middle" fill="#001412" font-family="JetBrains Mono" font-size="6" font-weight="800">220µ</text>
<rect x="760" y="310" width="20" height="44" rx="10" fill="#7c5cff" stroke="#5a3de8" stroke-width="1.2"/>
<text x="770" y="336" text-anchor="middle" fill="white" font-family="JetBrains Mono" font-size="6" font-weight="800">220µ</text>
<rect x="470" y="100" width="20" height="36" rx="10" fill="#ffb020" stroke="#cc8a00" stroke-width="1.2"/>
<text x="480" y="122" text-anchor="middle" fill="#1a0f00" font-family="JetBrains Mono" font-size="6" font-weight="800">100µ</text>
<rect x="500" y="110" width="14" height="18" rx="7" fill="#ffe08a" stroke="#cc8a00" stroke-width="1"/>
<text x="507" y="122" text-anchor="middle" fill="#1a0f00" font-family="JetBrains Mono" font-size="5" font-weight="800">104</text>
<rect x="250" y="310" width="14" height="22" rx="7" fill="#cfe6f5" stroke="#8aa0b3" stroke-width="1"/>
<text x="257" y="325" text-anchor="middle" fill="#0a0f14" font-family="JetBrains Mono" font-size="5" font-weight="800">10µ</text>
<rect x="710" y="310" width="14" height="22" rx="7" fill="#cfe6f5" stroke="#8aa0b3" stroke-width="1"/>
<text x="717" y="325" text-anchor="middle" fill="#0a0f14" font-family="JetBrains Mono" font-size="5" font-weight="800">10µ</text>
<rect x="40" y="340" width="50" height="50" rx="8" fill="#0f1a22" stroke="#1e3446" stroke-width="1.2"/>
<text x="65" y="362" text-anchor="middle" fill="#00e5cc" font-family="JetBrains Mono" font-size="7" font-weight="700">3.5mm</text>
<text x="65" y="372" text-anchor="middle" fill="#8aa0b3" font-family="Inter" font-size="6">JACK</text>
<circle cx="65" cy="382" r="6" fill="none" stroke="#00e5cc" stroke-width="1.2"/><circle cx="65" cy="382" r="2" fill="#00e5cc"/>
<rect x="70" y="150" width="50" height="60" rx="8" fill="#162636" stroke="#243d52" stroke-width="1.2"/>
<circle cx="95" cy="175" r="14" fill="#0f1a22" stroke="#00e5cc" stroke-width="1.2"/>
<line x1="95" y1="175" x2="95" y2="163" stroke="#00e5cc" stroke-width="1.5" stroke-linecap="round"/>
<text x="95" y="200" text-anchor="middle" fill="#00e5cc" font-family="JetBrains Mono" font-size="6" font-weight="700">10k DUAL</text>
<text x="95" y="208" text-anchor="middle" fill="#8aa0b3" font-family="Inter" font-size="5">VOLUME</text>
<path d="M 65 375 L 65 320 L 120 320" stroke="#00e5cc" class="wire wire-thin" fill="none"/>
<path d="M 129 320 L 129 200 L 95 200" stroke="#00e5cc" class="wire wire-thin" fill="none"/>
<path d="M 95 150 L 95 125 L 540 125 L 540 320 L 580 320" stroke="#7c5cff" class="wire wire-thin" fill="none"/>
<path d="M 129 346 L 200 346 L 200 295" stroke="#00e5cc" class="wire wire-thin" fill="none"/>
<path d="M 589 346 L 660 346 L 660 295" stroke="#7c5cff" class="wire wire-thin" fill="none"/>
<rect x="340" y="340" width="70" height="50" rx="10" fill="#0f1a22" stroke="#00e5cc" stroke-width="1.2"/>
<circle cx="375" cy="365" r="16" fill="none" stroke="#e6f0f7" stroke-width="1.2"/><circle cx="375" cy="365" r="7" fill="none" stroke="#e6f0f7" stroke-width="1"/>
<text x="375" y="398" text-anchor="middle" fill="#e6f0f7" font-family="Inter" font-size="7" font-weight="700">LEFT SPK 8Ω</text>
<rect x="800" y="340" width="70" height="50" rx="10" fill="#0f1a22" stroke="#7c5cff" stroke-width="1.2"/>
<circle cx="835" cy="365" r="16" fill="none" stroke="#e6f0f7" stroke-width="1.2"/><circle cx="835" cy="365" r="7" fill="none" stroke="#e6f0f7" stroke-width="1"/>
<text x="835" y="398" text-anchor="middle" fill="#e6f0f7" font-family="Inter" font-size="7" font-weight="700">RIGHT SPK 8Ω</text>
<path d="M 310 354 L 340 354" stroke="#00e5cc" class="wire wire-thin" fill="none"/>
<path d="M 375 390 L 375 410 L 185 410" stroke="#111" class="wire wire-thin" fill="none"/>
<path d="M 770 354 L 800 354" stroke="#7c5cff" class="wire wire-thin" fill="none"/>
<path d="M 835 390 L 835 410 L 645 410" stroke="#111" class="wire wire-thin" fill="none"/>
<rect x="840" y="30" width="70" height="36" rx="8" fill="#fff" stroke="#ff3b3b" stroke-width="1.4"/>
<text x="875" y="46" text-anchor="middle" fill="#ff3b3b" font-family="JetBrains Mono" font-size="8" font-weight="800">9V</text>
<text x="875" y="56" text-anchor="middle" fill="#1a1a1a" font-family="Inter" font-size="6" font-weight="700">BATTERY</text>
<line x1="860" y1="66" x2="860" y2="50" stroke="#ff3b3b" stroke-width="3" stroke-linecap="round"/>
<line x1="890" y1="66" x2="890" y2="490" stroke="#111" stroke-width="3" stroke-linecap="round"/>
<text x="32" y="28" class="lb" fill="#ff3b3b" font-size="8">+ RAIL (RED)</text>
<text x="32" y="468" class="lb" fill="#1a1a1a" font-size="8">– RAIL (BLUE / BLACK) — GND</text>
<text x="480" y="96" text-anchor="middle" fill="#8aa0b3" font-family="Inter" font-size="7" font-weight="700" letter-spacing="0.08em">DECOUPLING CAPS — Keep leads short, right next to ICs</text>
</svg>
</div>
<div style="padding:12px 18px;background:rgba(255,255,255,0.02);border-top:1px solid var(--line);display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--muted)">
<span>💡 <b style="color:var(--text)">Breadboard tip:</b> Each 5-hole row is one node. The IC straddles the trench so left and right pins are isolated. Use the top red rail for +9V, bottom blue rail for GND.</span>
</div>
</div>
</section>
<section class="section container" id="build">
<div class="section-head"><div><h2><span class="num" style="background:var(--accent2)">05</span> Step-by-Step Assembly</h2><p class="section-desc">Work left-to-right, one channel at a time. Do <b style="color:var(--text)">not</b> connect power until Step 7. Keep volume at zero throughout.</p></div><div style="font-size:12px;color:var(--dim);font-weight:700;letter-spacing:0.08em;text-transform:uppercase">Click steps to mark complete ✓</div></div>
<div class="steps" id="steps">
<div class="step" onclick="this.classList.toggle('done')"><div class="step-num">1</div><div><h4>Place the ICs & Power Rails <span style="font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--dim);font-weight:700;border:1px solid var(--line2);padding:3px 8px;border-radius:999px">No power yet</span></h4><p>Insert the two LM386s so they <b>straddle the center trench</b> — 4 pins on each side. Notch / dot faces <b>up</b> (pin 1 top-left). Place <b>U1 (Left)</b> on the left half, <b>U2 (Right)</b> on the right half, at least 10 holes apart.</p><ul><li>Bridge the top red rail together (left to right) with a red jumper — this is your <code>+9V</code> bus.</li><li>Bridge the bottom blue rail together — this is <code>GND</code>.</li><li>Double-check: no bent pins underneath.</li></ul><span class="check">✓ Check: ICs sit flat, notch up, no pins folded under</span></div></div>
<div class="step" onclick="this.classList.toggle('done')"><div class="step-num">2</div><div><h4>Add Supply Decoupling — Kill the Hum</h4><p>This is the most important step for a quiet amp. Place caps <b>as close to the ICs as possible</b>.</p><ul><li><code>100µF</code> electrolytic: <b>+ leg → red rail (+9V)</b>, <b>– leg → blue rail (GND)</b>. Anywhere near the center.</li><li><code>0.1µF</code> ceramic (104): directly between red and blue rails, right next to the ICs. Non-polar — either way.</li><li>Each IC: <code>10µF</code> from <b>pin 7 → GND</b> (stripe to GND). This bypasses the internal bias — reduces noise.</li></ul><span class="check">✓ Check: 100µF stripe faces GND, 0.1µF snug against rails</span></div></div>
<div class="step" onclick="this.classList.toggle('done')"><div class="step-num">3</div><div><h4>Wire Power to Both ICs</h4><p>Now connect the chips to the rails you just decoupled.</p><ul><li><b>Pin 6 (Vs)</b> of each IC → <code>red rail (+9V)</code> with a short red jumper.</li><li><b>Pin 4 (GND)</b> of each IC → <code>blue rail (GND)</code> with a black jumper.</li><li><b>Pin 2 (–IN)</b> of each IC → <code>GND</code> as well (ties the inverting input to ground).</li></ul><div class="alert alert-bad" style="margin-top:10px"><span>⚠</span><span><b>Polarity matters.</b> If you swap + and –, the IC will get hot instantly. Verify with a multimeter before powering: red rail should be +9V relative to blue.</span></div></div></div>
<div class="step" onclick="this.classList.toggle('done')"><div class="step-num">4</div><div><h4>Install the Dual Volume Pot & Input Jack</h4><p>The potentiometer acts as a voltage divider before the amplifier — this is where you control loudness.</p><ul><li>Place the <b>dual 10k pot</b> off the breadboard (or on the edge). It has 6 pins: 3 per channel. For each channel: <b>top lug → input signal</b>, <b>middle wiper → 10µF cap → IC pin 3</b>, <b>bottom lug → GND</b>.</li><li><code>10µF</code> input coupling cap per channel: <b>+ leg → pot wiper</b>, <b>– leg → IC pin 3 (+IN)</b>. Or either way for non-polar — but keep consistent.</li><li><b>3.5mm jack:</b> Tip (Left) → left pot top lug, Ring (Right) → right pot top lug, Sleeve → GND rail.</li><li>Use shielded wire or keep input leads <b>short and away</b> from output wires to avoid feedback.</li></ul><span class="check">✓ Check: With pot at zero, wiper is at GND — silence is expected</span></div></div>
<div class="step" onclick="this.classList.toggle('done')"><div class="step-num">5</div><div><h4>Output Stage — Drive the Speakers</h4><p>Each output needs a large DC-blocking cap so only audio reaches the speaker.</p><ul><li><code>220µF</code> electrolytic per channel: <b>+ leg → IC pin 5 (OUT)</b>, <b>– leg → speaker (+)</b>.</li><li>Speaker <b>– terminal → GND rail</b>.</li><li>Optional but recommended <b>Zobel network</b>: <code>10Ω</code> resistor in series with <code>0.05µF</code> cap from speaker (+) node → GND. Tames oscillation with long speaker wires.</li><li>Keep speaker wires twisted together if possible — reduces hum pickup.</li></ul><span class="check">✓ Check: 220µF stripe faces the speaker (negative side to speaker)</span></div></div>
<div class="step" onclick="this.classList.toggle('done')"><div class="step-num">6</div><div><h4>Gain & Final Wiring Check (Power Still Off)</h4><p>Do a full visual audit before first power-up.</p><ul><li><b>Gain:</b> Leave <b>pins 1 & 8 open</b> for 20× gain (recommended). Only add a <code>10µF</code> between 1–8 if you need 200× and can tolerate hiss.</li><li>Continuity check with multimeter: <code>GND rail → battery –</code> should be 0Ω. <code>+ rail → battery +</code> should not be shorted to GND (should read open / high resistance).</li><li>Verify every electrolytic orientation: stripe = more negative node (GND or speaker side).</li><li>Set pot to <b>minimum</b> (fully counter-clockwise).</li></ul><div class="alert alert-ok" style="margin-top:10px"><span>✓</span><span><b>Pre-flight:</b> No power connected? Pot at zero? Speakers connected? Then you're ready for Step 7.</span></div></div></div>
<div class="step" onclick="this.classList.toggle('done')" style="border-color:rgba(0,229,204,0.3)"><div class="step-num" style="background:var(--accent);color:#001412">7</div><div><h4>First Power-Up & Smoke Test</h4><p>The moment of truth — done safely.</p><ul><li>Connect <b>9V battery</b>: red snap → red rail, black snap → blue rail. Add a switch in series if you have one.</li><li><b>Immediately check:</b> ICs should be cool/warm. If hot or battery gets hot, <b>disconnect instantly</b> — you have a short.</li><li>Measure supply: multimeter should read <b>8–9.5V</b> across rails. If it sags below 7V, you have a short or dead battery.</li><li>Plug in audio source at <b>low volume</b> (phone at 30%), then slowly advance the pot. You should hear clean audio.</li><li>If silent: touch pin 3 with a fingertip — you should hear a loud buzz (proves the amp is alive). If buzz present, problem is upstream (jack/pot/cap).</li></ul><span class="check">✓ Success: Clean audio at low volume, no heat, no oscillation whine</span></div></div>
</div>
</section>
<section class="section container" id="test">
<div class="section-head"><h2><span class="num" style="background:#ff3b3b">06</span> Testing & Troubleshooting</h2></div>
<div class="test-procedure">
<div>
<h3>🔬 Safe Test Procedure</h3>
<ol class="test-list">
<li><span class="test-num">1</span><span><b>Visual inspection</b> — power off, check every cap stripe, every rail, every IC notch.</span></li>
<li><span class="test-num">2</span><span><b>Resistance check</b> — meter on 200Ω: red-to-blue rail should be <b>>1kΩ</b>, not 0Ω. If 0Ω, find the short.</span></li>
<li><span class="test-num">3</span><span><b>Voltage check</b> — power on, no input: pin 6 = 9V, pin 5 ≈ 4.5V (half-supply), pin 3 ≈ 0V.</span></li>
<li><span class="test-num">4</span><span><b>Finger buzz test</b> — touch pin 3 (input) — speaker should buzz loudly. No buzz = output or power fault.</span></li>
<li><span class="test-num">5</span><span><b>Signal injection</b> — play 1kHz tone from phone, pot at 25%, verify both channels.</span></li>
<li><span class="test-num">6</span><span><b>Load test</b> — increase volume slowly; if distortion early, check battery voltage under load (should stay >7V).</span></li>
</ol>
</div>
<div>
<h3>📊 Expected Voltages (9V supply, no signal)</h3>
<div style="background:var(--card2);border:1px solid var(--line2);border-radius:12px;overflow:hidden">
<table style="font-size:13px"><thead><tr><th>Test Point</th><th>Expected</th><th>If Wrong…</th></tr></thead>
<tbody>
<tr><td class="mono">Red rail → Blue rail</td><td><b>8.5–9.5V</b></td><td class="role">Dead battery or short</td></tr>
<tr><td class="mono">IC Pin 5 → GND</td><td><b>~4.5V</b></td><td class="role">IC not powered / damaged</td></tr>
<tr><td class="mono">IC Pin 3 → GND</td><td><b>~0V</b></td><td class="role">Input cap leaking / pot miswired</td></tr>
<tr><td class="mono">Speaker + → GND</td><td><b>~0V DC</b></td><td class="role">220µF reversed or shorted</td></tr>
<tr><td class="mono">Current draw</td><td><b>~10mA idle</b></td><td class="role">>100mA idle = oscillation/short</td></tr>
</tbody>
</table>
</div>
<div class="alert alert-warn" style="margin-top:12px"><span>💡</span><span><b>Oscillation whine?</b> Add the 0.1µF directly across the IC's power pins (pin 6 to pin 4) with the shortest possible leads. Keep input and output wires separated.</span></div>
</div>
</div>
<div class="troubleshoot" style="margin-top:16px">
<div class="issue" style="border-left:3px solid #ff3b3b"><h4>🔇 No Sound At All</h4><p><b>Causes:</b> Dead battery, reversed 220µF, pot wired backwards, TRS sleeve not grounded, pin 2 not grounded.<br><b>Fix:</b> Do the finger-buzz test. If buzz works, trace backwards: cap → pot → jack. Check continuity from jack sleeve to GND rail.</p></div>
<div class="issue" style="border-left:3px solid #ffb020"><h4>📢 Loud Hum / Buzz (50/60Hz)</h4><p><b>Causes:</b> Missing 100µF or 0.1µF decoupling, long loose GND wire, phone charger ground loop.<br><b>Fix:</b> Add/relocate decoupling caps right at the IC. Power from battery (not USB supply) for testing. Twist GND wires.</p></div>
<div class="issue" style="border-left:3px solid #7c5cff"><h4>🎶 Distortion / Clipping Early</h4><p><b>Causes:</b> Weak battery (voltage sags under load), gain too high (10µF on pins 1–8 with hot input), 4Ω speaker on weak supply.<br><b>Fix:</b> Fresh battery, remove gain cap, lower phone volume to 50% and use pot instead.</p></div>
<div class="issue" style="border-left:3px solid #00e5cc"><h4>🔥 IC Gets Hot / Battery Drains Fast</h4><p><b>Causes:</b> Output shorted to GND or +9V, reversed supply, oscillation (missing Zobel), speaker impedance too low.<br><b>Fix:</b> Power off immediately. Check resistance from pin 5 to GND (should be open through cap). Add Zobel, verify supply polarity.</p></div>
<div class="issue" style="border-left:3px solid #ff8c42"><h4>↔️ Only One Channel Works</h4><p><b>Causes:</b> One pot gang miswired, one input cap backwards, one IC inserted backwards, broken jumper.<br><b>Fix:</b> Swap left/right inputs at the jack — if problem moves, it's the source/cable. If not, swap the ICs — if problem moves, it's the IC.</p></div>
<div class="issue" style="border-left:3px solid #5d7588"><h4>🔄 Feedback / Squealing When Volume Up</h4><p><b>Causes:</b> Input wire runs parallel to output wire (capacitive coupling), high gain (200×) with floating input, missing bypass cap on pin 7.<br><b>Fix:</b> Reroute input away from output, add 10µF on pin 7, reduce gain to 20×, keep leads short.</p></div>
</div>
<div class="card" style="margin-top:16px;background:linear-gradient(135deg, rgba(0,229,204,0.06), rgba(124,92,255,0.06));border-color:rgba(0,229,204,0.18)">
<h3>🎓 Going Further</h3>
<div style="display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-top:10px">
<div><b style="font-size:13px">More Power</b><p style="font-size:13px">Swap LM386 for <b style="color:var(--text)">PAM8403</b> (3W class-D, still breadboard-friendly) or bridge two LM386s for mono 1W.</p></div>
<div><b style="font-size:13px">Tone Control</b><p style="font-size:13px">Add a simple RC low-pass (10k + 0.01µF) before the pot for a treble cut, or a Baxandall tone stack.</p></div>
<div><b style="font-size:13px">Make It Permanent</b><p style="font-size:13px">Transfer to perfboard or design a PCB. Add a proper enclosure, DC jack, and heatsink for the ICs.</p></div>
</div>
</div>
</section>
</main>
<footer>
<div class="container">
<div style="display:inline-flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);padding:8px 14px;border-radius:999px;font-size:12px"><span style="width:8px;height:8px;background:var(--ok);border-radius:50%;box-shadow:0 0 8px var(--ok)"></span>Built for learning • Verify all wiring before power • LM386 datasheet: Texas Instruments • Stay curious, stay safe.</div>
<div style="margin-top:12px">© 2025 Amp Lab — Educational guide. No affiliation with TI. Use at your own risk.</div>
</div>
</footer>
<script>
function switchTab(name){
document.querySelectorAll('.tab').forEach(t=>t.classList.toggle('active', t.dataset.tab===name));
document.getElementById('panel-schematic').style.display = name==='schematic' ? '' : 'none';
document.getElementById('panel-breadboard').style.display = name==='breadboard' ? '' : 'none';
}
document.querySelectorAll('.step').forEach((el,i)=>{ el.querySelector('.step-num').textContent = i+1; });
</script>
</body>
</html>
<!-- agent-meta {"model":"meta/muse-spark-1.2-contributor","provider":"openrouter","persona":"full","sessionId":"71d35c25-fe76-46fc-93bd-384f133ca4f4","tokensIn":3837925,"tokensOut":85486,"tokensTotal":3923411,"cost":0.08660399399999999,"turns":43,"toolCalls":42,"failedToolCalls":0,"timestamp":"2026-08-23T02:40:54.824Z"} -->