molecule
Waleed — Adom Molecule LED Nameplate
Public Made by Adomby adom
Waleed's name etched out of the soldermask over the top-layer ground plane, lit by side-view LEDs firing inward across the board. A real Adom molecule: large machine pins on the 32 mm base-scaffold grid, USB-C powered. Every LED returns its current through the letters, so there is no second ground path.
← Commit history
Waleed nameplate: self-hosted 3D viewer, Z-up model, README.html
4 files changed
+444−315
README.htmladded+141@@ -0,0 +1,141 @@+<!doctype html><html><head><meta charset="utf-8">+<meta name="readme-max-height" content="32000">+<meta name="viewport" content="width=device-width, initial-scale=1">+<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-display:swap; }+ :root { --bg:#0d1117; --surface:#161b22; --elev:#1c2128; --border:#30363d;+ --text:#e6edf3; --body:#c9d1d9; --muted:#8b949e; --accent:#00b8b1; --purple:#8C6BF7; }+ * { box-sizing:border-box; margin:0; padding:0; }+ html,body { background:var(--bg); color:var(--body);+ font:15px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;+ scrollbar-width:none; }+ html::-webkit-scrollbar, body::-webkit-scrollbar { width:0; height:0; display:none; }+ #wrap { max-width:900px; margin:0 auto; padding:24px 20px 48px; }+ h1 { font-family:'Familjen Grotesk',sans-serif; font-weight:700; color:var(--text);+ font-size:40px; letter-spacing:-.02em; margin:6px 0 4px; }+ h2 { font-family:'Familjen Grotesk',sans-serif; font-weight:700; color:var(--text);+ font-size:24px; margin:36px 0 10px; letter-spacing:-.01em; }+ p { margin:10px 0; }+ .lede { color:var(--muted); font-size:17px; margin-bottom:20px; }+ .viewer { border:1px solid var(--border); border-radius:12px; overflow:hidden;+ background:var(--surface); margin:22px 0 8px;+ box-shadow:0 12px 40px rgba(0,0,0,.45); }+ .viewer iframe { display:block; width:100%; height:620px; border:0; }+ .cap { color:var(--muted); font-size:13px; margin:0 0 26px; }+ .cap a { color:var(--accent); text-decoration:none; }+ table { border-collapse:collapse; width:100%; margin:12px 0 4px; font-size:14px; }+ th,td { text-align:left; padding:7px 10px; border-bottom:1px solid var(--border); }+ th { color:var(--muted); font-weight:600; }+ code { font-family:"JetBrains Mono",ui-monospace,monospace; font-size:13px;+ background:var(--elev); padding:1px 5px; border-radius:4px; color:var(--text); }+ .call { background:var(--elev); border:1px solid rgba(0,184,177,.25);+ border-left:3px solid var(--accent); border-radius:8px; padding:14px 16px; margin:18px 0; }+ .call b { color:var(--text); }+ ul { margin:10px 0 10px 20px; } li { margin:5px 0; }+ .grid { display:flex; gap:14px; flex-wrap:wrap; margin:14px 0; }+ .grid img { flex:1 1 380px; max-width:100%; border:1px solid var(--border); border-radius:10px; }+</style></head><body><div id="wrap">++<h1>Waleed</h1>+<p class="lede">An Adom molecule LED nameplate. The name is etched out of the soldermask+over the ground plane, lit by 14 side-view LEDs firing inward across the board.</p>++<div class="viewer">+ <iframe src="https://wiki.adom.inc/adom/waleed-nameplate/render/viewer/index.html"+ title="Waleed nameplate, interactive 3D" loading="lazy"+ allow="fullscreen"></iframe>+</div>+<p class="cap">Interactive board viewer. The guided walkthrough starts on its own; drag to orbit,+and use the toolbar for Inspect, Measure and the x-ray Nets view.+<a href="https://wiki.adom.inc/adom/waleed-nameplate/render/viewer/index.html" target="_blank">Open full screen</a>.</p>++<div class="call"><b>The one idea: the name is the ground plane.</b>+A rectangular GND copper pour covers the top layer and the soldermask is opened in the+shape of the letters, so bare plated copper shows through. There is deliberately no second+ground path, no bottom ground pour, so every milliamp those 14 LEDs draw physically+crosses the letters on its way back to the connector. The line you get to say to Waleed,+<i>"your name is part of the electrical path that lights up the LEDs"</i>, is a statement+about the netlist rather than a slogan.</div>++<h2>The board</h2>+<table>+<tr><th>Board</th><td>236 x 76 mm, 2 layer, 4 mm corner radius</td></tr>+<tr><th>Pin box</th><td><b>224 x 64 mm</b> = 7 x 2 on the 32 mm scaffold grid</td></tr>+<tr><th>Name</th><td>194.5 x 40 mm, Familjen Grotesk Bold</td></tr>+<tr><th>Mask openings</th><td>390 letter polygons</td></tr>+<tr><th>GND plate</th><td>229.6 x 69.6 mm, top layer</td></tr>+<tr><th>LEDs</th><td>14 x Wurth WL-SMSW <code>155060GS75300</code>, 515 nm side-view</td></tr>+<tr><th>Current</th><td>168 mA at 5 V (14 x 12 mA)</td></tr>+<tr><th>Parts / traces / vias</th><td>38 / 60 / 36</td></tr>+</table>++<div class="grid">+ <img src="https://wiki.adom.inc/adom/waleed-nameplate/render/docs/hero.png" alt="Waleed board, 3D render">+ <img src="https://wiki.adom.inc/adom/waleed-nameplate/render/docs/pcb.png" alt="Waleed board, PCB view">+</div>++<h2>Molecule compliance</h2>+<ul>+<li>A large machine pin at every corner: a 3.6 mm body press-fit into a 3.45 mm plated hole,+0.15 mm of interference, solderless.</li>+<li>The pin box is <b>224 x 64 mm</b>, both exact multiples of 32 mm, the base+scaffold's large-contact pitch, so it drops straight onto 8 x 3 contact positions of+the 18 x 18 field across the 576 x 576 mm workspace.</li>+<li>Minimal wings: the board stops 6 mm outside each corner pin. That is as tight as the pin+allows, since a 5.2 mm annular ring eats 2.6 mm of it and a press-fit needs roughly 2x board+thickness of laminate outboard of the ring.</li>+<li>MP1 and MP4 are GND, MP2 and MP3 are +5 V, so the plate can run off a workcell control+panel instead of USB-C. The ground pins land inside the plate, so the scaffold's ground+return also passes through the name.</li>+</ul>++<h2>Why side-view LEDs</h2>+<p>A normal chip LED is a top-view emitter: it fires straight up, away from the board, and the+copper you are trying to light sees nothing. This board uses a true side-view part. The die sits+on its side behind a window in the long face of the package, so the beam leaves parallel to the+board about 0.5 mm above the soldermask. Ringed around the edge facing inward, the light rakes+across the plate at a grazing angle and washes the exposed-copper letters instead of escaping+to the sky.</p>+<p>Worth knowing if you go sourcing: Kingbright's <code>APTR3216</code> family is reverse-mount,+firing down through a hole in the PCB, and Broadcom's <code>HSMx-C265</code> is bottom-entry.+Both come back in a "right angle SMD LED" search and neither does this job.</p>++<h2>Power</h2>+<p>USB-C VBUS at 5 V through 150 R into a 3.2 V LED gives 12 mA each, <b>168 mA</b> for the+board, well inside the 500 mA a charger gives an unnegotiated sink, so any phone brick works.+<code>R_CC1</code> and <code>R_CC2</code> are the mandatory Rd pulldowns: without them on both+CC lines a USB-C source never enables VBUS and the board stays dark.</p>+<p>The layer plan is inverted from the usual convention on purpose. Top is GND, one rectangular+pour, with the name cut out of it; bottom is the +5 V plane. Everything is placed top side only,+because the line does single-sided pick and place, so each LED string runs LED, then 150 R,+then a via down to the +5 V plane, while the cathode bonds straight into the plate.</p>++<h2>Fab notes</h2>+<ul>+<li><b>Specify ENIG, not HASL.</b> The letters are 194 x 40 mm of deliberately bare+copper and are the entire point of the board. HASL leaves them lumpy; ENIG leaves them mirror flat.</li>+<li>Dark soldermask maximises contrast against the exposed letters.</li>+<li>The four 3.45 mm machine-pin holes are an interference fit and are meant to be undersized.+Do not let a fab house "correct" them to a clearance fit.</li>+<li>Tented or plugged vias: there are vias whose rings lap onto LED resistor pads.</li>+</ul>++<h2>Verifying the mask opens</h2>+<p>Do not trust the render. Read the gerber. <code>F_Mask.gbr</code> is negative polarity+(<code>%TF.FilePolarity,Negative*%</code>), so what is drawn is where mask is removed:</p>+<ul>+<li><b>390 region polygons</b>, bounding box <b>194.45 x 40.00 mm</b>, the letters</li>+<li>the plate rectangle <b>absent</b> from F_Mask; present would mean inverted</li>+<li><b>zero</b> letter regions in <code>F_Paste.gbr</code>. The letters are decoration, not solder+joints, and must never be stencilled</li>+</ul>++<h2>Reproducing it</h2>+<p>Built with <a href="https://wiki.adom.inc/adom/adom-tsci" style="color:var(--accent)">adom-tsci</a>+from parametric tscircuit source. Board size, pin box, LED count and silkscreen are all derived+from the name's ink box, so a new name is one command:</p>+<p><code>scripts/make-nameplate.sh "Waleed"</code></p>++</div></body></html>
board.glbadded⋯ 1 unchanged line ⋯
viewer/circuit.json+227−227@@ -1288,9 +1288,9 @@ "name": "R1", "supplier_part_numbers": { "jlcpcb": [- "C11702",- "C25543",- "C2906864"+ "C25082",+ "C2906892",+ "C138054" ] }, "resistance": 150,@@ -18934,7 +18934,7 @@ }, "pcb_component_id": "pcb_component_0", "source_component_id": "source_component_0",- "model_glb_url": "file:///home/adom/project/adom-nameplates/boards/waleed/models/nameplate.glb",+ "model_glb_url": "file:///home/adom/project/adom-nameplates/boards/waleed/lib/models/nameplate.glb", "model_origin_alignment": "center_of_component_on_board_surface", "anchor_alignment": "center_of_component_on_board_surface" },@@ -18956,7 +18956,7 @@ "anchor_alignment": "center_of_component_on_board_surface", "source_component_id": "source_component_1", "model_unit_to_mm_scale_factor": 1,- "model_step_url": "./node_modules/@tsci/adom-inc.library/assets/MachinePinLargeStandard-06bde5df.step"+ "model_step_url": "./../../node_modules/@tsci/adom-inc.library/assets/MachinePinLargeStandard-06bde5df.step" }, { "type": "cad_component",@@ -18976,7 +18976,7 @@ "anchor_alignment": "center_of_component_on_board_surface", "source_component_id": "source_component_2", "model_unit_to_mm_scale_factor": 1,- "model_step_url": "./node_modules/@tsci/adom-inc.library/assets/MachinePinLargeStandard-06bde5df.step"+ "model_step_url": "./../../node_modules/@tsci/adom-inc.library/assets/MachinePinLargeStandard-06bde5df.step" }, { "type": "cad_component",@@ -18996,7 +18996,7 @@ "anchor_alignment": "center_of_component_on_board_surface", "source_component_id": "source_component_3", "model_unit_to_mm_scale_factor": 1,- "model_step_url": "./node_modules/@tsci/adom-inc.library/assets/MachinePinLargeStandard-06bde5df.step"+ "model_step_url": "./../../node_modules/@tsci/adom-inc.library/assets/MachinePinLargeStandard-06bde5df.step" }, { "type": "cad_component",@@ -19016,7 +19016,7 @@ "anchor_alignment": "center_of_component_on_board_surface", "source_component_id": "source_component_4", "model_unit_to_mm_scale_factor": 1,- "model_step_url": "./node_modules/@tsci/adom-inc.library/assets/MachinePinLargeStandard-06bde5df.step"+ "model_step_url": "./../../node_modules/@tsci/adom-inc.library/assets/MachinePinLargeStandard-06bde5df.step" }, { "type": "cad_component",@@ -19128,7 +19128,7 @@ }, "pcb_component_id": "pcb_component_12", "source_component_id": "source_component_10",- "model_glb_url": "file:///home/adom/project/adom-nameplates/boards/waleed/models/side-view-led.glb",+ "model_glb_url": "file:///home/adom/project/adom-nameplates/boards/waleed/lib/models/side-view-led.glb", "model_origin_alignment": "center_of_component_on_board_surface", "anchor_alignment": "center_of_component_on_board_surface" },@@ -19147,7 +19147,7 @@ }, "pcb_component_id": "pcb_component_13", "source_component_id": "source_component_11",- "model_glb_url": "file:///home/adom/project/adom-nameplates/boards/waleed/models/side-view-led.glb",+ "model_glb_url": "file:///home/adom/project/adom-nameplates/boards/waleed/lib/models/side-view-led.glb", "model_origin_alignment": "center_of_component_on_board_surface", "anchor_alignment": "center_of_component_on_board_surface" },@@ -19166,7 +19166,7 @@ }, "pcb_component_id": "pcb_component_14", "source_component_id": "source_component_12",- "model_glb_url": "file:///home/adom/project/adom-nameplates/boards/waleed/models/side-view-led.glb",+ "model_glb_url": "file:///home/adom/project/adom-nameplates/boards/waleed/lib/models/side-view-led.glb", "model_origin_alignment": "center_of_component_on_board_surface", "anchor_alignment": "center_of_component_on_board_surface" },@@ -19185,7 +19185,7 @@ }, "pcb_component_id": "pcb_component_15", "source_component_id": "source_component_13",- "model_glb_url": "file:///home/adom/project/adom-nameplates/boards/waleed/models/side-view-led.glb",+ "model_glb_url": "file:///home/adom/project/adom-nameplates/boards/waleed/lib/models/side-view-led.glb", "model_origin_alignment": "center_of_component_on_board_surface", "anchor_alignment": "center_of_component_on_board_surface" },@@ -19204,7 +19204,7 @@ }, "pcb_component_id": "pcb_component_16", "source_component_id": "source_component_14",- "model_glb_url": "file:///home/adom/project/adom-nameplates/boards/waleed/models/side-view-led.glb",+ "model_glb_url": "file:///home/adom/project/adom-nameplates/boards/waleed/lib/models/side-view-led.glb", "model_origin_alignment": "center_of_component_on_board_surface", "anchor_alignment": "center_of_component_on_board_surface" },@@ -19223,7 +19223,7 @@ }, "pcb_component_id": "pcb_component_17", "source_component_id": "source_component_15",- "model_glb_url": "file:///home/adom/project/adom-nameplates/boards/waleed/models/side-view-led.glb",+ "model_glb_url": "file:///home/adom/project/adom-nameplates/boards/waleed/lib/models/side-view-led.glb", "model_origin_alignment": "center_of_component_on_board_surface", "anchor_alignment": "center_of_component_on_board_surface" },@@ -19242,7 +19242,7 @@ }, "pcb_component_id": "pcb_component_18", "source_component_id": "source_component_16",- "model_glb_url": "file:///home/adom/project/adom-nameplates/boards/waleed/models/side-view-led.glb",+ "model_glb_url": "file:///home/adom/project/adom-nameplates/boards/waleed/lib/models/side-view-led.glb", "model_origin_alignment": "center_of_component_on_board_surface", "anchor_alignment": "center_of_component_on_board_surface" },@@ -19261,7 +19261,7 @@ }, "pcb_component_id": "pcb_component_19", "source_component_id": "source_component_17",- "model_glb_url": "file:///home/adom/project/adom-nameplates/boards/waleed/models/side-view-led.glb",+ "model_glb_url": "file:///home/adom/project/adom-nameplates/boards/waleed/lib/models/side-view-led.glb", "model_origin_alignment": "center_of_component_on_board_surface", "anchor_alignment": "center_of_component_on_board_surface" },@@ -19280,7 +19280,7 @@ }, "pcb_component_id": "pcb_component_20", "source_component_id": "source_component_18",- "model_glb_url": "file:///home/adom/project/adom-nameplates/boards/waleed/models/side-view-led.glb",+ "model_glb_url": "file:///home/adom/project/adom-nameplates/boards/waleed/lib/models/side-view-led.glb", "model_origin_alignment": "center_of_component_on_board_surface", "anchor_alignment": "center_of_component_on_board_surface" },@@ -19299,7 +19299,7 @@ }, "pcb_component_id": "pcb_component_21", "source_component_id": "source_component_19",- "model_glb_url": "file:///home/adom/project/adom-nameplates/boards/waleed/models/side-view-led.glb",+ "model_glb_url": "file:///home/adom/project/adom-nameplates/boards/waleed/lib/models/side-view-led.glb", "model_origin_alignment": "center_of_component_on_board_surface", "anchor_alignment": "center_of_component_on_board_surface" },@@ -19318,7 +19318,7 @@ }, "pcb_component_id": "pcb_component_22", "source_component_id": "source_component_20",- "model_glb_url": "file:///home/adom/project/adom-nameplates/boards/waleed/models/side-view-led.glb",+ "model_glb_url": "file:///home/adom/project/adom-nameplates/boards/waleed/lib/models/side-view-led.glb", "model_origin_alignment": "center_of_component_on_board_surface", "anchor_alignment": "center_of_component_on_board_surface" },@@ -19337,7 +19337,7 @@ }, "pcb_component_id": "pcb_component_23", "source_component_id": "source_component_21",- "model_glb_url": "file:///home/adom/project/adom-nameplates/boards/waleed/models/side-view-led.glb",+ "model_glb_url": "file:///home/adom/project/adom-nameplates/boards/waleed/lib/models/side-view-led.glb", "model_origin_alignment": "center_of_component_on_board_surface", "anchor_alignment": "center_of_component_on_board_surface" },@@ -19356,7 +19356,7 @@ }, "pcb_component_id": "pcb_component_24", "source_component_id": "source_component_22",- "model_glb_url": "file:///home/adom/project/adom-nameplates/boards/waleed/models/side-view-led.glb",+ "model_glb_url": "file:///home/adom/project/adom-nameplates/boards/waleed/lib/models/side-view-led.glb", "model_origin_alignment": "center_of_component_on_board_surface", "anchor_alignment": "center_of_component_on_board_surface" },@@ -19375,7 +19375,7 @@ }, "pcb_component_id": "pcb_component_25", "source_component_id": "source_component_23",- "model_glb_url": "file:///home/adom/project/adom-nameplates/boards/waleed/models/side-view-led.glb",+ "model_glb_url": "file:///home/adom/project/adom-nameplates/boards/waleed/lib/models/side-view-led.glb", "model_origin_alignment": "center_of_component_on_board_surface", "anchor_alignment": "center_of_component_on_board_surface" },@@ -19645,210 +19645,6 @@ "anchor_alignment": "center_of_component_on_board_surface", "footprinter_string": "res0402" },- {- "type": "supplier_footprint_mismatch_warning",- "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_Jvu9LoNu01",- "warning_type": "supplier_footprint_mismatch_warning",- "message": "<resistor#553 name=\".R4\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",- "source_component_id": "source_component_27",- "pcb_component_id": "pcb_component_29",- "subcircuit_id": "subcircuit_source_group_0",- "supplier_name": "jlcpcb",- "supplier_part_number": "C25082",- "footprint_copper_intersection_over_union": 0.7741- },- {- "type": "supplier_footprint_mismatch_warning",- "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_yW5HKn2elV",- "warning_type": "supplier_footprint_mismatch_warning",- "message": "<resistor#670 name=\".R13\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",- "source_component_id": "source_component_36",- "pcb_component_id": "pcb_component_38",- "subcircuit_id": "subcircuit_source_group_0",- "supplier_name": "jlcpcb",- "supplier_part_number": "C25082",- "footprint_copper_intersection_over_union": 0.7741- },- {- "type": "supplier_footprint_mismatch_warning",- "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_KguTaH9ZLW",- "warning_type": "supplier_footprint_mismatch_warning",- "message": "<resistor#514 name=\".R1\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C11702 (copper IoU 0.7741).",- "source_component_id": "source_component_24",- "pcb_component_id": "pcb_component_26",- "subcircuit_id": "subcircuit_source_group_0",- "supplier_name": "jlcpcb",- "supplier_part_number": "C11702",- "footprint_copper_intersection_over_union": 0.7741- },- {- "type": "supplier_footprint_mismatch_warning",- "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_ewryKcA0J2",- "warning_type": "supplier_footprint_mismatch_warning",- "message": "<resistor#566 name=\".R5\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",- "source_component_id": "source_component_28",- "pcb_component_id": "pcb_component_30",- "subcircuit_id": "subcircuit_source_group_0",- "supplier_name": "jlcpcb",- "supplier_part_number": "C25082",- "footprint_copper_intersection_over_union": 0.7741- },- {- "type": "supplier_footprint_mismatch_warning",- "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_jUmuLRRers",- "warning_type": "supplier_footprint_mismatch_warning",- "message": "<resistor#631 name=\".R10\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",- "source_component_id": "source_component_33",- "pcb_component_id": "pcb_component_35",- "subcircuit_id": "subcircuit_source_group_0",- "supplier_name": "jlcpcb",- "supplier_part_number": "C25082",- "footprint_copper_intersection_over_union": 0.7741- },- {- "type": "supplier_footprint_mismatch_warning",- "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_gJjPTM0TSq",- "warning_type": "supplier_footprint_mismatch_warning",- "message": "<resistor#683 name=\".R14\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",- "source_component_id": "source_component_37",- "pcb_component_id": "pcb_component_39",- "subcircuit_id": "subcircuit_source_group_0",- "supplier_name": "jlcpcb",- "supplier_part_number": "C25082",- "footprint_copper_intersection_over_union": 0.7741- },- {- "type": "supplier_footprint_mismatch_warning",- "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_L5M7yYn5zd",- "warning_type": "supplier_footprint_mismatch_warning",- "message": "<capacitor#452 name=\".C2\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C1525 (copper IoU 0.7249).",- "source_component_id": "source_component_9",- "pcb_component_id": "pcb_component_9",- "subcircuit_id": "subcircuit_source_group_0",- "supplier_name": "jlcpcb",- "supplier_part_number": "C1525",- "footprint_copper_intersection_over_union": 0.7249- },- {- "type": "supplier_footprint_mismatch_warning",- "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_MhJzOxfYDl",- "warning_type": "supplier_footprint_mismatch_warning",- "message": "<resistor#644 name=\".R11\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",- "source_component_id": "source_component_34",- "pcb_component_id": "pcb_component_36",- "subcircuit_id": "subcircuit_source_group_0",- "supplier_name": "jlcpcb",- "supplier_part_number": "C25082",- "footprint_copper_intersection_over_union": 0.7741- },- {- "type": "supplier_footprint_mismatch_warning",- "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_BvyyviFfdi",- "warning_type": "supplier_footprint_mismatch_warning",- "message": "<resistor#657 name=\".R12\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",- "source_component_id": "source_component_35",- "pcb_component_id": "pcb_component_37",- "subcircuit_id": "subcircuit_source_group_0",- "supplier_name": "jlcpcb",- "supplier_part_number": "C25082",- "footprint_copper_intersection_over_union": 0.7741- },- {- "type": "supplier_footprint_mismatch_warning",- "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_5H7p4MQcvH",- "warning_type": "supplier_footprint_mismatch_warning",- "message": "<resistor#414 name=\".R_CC1\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25900 (copper IoU 0.7741).",- "source_component_id": "source_component_6",- "pcb_component_id": "pcb_component_6",- "subcircuit_id": "subcircuit_source_group_0",- "supplier_name": "jlcpcb",- "supplier_part_number": "C25900",- "footprint_copper_intersection_over_union": 0.7741- },- {- "type": "supplier_footprint_mismatch_warning",- "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_yXkj6XIdlQ",- "warning_type": "supplier_footprint_mismatch_warning",- "message": "<resistor#540 name=\".R3\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",- "source_component_id": "source_component_26",- "pcb_component_id": "pcb_component_28",- "subcircuit_id": "subcircuit_source_group_0",- "supplier_name": "jlcpcb",- "supplier_part_number": "C25082",- "footprint_copper_intersection_over_union": 0.7741- },- {- "type": "supplier_footprint_mismatch_warning",- "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_XTQewAZ0Ll",- "warning_type": "supplier_footprint_mismatch_warning",- "message": "<resistor#592 name=\".R7\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",- "source_component_id": "source_component_30",- "pcb_component_id": "pcb_component_32",- "subcircuit_id": "subcircuit_source_group_0",- "supplier_name": "jlcpcb",- "supplier_part_number": "C25082",- "footprint_copper_intersection_over_union": 0.7741- },- {- "type": "supplier_footprint_mismatch_warning",- "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_xNi7DUHGeT",- "warning_type": "supplier_footprint_mismatch_warning",- "message": "<resistor#618 name=\".R9\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",- "source_component_id": "source_component_32",- "pcb_component_id": "pcb_component_34",- "subcircuit_id": "subcircuit_source_group_0",- "supplier_name": "jlcpcb",- "supplier_part_number": "C25082",- "footprint_copper_intersection_over_union": 0.7741- },- {- "type": "supplier_footprint_mismatch_warning",- "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_SJmXj13jXn",- "warning_type": "supplier_footprint_mismatch_warning",- "message": "<resistor#605 name=\".R8\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",- "source_component_id": "source_component_31",- "pcb_component_id": "pcb_component_33",- "subcircuit_id": "subcircuit_source_group_0",- "supplier_name": "jlcpcb",- "supplier_part_number": "C25082",- "footprint_copper_intersection_over_union": 0.7741- },- {- "type": "supplier_footprint_mismatch_warning",- "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_YUuk0dgHza",- "warning_type": "supplier_footprint_mismatch_warning",- "message": "<resistor#579 name=\".R6\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",- "source_component_id": "source_component_29",- "pcb_component_id": "pcb_component_31",- "subcircuit_id": "subcircuit_source_group_0",- "supplier_name": "jlcpcb",- "supplier_part_number": "C25082",- "footprint_copper_intersection_over_union": 0.7741- },- {- "type": "supplier_footprint_mismatch_warning",- "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_k7b1VVblHZ",- "warning_type": "supplier_footprint_mismatch_warning",- "message": "<resistor#427 name=\".R_CC2\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25900 (copper IoU 0.7741).",- "source_component_id": "source_component_7",- "pcb_component_id": "pcb_component_7",- "subcircuit_id": "subcircuit_source_group_0",- "supplier_name": "jlcpcb",- "supplier_part_number": "C25900",- "footprint_copper_intersection_over_union": 0.7741- },- {- "type": "supplier_footprint_mismatch_warning",- "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_uZWmJ1jaRQ",- "warning_type": "supplier_footprint_mismatch_warning",- "message": "<resistor#527 name=\".R2\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",- "source_component_id": "source_component_25",- "pcb_component_id": "pcb_component_27",- "subcircuit_id": "subcircuit_source_group_0",- "supplier_name": "jlcpcb",- "supplier_part_number": "C25082",- "footprint_copper_intersection_over_union": 0.7741- }, { "type": "pcb_trace", "pcb_trace_id": "source_net_0_mst0_0",@@ -60129,8 +59925,212 @@ "subcircuit_id": "subcircuit_source_group_0", "covered_with_solder_mask": true },+ {+ "type": "supplier_footprint_mismatch_warning",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_IRuVz5sxOt",+ "warning_type": "supplier_footprint_mismatch_warning",+ "message": "<resistor#414 name=\".R_CC1\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25900 (copper IoU 0.7741).",+ "source_component_id": "source_component_6",+ "pcb_component_id": "pcb_component_6",+ "subcircuit_id": "subcircuit_source_group_0",+ "supplier_name": "jlcpcb",+ "supplier_part_number": "C25900",+ "footprint_copper_intersection_over_union": 0.7741+ },+ {+ "type": "supplier_footprint_mismatch_warning",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_XHsFa6twAB",+ "warning_type": "supplier_footprint_mismatch_warning",+ "message": "<resistor#566 name=\".R5\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",+ "source_component_id": "source_component_28",+ "pcb_component_id": "pcb_component_30",+ "subcircuit_id": "subcircuit_source_group_0",+ "supplier_name": "jlcpcb",+ "supplier_part_number": "C25082",+ "footprint_copper_intersection_over_union": 0.7741+ },+ {+ "type": "supplier_footprint_mismatch_warning",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_1cwZotMamH",+ "warning_type": "supplier_footprint_mismatch_warning",+ "message": "<resistor#540 name=\".R3\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",+ "source_component_id": "source_component_26",+ "pcb_component_id": "pcb_component_28",+ "subcircuit_id": "subcircuit_source_group_0",+ "supplier_name": "jlcpcb",+ "supplier_part_number": "C25082",+ "footprint_copper_intersection_over_union": 0.7741+ },+ {+ "type": "supplier_footprint_mismatch_warning",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_4MLn26W3aA",+ "warning_type": "supplier_footprint_mismatch_warning",+ "message": "<resistor#670 name=\".R13\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",+ "source_component_id": "source_component_36",+ "pcb_component_id": "pcb_component_38",+ "subcircuit_id": "subcircuit_source_group_0",+ "supplier_name": "jlcpcb",+ "supplier_part_number": "C25082",+ "footprint_copper_intersection_over_union": 0.7741+ },+ {+ "type": "supplier_footprint_mismatch_warning",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_0rUkfm7vLC",+ "warning_type": "supplier_footprint_mismatch_warning",+ "message": "<resistor#631 name=\".R10\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",+ "source_component_id": "source_component_33",+ "pcb_component_id": "pcb_component_35",+ "subcircuit_id": "subcircuit_source_group_0",+ "supplier_name": "jlcpcb",+ "supplier_part_number": "C25082",+ "footprint_copper_intersection_over_union": 0.7741+ },+ {+ "type": "supplier_footprint_mismatch_warning",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_JUrM2RM4SK",+ "warning_type": "supplier_footprint_mismatch_warning",+ "message": "<resistor#527 name=\".R2\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",+ "source_component_id": "source_component_25",+ "pcb_component_id": "pcb_component_27",+ "subcircuit_id": "subcircuit_source_group_0",+ "supplier_name": "jlcpcb",+ "supplier_part_number": "C25082",+ "footprint_copper_intersection_over_union": 0.7741+ },+ {+ "type": "supplier_footprint_mismatch_warning",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_VptYQREXLc",+ "warning_type": "supplier_footprint_mismatch_warning",+ "message": "<resistor#514 name=\".R1\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",+ "source_component_id": "source_component_24",+ "pcb_component_id": "pcb_component_26",+ "subcircuit_id": "subcircuit_source_group_0",+ "supplier_name": "jlcpcb",+ "supplier_part_number": "C25082",+ "footprint_copper_intersection_over_union": 0.7741+ },+ {+ "type": "supplier_footprint_mismatch_warning",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_jDM0W6Qp75",+ "warning_type": "supplier_footprint_mismatch_warning",+ "message": "<resistor#644 name=\".R11\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",+ "source_component_id": "source_component_34",+ "pcb_component_id": "pcb_component_36",+ "subcircuit_id": "subcircuit_source_group_0",+ "supplier_name": "jlcpcb",+ "supplier_part_number": "C25082",+ "footprint_copper_intersection_over_union": 0.7741+ },+ {+ "type": "supplier_footprint_mismatch_warning",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_NDJXLngoX2",+ "warning_type": "supplier_footprint_mismatch_warning",+ "message": "<resistor#592 name=\".R7\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",+ "source_component_id": "source_component_30",+ "pcb_component_id": "pcb_component_32",+ "subcircuit_id": "subcircuit_source_group_0",+ "supplier_name": "jlcpcb",+ "supplier_part_number": "C25082",+ "footprint_copper_intersection_over_union": 0.7741+ },+ {+ "type": "supplier_footprint_mismatch_warning",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_h0Jtsc3idl",+ "warning_type": "supplier_footprint_mismatch_warning",+ "message": "<resistor#553 name=\".R4\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",+ "source_component_id": "source_component_27",+ "pcb_component_id": "pcb_component_29",+ "subcircuit_id": "subcircuit_source_group_0",+ "supplier_name": "jlcpcb",+ "supplier_part_number": "C25082",+ "footprint_copper_intersection_over_union": 0.7741+ },+ {+ "type": "supplier_footprint_mismatch_warning",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_DnDPxI8hbd",+ "warning_type": "supplier_footprint_mismatch_warning",+ "message": "<resistor#683 name=\".R14\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",+ "source_component_id": "source_component_37",+ "pcb_component_id": "pcb_component_39",+ "subcircuit_id": "subcircuit_source_group_0",+ "supplier_name": "jlcpcb",+ "supplier_part_number": "C25082",+ "footprint_copper_intersection_over_union": 0.7741+ },+ {+ "type": "supplier_footprint_mismatch_warning",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_VCLnUvsPkH",+ "warning_type": "supplier_footprint_mismatch_warning",+ "message": "<resistor#657 name=\".R12\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",+ "source_component_id": "source_component_35",+ "pcb_component_id": "pcb_component_37",+ "subcircuit_id": "subcircuit_source_group_0",+ "supplier_name": "jlcpcb",+ "supplier_part_number": "C25082",+ "footprint_copper_intersection_over_union": 0.7741+ },+ {+ "type": "supplier_footprint_mismatch_warning",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_G4CYi2seUQ",+ "warning_type": "supplier_footprint_mismatch_warning",+ "message": "<resistor#605 name=\".R8\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",+ "source_component_id": "source_component_31",+ "pcb_component_id": "pcb_component_33",+ "subcircuit_id": "subcircuit_source_group_0",+ "supplier_name": "jlcpcb",+ "supplier_part_number": "C25082",+ "footprint_copper_intersection_over_union": 0.7741+ },+ {+ "type": "supplier_footprint_mismatch_warning",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_CEUwd8ZdhC",+ "warning_type": "supplier_footprint_mismatch_warning",+ "message": "<resistor#427 name=\".R_CC2\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25900 (copper IoU 0.7741).",+ "source_component_id": "source_component_7",+ "pcb_component_id": "pcb_component_7",+ "subcircuit_id": "subcircuit_source_group_0",+ "supplier_name": "jlcpcb",+ "supplier_part_number": "C25900",+ "footprint_copper_intersection_over_union": 0.7741+ },+ {+ "type": "supplier_footprint_mismatch_warning",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_v2HV1aQtUe",+ "warning_type": "supplier_footprint_mismatch_warning",+ "message": "<capacitor#452 name=\".C2\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C1525 (copper IoU 0.7249).",+ "source_component_id": "source_component_9",+ "pcb_component_id": "pcb_component_9",+ "subcircuit_id": "subcircuit_source_group_0",+ "supplier_name": "jlcpcb",+ "supplier_part_number": "C1525",+ "footprint_copper_intersection_over_union": 0.7249+ },+ {+ "type": "supplier_footprint_mismatch_warning",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_ijvbcLyTBk",+ "warning_type": "supplier_footprint_mismatch_warning",+ "message": "<resistor#579 name=\".R6\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",+ "source_component_id": "source_component_29",+ "pcb_component_id": "pcb_component_31",+ "subcircuit_id": "subcircuit_source_group_0",+ "supplier_name": "jlcpcb",+ "supplier_part_number": "C25082",+ "footprint_copper_intersection_over_union": 0.7741+ },+ {+ "type": "supplier_footprint_mismatch_warning",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_INN04XANZr",+ "warning_type": "supplier_footprint_mismatch_warning",+ "message": "<resistor#618 name=\".R9\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",+ "source_component_id": "source_component_32",+ "pcb_component_id": "pcb_component_34",+ "subcircuit_id": "subcircuit_source_group_0",+ "supplier_name": "jlcpcb",+ "supplier_part_number": "C25082",+ "footprint_copper_intersection_over_union": 0.7741+ }, { "type": "source_project_metadata",- "source_filesystem_md5_hash": "ec801fea5aad0e2d651d928370741571"+ "source_filesystem_md5_hash": "20e3210e5f8f5efbbd1edff3c932e282" } ]
viewer/walkthrough.json+76−88@@ -1,139 +1,127 @@ { "_meta": {- "circuit_json_sha256": "cea27f43d13c1d69a196bddfed9d5e14bf8b25f2c0735bfc0e7ecc634ae2d899",- "do_not_edit_by_hand": "re-run `adom-tsci walkthrough-gen` after changing the board; hand-edits will be overwritten",- "generated_at": "2026-08-07T03:29:19.935775942+00:00",+ "circuit_json_sha256": "576c3efb9a4fce635287e8a426a2f7534372a8b93403ad0f398bbb4caf5fa367",+ "do_not_edit_by_hand": "steps are authored in scripts/gen-walkthrough.py; _meta (incl. circuit_json_sha256) comes from `adom-tsci walkthrough-gen` so staleness detection still works. Re-run scripts/gen-walkthrough.py after changing the board.",+ "generated_at": "2026-08-07T11:09:43.471796899+00:00", "generated_by": "adom-tsci walkthrough-gen", "package_name": "waleed-nameplate",- "project_name": "waleed-nameplate"+ "project_name": "waleed-nameplate",+ "steps_authored_by": "scripts/gen-walkthrough.py" }, "steps": [ {+ "id": "intro",+ "minMs": 7000,+ "title": "Waleed: the name is the ground plane", "focus": {- "kind": "all"+ "kind": "board" },- "id": "intro",- "text": "Board tour for waleed-nameplate. Derived from circuit.json by `adom-tsci walkthrough-gen` — update this board's package.json description or the generator output to customise it.",- "title": "waleed-nameplate"+ "highlight": [],+ "text": "A 236 x 76 mm Adom molecule. The gold letters are not silkscreen and not letter-shaped copper: they are 390 openings in the soldermask over one solid rectangular ground pour, so what you are looking at is bare plated copper at the bottom of a 194 x 40 mm window."+ },+ {+ "id": "ground-path",+ "minMs": 8000,+ "title": "Every LED returns through the letters",+ "focus": {+ "kind": "board"+ },+ "highlight": [],+ "text": "The top layer carries exactly one ground pour and there is no ground pour on the bottom, so there is no second return path. Current leaves an LED cathode, crosses the copper the name is cut into, and only then reaches the connector. The claim that the name is part of the circuit is enforced by geometry, not by wiring convention." }, {+ "id": "machine-pins",+ "minMs": 8000,+ "title": "Corner machine pins on the 32 mm scaffold grid", "focus": { "kind": "component",- "name": "J1",+ "name": "MP1", "zoomTight": true }, "highlight": [- "J1"+ "MP1",+ "MP2",+ "MP3",+ "MP4" ],- "id": "connector-1",- "minMs": 6000,- "text": "USB-C power input on the east edge. Plug in any 5 V USB-C cable and the board lights up. Part: TYPE-C-31-M-12.",- "title": "USB-C connector — power input"+ "text": "Four large machine pins, one per corner, spanning 224 x 64 mm. Both spans are exact multiples of 32 mm, the base scaffold's large-contact pitch, so this drops straight onto the 18 x 18 contact field. A 3.6 mm pin body presses into a 3.45 mm plated hole: 0.15 mm of interference, solderless. The workcell pincers grip these to pick the molecule up. MP1 and MP4 are ground, MP2 and MP3 are +5 V, so the plate can also run off a control panel." }, {+ "id": "leds",+ "minMs": 8000,+ "title": "14 side-view LEDs, firing inward", "focus": { "kind": "component",- "name": "ART1",+ "name": "D1", "zoomTight": true }, "highlight": [- "ART1"+ "D1",+ "D2",+ "D3",+ "D4",+ "D5",+ "D6",+ "D7",+ "D8",+ "D9",+ "D10",+ "D11",+ "D12",+ "D13",+ "D14" ],- "id": "chip-1",- "minMs": 6000,- "text": "ART1 — see `adom-tsci inspect ART1` for the pinout and package details.",- "title": "ART1 — main IC"+ "text": "These are side-view parts, not ordinary chip LEDs. The die sits on its side behind a window in the long face of the package, so the beam leaves parallel to the board about 0.5 mm above the soldermask. Ringed around the edge facing inward, the light rakes across the plate at a grazing angle and washes the letters instead of escaping upward. A top-view LED here would light nothing." }, {+ "id": "usbc",+ "minMs": 7000,+ "title": "USB-C power input", "focus": {- "kind": "components",- "names": [- "C1",- "C2"- ],+ "kind": "component",+ "name": "J1", "zoomTight": true }, "highlight": [- "C1",- "C2"+ "J1" ],- "id": "caps",- "minMs": 6000,- "text": "Board ships with 2 capacitor(s) — C1, C2. Typical roles: input decoupling, output filtering, bootstrap, bypass.",- "title": "Capacitors (2 total)"+ "text": "TYPE-C-31-M-12 on the east edge, shell just proud of the board edge so a plug can seat, with all four plated anchors under the shell rather than behind it. R_CC1 and R_CC2 are the Rd pulldowns on CC1 and CC2: without them a charger never enables VBUS and the board stays dark." }, {+ "id": "current",+ "minMs": 7000,+ "title": "Each string: 150 R, then a via to the back", "focus": {- "kind": "components",- "names": [- "R1",- "R10",- "R11",- "R12",- "R13",- "R14",- "R2",- "R3",- "R4",- "R5",- "R6",- "R7",- "R8",- "R9",- "R_CC1",- "R_CC2"- ],+ "kind": "component",+ "name": "R1", "zoomTight": true }, "highlight": [ "R1",- "R10",- "R11",- "R12",- "R13",- "R14", "R2",- "R3",- "R4",- "R5",- "R6",- "R7",- "R8",- "R9",- "R_CC1",- "R_CC2"+ "R3" ],- "id": "resistors",- "minMs": 5000,- "text": "Board ships with 16 resistor(s) — R1, R10, R11, R12, R13, R14, …+10 more. Typical roles: feedback dividers, pull-ups, current limiting.",- "title": "Resistors (16 total)"+ "text": "Everything is on the top side because the line does single-sided placement. 5 V through 150 R into a 3.2 V LED gives 12 mA each, 168 mA for the board, which any phone charger supplies. The +5 V plane is on the bottom, so each resistor hands off to a via whose ring laps onto its pad." }, {+ "id": "nets",+ "minMs": 8000,+ "title": "X-ray the copper", "focus": {- "kind": "netsMode"+ "kind": "board" },- "id": "nets-intro",- "minMs": 6000,- "text": "Press T (or click the ⋧ toolbar button). The FR4 substrate fades to x-ray, every routed pcb_trace lifts off the baked surface as a live polygon mesh, and the Nets HUD on the right groups all 17 routed nets into Power / Ground / Signal. Showing one net below as a sample; click any other net in the HUD to highlight it.",- "title": "Nets panel — x-ray copper view"- },- {- "focus": {- "kind": "net",- "name": "C1.pin1 ↔ C2.pin1"- },- "id": "net-c1-pin1---c2-pin1",- "minMs": 7000,- "text": "Signal. Ports on this net: C1.pin1 • C2.pin1 • J1.pin13 • J1.pin14 • J1.pin3 • J1.pin4 • MP2.pin1 • MP3.pin1 • R1.pin2 • R10.pin2 • R11.pin2 • R12.pin2 • R13.pin2 • R14.pin2 • R2.pin2 • R3.pin2 • R4.pin2 • R5.pin2 • R6.pin2 • R7.pin2 • R8.pin2 • R9.pin2. Conductive copper for this net — wires (red on top, blue on bottom), pads on each pin, vias and plated through-holes — all light up together when the net is selected.",- "title": "C1.pin1 ↔ C2.pin1 — sample x-ray net"+ "highlight": [],+ "text": "Press T or use the Nets toolbar button. The substrate fades and the routed copper lifts out. The ground net is the interesting one: it is almost entirely pour rather than traces, which is the point. Ground pads bond to the plate by sitting inside it, so the autorouter never gets the chance to route a shortcut around the letters." }, {+ "id": "outro",+ "minMs": 6000,+ "title": "Fabrication note", "focus": {- "kind": "netsModeOff"+ "kind": "board" },- "id": "outro",- "text": "Closing the Nets panel and disposing the heavy meshes — back to the lightweight baked board. Use `adom-tsci inspect <refdes>` to pin an info card, or `adom-tsci measure <a> <b>` for pad-to-pad distances. Re-generate this walkthrough any time with `adom-tsci walkthrough-gen`.",- "title": "Tour complete"+ "highlight": [],+ "text": "Specify ENIG rather than HASL. The letters are a large area of deliberately bare copper and are the whole point of the board; HASL leaves that area lumpy and uneven, ENIG leaves it flat and mirror gold. A dark soldermask maximises the contrast." } ]-}+}