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
3 files changed
+100−76
README.html+24@@ -138,4 +138,28 @@ from parametric tscircuit source. Board size, pin box, LED count and silkscreen from the name's ink box, so a new name is one command:</p> <p><code>scripts/make-nameplate.sh "Waleed"</code></p> +<script>+(function () {+ // The wiki renders README.html inside an iframe that does not know our+ // height, so it has to be told. Without this the page is clipped to the+ // default frame height and everything below the 3D viewer is unreachable.+ var wrap = document.getElementById('wrap');+ var last = 0;+ function post() {+ var h = wrap.offsetHeight + 24;+ if (h !== last) { last = h; parent.postMessage({ type: 'readme-height', height: h }, '*'); }+ }+ post();+ addEventListener('load', post);+ addEventListener('resize', post);+ // Images and the lazily-loaded viewer iframe land after first paint and each+ // one changes our height, so re-post as they arrive.+ document.querySelectorAll('img, iframe').forEach(function (el) {+ el.addEventListener('load', post);+ });+ if (window.ResizeObserver) new ResizeObserver(post).observe(wrap);+ // Belt and braces for late web-font swaps.+ [100, 400, 1200, 3000].forEach(function (t) { setTimeout(post, t); });+})();+</script> </div></body></html>
viewer/circuit.json+74−74@@ -59927,23 +59927,23 @@ }, { "type": "supplier_footprint_mismatch_warning",- "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_IRuVz5sxOt",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_wGdA7rsagP", "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",+ "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": "C25900",+ "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_XHsFa6twAB",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_HJ4YBI3sjv", "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",+ "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",@@ -59951,11 +59951,11 @@ }, { "type": "supplier_footprint_mismatch_warning",- "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_1cwZotMamH",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_0acr1obaXQ", "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",+ "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",@@ -59963,23 +59963,23 @@ }, { "type": "supplier_footprint_mismatch_warning",- "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_4MLn26W3aA",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_wFieRsMiy6", "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",+ "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": "C25082",+ "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_0rUkfm7vLC",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_tTZNilTg2z", "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",+ "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",@@ -59987,19 +59987,19 @@ }, { "type": "supplier_footprint_mismatch_warning",- "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_JUrM2RM4SK",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_dEMAXUqWt4", "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",+ "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": "C25082",- "footprint_copper_intersection_over_union": 0.7741+ "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_VptYQREXLc",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_6bOa9HK2d0", "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",@@ -60011,11 +60011,11 @@ }, { "type": "supplier_footprint_mismatch_warning",- "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_jDM0W6Qp75",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_f0IPkmkjMD", "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",+ "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",@@ -60023,11 +60023,11 @@ }, { "type": "supplier_footprint_mismatch_warning",- "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_NDJXLngoX2",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_2y3KmlVsvL", "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",+ "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",@@ -60035,23 +60035,23 @@ }, { "type": "supplier_footprint_mismatch_warning",- "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_h0Jtsc3idl",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_1w4AjQD921", "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",+ "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": "C25082",+ "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_DnDPxI8hbd",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_bm7wwDUqsX", "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",+ "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",@@ -60059,11 +60059,11 @@ }, { "type": "supplier_footprint_mismatch_warning",- "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_VCLnUvsPkH",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_OPP7FqwL0e", "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",+ "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",@@ -60071,11 +60071,11 @@ }, { "type": "supplier_footprint_mismatch_warning",- "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_G4CYi2seUQ",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_l6FZ9UeEdc", "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",+ "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",@@ -60083,35 +60083,35 @@ }, { "type": "supplier_footprint_mismatch_warning",- "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_CEUwd8ZdhC",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_JeD3FdnUhH", "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",+ "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": "C25900",+ "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_v2HV1aQtUe",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_k1oK4t1nx6", "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",+ "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": "C1525",- "footprint_copper_intersection_over_union": 0.7249+ "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_ijvbcLyTBk",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_44QD5kmPjw", "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",+ "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",@@ -60119,11 +60119,11 @@ }, { "type": "supplier_footprint_mismatch_warning",- "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_INN04XANZr",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_FELzwTXT6b", "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",+ "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",@@ -60131,6 +60131,6 @@ }, { "type": "source_project_metadata",- "source_filesystem_md5_hash": "20e3210e5f8f5efbbd1edff3c932e282"+ "source_filesystem_md5_hash": "beb695952f342cbfaae2b37c7808530f" } ]
viewer/walkthrough.json+2−2@@ -1,8 +1,8 @@ { "_meta": {- "circuit_json_sha256": "576c3efb9a4fce635287e8a426a2f7534372a8b93403ad0f398bbb4caf5fa367",+ "circuit_json_sha256": "2b311b2f9345267b08c2bef868389c9bcdca4695be70328781f1252c6a3a549e", "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_at": "2026-08-07T11:33:00.164874513+00:00", "generated_by": "adom-tsci walkthrough-gen", "package_name": "waleed-nameplate", "project_name": "waleed-nameplate",