component
Camille LED Nameplate
Public Made by Adomby adom
USB-C-powered desk nameplate spelling CAMILLE in 64 green 0402 LEDs (3x5 bitmap font, no MCU).
Plan — Camille's LED Nameplate
The original ask, captured retroactively from the design conversation on 2026-05-07. Carried forward to the molecule wiki page so a future AI picking this up sees the same brief that drove the build.
Original prompt
can you use adom-tsci to make an led board that says camille on it spelled out in led lights with a usbc connector so camille can put this on her desk and show it off to folks. just use 0604 green leds.
Refinements during the build
- LED size — user said "0604" which isn't a standard imperial size; clarified to 0402 (Adom standard passive — InstaPCB respin replaces the hand-rework argument that traditionally favours 0603). User approved 0402.
- Letter rendering — first proposed "block-letter style" with LEDs forming letter shapes. User confirmed each letter must be spelled out with individual LEDs. Rendered using a 3 × 5 dot-matrix bitmap font, one 0402 LED per lit pixel.
- Color — green, per user request. Color list documented on the wiki page so a re-render in any other LED color is a single-constant change.
- Workcell-fixturing — should be a proper Adom molecule, not a
generic board. Four corner machine-contact pins (
MC1–MC4) via the<Molecule type="4pin" size="100x38">wrapper. - Texture resolution — bake the board surface at 4096 px so the silkscreen reads cleanly at zoom (silkscreen is intentionally dense — see "Bottom silkscreen" below).
- Power LED — explicitly not added. The seven CAMILLE letters themselves are the power indicator: lit means 5 V is connected, dark means it isn't.
- Provenance line — Apple-style. Bottom silkscreen reads Designed by Adom in Fort Worth, Texas.
- No private references on the silkscreen — no GitHub URL, no per-author package name. Just the wiki URL and the brand mark.
- Bottom silkscreen as documentation — board "explains itself when flipped over." Bottom side carries HOW TO POWER IT (4-step instructions), HOW IT WORKS (the LED matrix explanation), BILL OF MATERIALS, HOW IT WAS BUILT, WORKCELL FIXTURING, IF A LED GOES DARK (repair notes), and footer credits.
Hardware decisions
- 64 green 0402 LEDs — one per lit pixel of a 3 × 5 bitmap font
rendered for "CAMILLE". The font is a
FONTconst inlib/index.tsx; the renderer walks each letter's pixels and emits one<led>+ one<resistor>per pixel. Per-letter counts: C=9, A=10, M=12, I=9, L=7, L=7, E=10. - 300 Ω 0402 resistor per LED — sized to drive a green LED at ~10 mA from 5 V (Vf ≈ 2.1 V → ~2.9 V across resistor → R = 290 Ω → 300 Ω E12 series). All resistors live in the inter-row gap below their LED to keep the front face clean. One resistor per LED keeps every LED independently fused (one LED dying does not affect others).
- USB-C TYPE-C-31-M-12 receptacle on the south edge, mouth cantilevered off the board so any standard USB-C cable plugs in cleanly. JLCPCB part C165948.
- 5.1 kΩ CC pulldowns ×2 — required so a USB-C cable identifies the board as a downstream device drawing power.
- 10 µF 0805 bulk decoupling cap on VBUS — smooths inrush as 64 LEDs light up together.
- Total draw — ~640 mA at 5 V (3.2 W). Within USB-C 1 A budget for any modern charger / laptop.
Out of scope (deliberate)
- No microcontroller, no firmware, no networking. The board is pure analog charm; it lights up when you plug it in.
- No PWM dimming, no animation, no individually-addressable LEDs.
- No assembly cost optimisation pass — current BOM is straightforward JLC-orderable parts; price isn't tuned for volume.
Build → publish workflow
cd adom-tsci-projects/Camille-LED-Nameplate
# Build
bun install
bunx tsci build lib/index.tsx --glbs --svgs --3d-png --pcb-png
# Preview interactively (4096 px texture for readable silkscreen at zoom)
adom-tsci start . --port 8863 --tsci-port 3063 --texture-resolution 4096
# Publish updated viewer + source bundle to the wiki molecule page
adom-tsci export-wiki . \
--slug camille-led-nameplate \
--page-type molecules \
--label "Live 3D viewer"
Future work
- Vivid x-ray net glow — current build's autorouter splits VBUS
and GND into many tiny per-LED nets, so the Nets-HUD x-ray glow on
any single net is visually short. An explicit unified rail
declaration in
lib/index.tsxwould make the glow span the whole board. - Manufactured copy — JLCPCB fab quote pending. The bundle on the
wiki includes the
circuit.jsonand SVGs; a real fab run needstsci export --format gerbersand the BOM/CPL splice (see the adom-tsci skill's "Exporting fab files" section). - Different name — the FONT bitmap is parameterised; swapping
TEXT = "CAMILLE"for any other 7-or-fewer-letter name (or different length with proportional board resize) is a single-line change. This template was forked from the Brianna nameplate by doing exactly that.
# Plan — Camille's LED Nameplate
The original ask, captured retroactively from the design conversation
on 2026-05-07. Carried forward to the molecule wiki page so a future
AI picking this up sees the same brief that drove the build.
## Original prompt
> can you use adom-tsci to make an led board that says camille on it
> spelled out in led lights with a usbc connector so camille can put
> this on her desk and show it off to folks. just use 0604 green leds.
## Refinements during the build
- **LED size** — user said "0604" which isn't a standard imperial size;
clarified to **0402** (Adom standard passive — InstaPCB respin replaces
the hand-rework argument that traditionally favours 0603). User
approved 0402.
- **Letter rendering** — first proposed "block-letter style" with LEDs
forming letter shapes. User confirmed each letter must be **spelled
out with individual LEDs**. Rendered using a 3 × 5 dot-matrix bitmap
font, one 0402 LED per lit pixel.
- **Color** — green, per user request. Color list documented on the
wiki page so a re-render in any other LED color is a single-constant
change.
- **Workcell-fixturing** — should be a proper Adom **molecule**, not a
generic board. Four corner machine-contact pins (`MC1`–`MC4`) via
the `<Molecule type="4pin" size="100x38">` wrapper.
- **Texture resolution** — bake the board surface at 4096 px so the
silkscreen reads cleanly at zoom (silkscreen is intentionally dense
— see "Bottom silkscreen" below).
- **Power LED** — explicitly *not* added. The seven CAMILLE letters
themselves are the power indicator: lit means 5 V is connected,
dark means it isn't.
- **Provenance line** — Apple-style. Bottom silkscreen reads
*Designed by Adom in Fort Worth, Texas*.
- **No private references on the silkscreen** — no GitHub URL, no
per-author package name. Just the wiki URL and the brand mark.
- **Bottom silkscreen as documentation** — board "explains itself when
flipped over." Bottom side carries HOW TO POWER IT (4-step
instructions), HOW IT WORKS (the LED matrix explanation), BILL OF
MATERIALS, HOW IT WAS BUILT, WORKCELL FIXTURING, IF A LED GOES DARK
(repair notes), and footer credits.
## Hardware decisions
- **64 green 0402 LEDs** — one per lit pixel of a 3 × 5 bitmap font
rendered for "CAMILLE". The font is a `FONT` const in
`lib/index.tsx`; the renderer walks each letter's pixels and emits
one `<led>` + one `<resistor>` per pixel. Per-letter counts:
C=9, A=10, M=12, I=9, L=7, L=7, E=10.
- **300 Ω 0402 resistor per LED** — sized to drive a green LED at
~10 mA from 5 V (Vf ≈ 2.1 V → ~2.9 V across resistor → R = 290 Ω
→ 300 Ω E12 series). All resistors live in the inter-row gap below
their LED to keep the front face clean. One resistor per LED keeps
every LED independently fused (one LED dying does not affect
others).
- **USB-C TYPE-C-31-M-12 receptacle** on the south edge, mouth
cantilevered off the board so any standard USB-C cable plugs in
cleanly. JLCPCB part C165948.
- **5.1 kΩ CC pulldowns ×2** — required so a USB-C cable identifies
the board as a downstream device drawing power.
- **10 µF 0805 bulk decoupling cap** on VBUS — smooths inrush as 64
LEDs light up together.
- **Total draw** — ~640 mA at 5 V (3.2 W). Within USB-C 1 A budget
for any modern charger / laptop.
## Out of scope (deliberate)
- No microcontroller, no firmware, no networking. The board is pure
analog charm; it lights up when you plug it in.
- No PWM dimming, no animation, no individually-addressable LEDs.
- No assembly cost optimisation pass — current BOM is straightforward
JLC-orderable parts; price isn't tuned for volume.
## Build → publish workflow
```bash
cd adom-tsci-projects/Camille-LED-Nameplate
# Build
bun install
bunx tsci build lib/index.tsx --glbs --svgs --3d-png --pcb-png
# Preview interactively (4096 px texture for readable silkscreen at zoom)
adom-tsci start . --port 8863 --tsci-port 3063 --texture-resolution 4096
# Publish updated viewer + source bundle to the wiki molecule page
adom-tsci export-wiki . \
--slug camille-led-nameplate \
--page-type molecules \
--label "Live 3D viewer"
```
## Future work
- **Vivid x-ray net glow** — current build's autorouter splits VBUS
and GND into many tiny per-LED nets, so the Nets-HUD x-ray glow on
any single net is visually short. An explicit unified rail
declaration in `lib/index.tsx` would make the glow span the whole
board.
- **Manufactured copy** — JLCPCB fab quote pending. The bundle on the
wiki includes the `circuit.json` and SVGs; a real fab run needs
`tsci export --format gerbers` and the BOM/CPL splice (see the
adom-tsci skill's "Exporting fab files" section).
- **Different name** — the FONT bitmap is parameterised; swapping
`TEXT = "CAMILLE"` for any other 7-or-fewer-letter name (or
different length with proportional board resize) is a single-line
change. This template was forked from the Brianna nameplate by
doing exactly that.