molecule
Jon Chung — Adom Molecule LED Nameplate
Public Made by Adomby adom
Jon Chung'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
Jon Chung nameplate: self-hosted 3D viewer, Z-up model, README.html
3 files changed
+103−79
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 "Jon Chung"</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+77−77@@ -65082,11 +65082,23 @@ }, { "type": "supplier_footprint_mismatch_warning",- "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_uzxhYMhlqk",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_SH91PuNYS9", "warning_type": "supplier_footprint_mismatch_warning",- "message": "<resistor#644 name=\".R4\" /> 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": "<capacitor#540 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_A2QeJWd1ew",+ "warning_type": "supplier_footprint_mismatch_warning",+ "message": "<resistor#605 name=\".R1\" /> 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",@@ -65094,11 +65106,11 @@ }, { "type": "supplier_footprint_mismatch_warning",- "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_Yzn0D9F5mu",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_wYG61TsiLV", "warning_type": "supplier_footprint_mismatch_warning",- "message": "<resistor#657 name=\".R5\" /> 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#787 name=\".R15\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",+ "source_component_id": "source_component_39",+ "pcb_component_id": "pcb_component_41", "subcircuit_id": "subcircuit_source_group_0", "supplier_name": "jlcpcb", "supplier_part_number": "C25082",@@ -65106,19 +65118,19 @@ }, { "type": "supplier_footprint_mismatch_warning",- "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_Ai9WIsxvCG",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_2KSc7faxF1", "warning_type": "supplier_footprint_mismatch_warning",- "message": "<capacitor#540 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#644 name=\".R4\" /> 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": "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_LPpfjJCsL9",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_U7da5BUZvX", "warning_type": "supplier_footprint_mismatch_warning", "message": "<resistor#683 name=\".R7\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).", "source_component_id": "source_component_31",@@ -65130,23 +65142,23 @@ }, { "type": "supplier_footprint_mismatch_warning",- "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_jcxtO35zzU",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_q6dTXnoYl4", "warning_type": "supplier_footprint_mismatch_warning",- "message": "<resistor#502 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#774 name=\".R14\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",+ "source_component_id": "source_component_38",+ "pcb_component_id": "pcb_component_40", "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_Stz9NHDVXX",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_EodIzU9rTO", "warning_type": "supplier_footprint_mismatch_warning",- "message": "<resistor#722 name=\".R10\" /> 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#735 name=\".R11\" /> 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",@@ -65154,11 +65166,11 @@ }, { "type": "supplier_footprint_mismatch_warning",- "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_su4Rbt3dYY",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_3NQS41fZCe", "warning_type": "supplier_footprint_mismatch_warning",- "message": "<resistor#774 name=\".R14\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",- "source_component_id": "source_component_38",- "pcb_component_id": "pcb_component_40",+ "message": "<resistor#631 name=\".R3\" /> 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",@@ -65166,11 +65178,11 @@ }, { "type": "supplier_footprint_mismatch_warning",- "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_Syd2MLrcb3",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_bm276a6zNa", "warning_type": "supplier_footprint_mismatch_warning",- "message": "<resistor#787 name=\".R15\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).",- "source_component_id": "source_component_39",- "pcb_component_id": "pcb_component_41",+ "message": "<resistor#722 name=\".R10\" /> 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",@@ -65178,11 +65190,11 @@ }, { "type": "supplier_footprint_mismatch_warning",- "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_9EA5lNVEO0",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_wfCsaH3wdA", "warning_type": "supplier_footprint_mismatch_warning",- "message": "<resistor#696 name=\".R8\" /> 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#618 name=\".R2\" /> 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",@@ -65190,11 +65202,11 @@ }, { "type": "supplier_footprint_mismatch_warning",- "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_fbeb6295xf",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_bmtXxoKK1D", "warning_type": "supplier_footprint_mismatch_warning",- "message": "<resistor#605 name=\".R1\" /> 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": "<resistor#696 name=\".R8\" /> 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",@@ -65202,11 +65214,11 @@ }, { "type": "supplier_footprint_mismatch_warning",- "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_nRvMWGLOLp",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_yL49nIWw2D", "warning_type": "supplier_footprint_mismatch_warning",- "message": "<resistor#618 name=\".R2\" /> 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#748 name=\".R12\" /> 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",@@ -65214,7 +65226,7 @@ }, { "type": "supplier_footprint_mismatch_warning",- "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_GKI2bOcPs8",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_JnfYSXY9wT", "warning_type": "supplier_footprint_mismatch_warning", "message": "<resistor#670 name=\".R6\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).", "source_component_id": "source_component_30",@@ -65226,35 +65238,35 @@ }, { "type": "supplier_footprint_mismatch_warning",- "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_FoAIuiT11S",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_FXYPwJVvPQ", "warning_type": "supplier_footprint_mismatch_warning",- "message": "<resistor#735 name=\".R11\" /> 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#515 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_aJohwSNPnm",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_MEtgwMYe0j", "warning_type": "supplier_footprint_mismatch_warning",- "message": "<resistor#709 name=\".R9\" /> 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#502 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_z1gWPGUi4C",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_MgpUuZFiSK", "warning_type": "supplier_footprint_mismatch_warning",- "message": "<resistor#748 name=\".R12\" /> 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#709 name=\".R9\" /> 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",@@ -65262,11 +65274,11 @@ }, { "type": "supplier_footprint_mismatch_warning",- "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_Gts9Xcwnam",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_aMPPpBgzxZ", "warning_type": "supplier_footprint_mismatch_warning",- "message": "<resistor#631 name=\".R3\" /> 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#657 name=\".R5\" /> 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",@@ -65274,7 +65286,7 @@ }, { "type": "supplier_footprint_mismatch_warning",- "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_nxVGgcqc8L",+ "supplier_footprint_mismatch_warning_id": "supplier_footprint_mismatch_warning_HCrQoOqsbI", "warning_type": "supplier_footprint_mismatch_warning", "message": "<resistor#761 name=\".R13\" /> footprint \"0402\" does not match supplier footprint jlcpcb:C25082 (copper IoU 0.7741).", "source_component_id": "source_component_37",@@ -65284,20 +65296,8 @@ "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_1a26ExSpmL",- "warning_type": "supplier_footprint_mismatch_warning",- "message": "<resistor#515 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": "source_project_metadata",- "source_filesystem_md5_hash": "5159975a36709c543705eb49d193f608"+ "source_filesystem_md5_hash": "a63c39491d273ab194213ee52e65098c" } ]
viewer/walkthrough.json+2−2@@ -1,8 +1,8 @@ { "_meta": {- "circuit_json_sha256": "4988534cea8e55a4bebfdc8fd77183f189af25250ed0bc5d53a46ff0e1d6701e",+ "circuit_json_sha256": "e8acbe6c1e2c781aa305bda16e1a3f1bc6b445a1f04722c0d09db447000b52bf", "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.631708278+00:00",+ "generated_at": "2026-08-07T11:34:11.097824420+00:00", "generated_by": "adom-tsci walkthrough-gen", "package_name": "jon-chung-nameplate", "project_name": "jon-chung-nameplate",