Publish a Hardware Component to the Adom Wiki
Public Made by Adomby adom
The one-stop-shop for publishing a hardware component (or molecule/board) to the Adom Wiki. The whole lifecycle: page anatomy, the clone→edit→preview→push loop and its hard rules, making a great hero image (Hero Component Studio — 16:10, overlay-safe, datasheet-backed), the animated 3D composite, the interactive 3D viewer, ct thumbnails, the datasheet-accuracy audit, and every wiki push/pull gotcha we've hit. Now includes the worked Path B (board) pipeline: STEP-to-GLB, refdes tagging, layer de-
Datasheet-accuracy audit checklist
A characterization page is a datasheet. Every value and every chart must trace to a specific datasheet figure/table. Cite the page number for every finding.
Procedure
- Extract the page's claims to plain text (strip HTML tags).
- Get the datasheet:
pdftotext -layout DS.pdf -for the tables; render figures withpdftoppm -png -r 300 -f <pg> -l <pg>and, for a specific curve, crop with-x -y -W -Hat high DPI then Read the PNG. (ImageMagick is NOT installed.) - For the target part specifically (a series datasheet covers many variants — pick the right row: colour/value/voltage), compare EACH value and EACH chart curve.
Value checklist (per component type)
- LED: Vf typ/max, λD (dominant), λP (peak), IV (mcd) @ test current, IF max, IFP (pulse note), VR, Pd, viewing angle 2θ½, material (AlInGaP/InGaN), lens, operating/storage temp. Package L×W×H + tolerance. Solder pattern (pad W, H, gap).
- MLCC / cap: capacitance, tolerance, rated voltage, dielectric, package L×W×T
- termination band, dissipation factor, insulation resistance, temp range, reflow.
- Resistor: value, tolerance, power rating, TCR, package, derating curve.
Charts — verify the CURVE, not just the caption
An SVG <path> can plot the wrong numbers even with a corrected caption. For each
chart: read the datasheet curve at several points, convert to the chart's pixel
coords (x = x0 + (v-v0)*scale, y = y0 - value*scale), and redraw the path.
Common discrepancies found in the wild
- Land pattern "center-to-center" that is actually the edge-to-edge GAP. The datasheet solder-pattern dimension between two pads is usually the gap. c-c = pad_width + gap. (Seen on IN-S42ATR: page said c-c 0.6mm; Fig 1's 0.6 is the gap, real c-c = 0.4 + 0.6 = 1.0mm.)
- Brightness-vs-current / vs-temperature curves drawn to invented numbers (e.g. "+55% at 40mA" when the datasheet curve reads +70%; "−30% at 70°C" when it's ~−40%). Redraw from the datasheet curve.
- FWHM / spectral width stated as a value when the datasheet's Δλ column is blank for that colour — remove it (it's a guess, not a spec).
- Footprint pad size not matching the datasheet solder pattern (e.g. width/height
swapped: 0.6×0.5 where Fig 1 says 0.4×0.6). Fix the
.kicad_modAND regenerate the fpview + ct footprint SVG + the composite pads. - 3D model height = the generic KiCad body (0402 LED_0402 is 0.5mm) vs the datasheet (0.45mm). Scale the STEP + composite to the datasheet height.
- Derating curve values that look wrong but are actually right — verify against the datasheet's own curve before "fixing". (IN-S42ATR: the derating curve peaks at 30mA even though the abs-max table says 25mA — the datasheet is internally inconsistent; the page correctly reproduced the curve.)
# Datasheet-accuracy audit checklist
A characterization page **is** a datasheet. Every value and every chart must trace
to a specific datasheet figure/table. **Cite the page number for every finding.**
## Procedure
1. Extract the page's claims to plain text (strip HTML tags).
2. Get the datasheet: `pdftotext -layout DS.pdf -` for the tables; render figures
with `pdftoppm -png -r 300 -f <pg> -l <pg>` and, for a specific curve, crop with
`-x -y -W -H` at high DPI then Read the PNG. (ImageMagick is NOT installed.)
3. For the target part specifically (a series datasheet covers many variants — pick
the right row: colour/value/voltage), compare EACH value and EACH chart curve.
## Value checklist (per component type)
- **LED:** Vf typ/max, λD (dominant), λP (peak), IV (mcd) @ test current, IF max,
IFP (pulse note), VR, Pd, viewing angle 2θ½, material (AlInGaP/InGaN), lens,
operating/storage temp. Package L×W×H + tolerance. Solder pattern (pad W, H, gap).
- **MLCC / cap:** capacitance, tolerance, rated voltage, dielectric, package L×W×T
+ termination band, dissipation factor, insulation resistance, temp range, reflow.
- **Resistor:** value, tolerance, power rating, TCR, package, derating curve.
## Charts — verify the CURVE, not just the caption
An SVG `<path>` can plot the wrong numbers even with a corrected caption. For each
chart: read the datasheet curve at several points, convert to the chart's pixel
coords (`x = x0 + (v-v0)*scale`, `y = y0 - value*scale`), and redraw the path.
## Common discrepancies found in the wild
- **Land pattern "center-to-center" that is actually the edge-to-edge GAP.** The
datasheet solder-pattern dimension between two pads is usually the gap. c-c =
pad_width + gap. (Seen on IN-S42ATR: page said c-c 0.6mm; Fig 1's 0.6 is the gap,
real c-c = 0.4 + 0.6 = 1.0mm.)
- **Brightness-vs-current / vs-temperature curves drawn to invented numbers**
(e.g. "+55% at 40mA" when the datasheet curve reads +70%; "−30% at 70°C" when it's
~−40%). Redraw from the datasheet curve.
- **FWHM / spectral width stated as a value** when the datasheet's Δλ column is blank
for that colour — remove it (it's a guess, not a spec).
- **Footprint pad size not matching the datasheet solder pattern** (e.g. width/height
swapped: 0.6×0.5 where Fig 1 says 0.4×0.6). Fix the `.kicad_mod` AND regenerate the
fpview + ct footprint SVG + the composite pads.
- **3D model height = the generic KiCad body** (0402 LED_0402 is 0.5mm) vs the
datasheet (0.45mm). Scale the STEP + composite to the datasheet height.
- **Derating curve values that look wrong but are actually right** — verify against
the datasheet's own curve before "fixing". (IN-S42ATR: the derating curve peaks at
30mA even though the abs-max table says 25mA — the datasheet is internally
inconsistent; the page correctly reproduced the curve.)