hardware
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.
Jon Chung nameplate: design brief
Intent
A desk nameplate for Jon Chung that is also a legitimate Adom molecule: it mounts in a probing workcell on the 32 mm base-scaffold grid, and it makes one idea physical the name is the ground plane.
Hard constraints
- Name in Familjen Grotesk Bold (Adom brand headline face), 40 mm ink height, width free to follow.
- The name is a soldermask opening over a rectangular GND copper pour, not silkscreen and not letter-shaped copper.
- No second ground path. Every LED returns through the letters. This is the whole point and must not be traded away for routing convenience.
- Large machine pin at each corner, pin box an exact multiple of 32 mm.
- Board hugs the pins minimal wings.
- Side-view (not top-view, not reverse-mount) LEDs at the edges firing inward.
- USB-C on an edge, mouth clear of the board edge, all four anchors present.
- Top-side placement only single-sided PnP.
Resulting geometry
- Board 268 x 76 mm; pin box 256 x 64 mm (8 x 2 on the grid)
- Name 209.2 x 40 mm, 478 mask-opening polygons
- 15 LEDs at 12 mA = 180 mA total
Things that bit, so they do not bite again
- The autorouter solves
to="net.GND"as a spanning tree and will daisy-chain LED cathodes to each other, routing return current around the plate and silently dropping a device. Fix: size the pour to contain every ground pad so ground bonds by geometry. adom-tsci lintcountspcb_traceobjects and cannot see a pad that is bonded by nothing.scripts/check-connectivity.mjsis the real gate.- A via whose centre lands inside an SMD pad raises
pcb_placement_errorand tscircuit then skips autorouting for the whole board while still exiting- Keep via centres outside pads; let only the ring overlap.
- The USB-C model's mouth is at local -Y, and
rotationOffset.z: 180is load-bearing. Lint derives the mouth vector from the same assumption, so a 180 deg error cancels out of the check. Look at the 3D view. - tscircuit's texture baker does not shade exposed copper, so the name is invisible in the 3D tab. A generated gold decal GLB, built from the same polygons as the mask openings, makes it visible without touching fab output.
See the adom-nameplate skill for the full write-up.
# Jon Chung nameplate: design brief
## Intent
A desk nameplate for Jon Chung that is also a legitimate Adom molecule: it mounts
in a probing workcell on the 32 mm base-scaffold grid, and it makes one idea
physical **the name is the ground plane**.
## Hard constraints
1. Name in Familjen Grotesk Bold (Adom brand headline face), 40 mm ink height,
width free to follow.
2. The name is a **soldermask opening over a rectangular GND copper pour**, not
silkscreen and not letter-shaped copper.
3. **No second ground path.** Every LED returns through the letters. This is
the whole point and must not be traded away for routing convenience.
4. Large machine pin at each corner, pin box an exact multiple of 32 mm.
5. Board hugs the pins minimal wings.
6. Side-view (not top-view, not reverse-mount) LEDs at the edges firing inward.
7. USB-C on an edge, mouth clear of the board edge, all four anchors present.
8. **Top-side placement only** single-sided PnP.
## Resulting geometry
- Board 268 x 76 mm; pin box 256 x 64 mm (8 x 2 on the grid)
- Name 209.2 x 40 mm, 478 mask-opening polygons
- 15 LEDs at 12 mA = 180 mA total
## Things that bit, so they do not bite again
- The autorouter solves `to="net.GND"` as a spanning tree and will daisy-chain
LED cathodes to each other, routing return current *around* the plate and
silently dropping a device. Fix: size the pour to contain every ground pad so
ground bonds by geometry.
- `adom-tsci lint` counts `pcb_trace` objects and cannot see a pad that is
bonded by nothing. `scripts/check-connectivity.mjs` is the real gate.
- A via whose *centre* lands inside an SMD pad raises `pcb_placement_error` and
tscircuit then **skips autorouting for the whole board** while still exiting
0. Keep via centres outside pads; let only the ring overlap.
- The USB-C model's mouth is at local -Y, and `rotationOffset.z: 180` is
load-bearing. Lint derives the mouth vector from the same assumption, so a
180 deg error cancels out of the check. Look at the 3D view.
- tscircuit's texture baker does not shade exposed copper, so the name is
invisible in the 3D tab. A generated gold decal GLB, built from the same
polygons as the mask openings, makes it visible without touching fab output.
See the `adom-nameplate` skill for the full write-up.