main
John Lauer Add provenance, manifests, verification log, licenses and README fbc6889 6h ago
{
 "schema": "adom/3d-model-provenance@1",
 "mpn": "SM04B-GHS-TB(LF)(SN)",
 "date": "2026-10-21",
 "classification": "KiCad library model (community CAD, nominal geometry), unchanged; checked against JST's drawing. Not JST CAD.",
 "manufacturer_step": {
  "status": "not obtained",
  "tried": [
   {
    "url": "https://www.jst-mfg.com/product/pdf/eng/eGH.pdf and the jst-mfg.com product pages",
    "result": "TCP connection refused from the build host, 2026-10-21"
   },
   {
    "url": "https://www.jst.com/products/crimp-style-connectors-wire-to-board-type/gh-connector/",
    "result": "HTTP 403 (bot wall), 2026-10-21"
   }
  ],
  "note": "JST's CAD downloads sit on jst-mfg.com behind its product pages; a browser session would be needed. When JST's STEP is added, keep its bytes in vendor/ and compare it with this model."
 },
 "source": {
  "file": "sm04b-ghs-tb-lf-sn.step",
  "sha256": "aacba39c0ebf407941d81e202e5fc85121532adadfd38f26725330dea8815ac7",
  "bytes": 329331,
  "url": "https://gitlab.com/kicad/libraries/kicad-packages3D/-/raw/master/Connector_JST.3dshapes/JST_GH_SM04B-GHS-TB_1x04-1MP_P1.25mm_Horizontal.step",
  "header": "JST_GH_SM04B-GHS-TB_1x04-1MP_P1.25mm_Horizontal.step, Copyright (C) 2018 Frank Severinsen, CC-BY-SA 4.0 with the KiCad library exception",
  "bytes_changed": false,
  "units": "mm",
  "up_axis": "Z",
  "seating_plane": "z = 0 (housing underside at z = -0.005)",
  "origin": "KiCad footprint origin; binds with zero offset and rotation"
 },
 "frame": "Z up, seated on z = 0, centred on the KiCad footprint origin, 3D +Y = footprint -Y (KiCad convention): contact tails toward +Y, mating face toward -Y",
 "measured_with": "service-step2glb features (bounding box) and per-primitive bounds of the step2glb GLB (provenance/tools/glb_parts.mjs keeps the two step2glb materials: mat_0 housing, mat_1 contacts and tabs)",
 "dimensions_mm": [
  {
   "item": "B overall width incl. solder tabs (4 circuits)",
   "jst": "8.25 (p.2 table)",
   "model": "8.250 (x -4.125 .. 4.125)",
   "match": true
  },
  {
   "item": "A outer contact span",
   "jst": "3.75 (p.2 table)",
   "model": "3.750 (contact centres x -1.875 .. 1.875)",
   "match": true
  },
  {
   "item": "contact pitch",
   "jst": "1.25",
   "model": "1.250",
   "match": true
  },
  {
   "item": "contact tail width",
   "jst": "0.2 (p.2)",
   "model": "0.200",
   "match": true
  },
  {
   "item": "housing depth, mating face to rear",
   "jst": "4.05 (p.2 side view)",
   "model": "4.050 (y -2.470 .. 1.580)",
   "match": true
  },
  {
   "item": "contact tail beyond housing rear",
   "jst": "0.8 (p.2 side view)",
   "model": "0.895 (tail tip y 2.475)",
   "match": false,
   "note": "KiCad tails are 0.095 mm longer than JST draws. The tip still lands 0.225 mm inside the 1.7 mm signal pad (pad rear edge at 3D y 2.7), so it has no effect on the land pattern or the board outline."
  },
  {
   "item": "height above board",
   "jst": "4.25 (p.2 front view)",
   "model": "4.250 (z -0.005 .. 4.245)",
   "match": true
  },
  {
   "item": "solder tab inner face to circuit 4 centre",
   "jst": "1.75 (p.2 front view)",
   "model": "1.750 (tab x 3.625 .. 3.825)",
   "match": true
  },
  {
   "item": "solder tab centre (= footprint MP pad centre)",
   "jst": "3.725 (p.1 layout: 1.35 + 1.0 / 2 from the outer contact)",
   "model": "3.725",
   "match": true
  },
  {
   "item": "housing front vs footprint header outline",
   "jst": "0.25 behind the tab pad front edge (p.1 layout), footprint y 2.45",
   "model": "housing front at footprint y 2.47",
   "match": true,
   "note": "within 0.02 mm"
  },
  {
   "item": "mated height with GHR housing",
   "jst": "4.35 (p.1 assembly layout)",
   "model": "not checkable (no housing in this model)",
   "match": null
  }
 ],
 "pin1": {
  "footprint": "pad 1 at x = -1.875 (the -X end)",
  "model": "contact at x = -1.875 is circuit 1; the four contacts sit on pads 1 to 4 with zero offset",
  "datasheet": "p.2 side entry view (looking into the mating face, board below) labels Circuit No.1 at the left; with the mating face toward 3D -Y the viewer facing it has -X on the left",
  "render": "docs/models/sm04b-ghs-tb-lf-sn-glb-front.png (view along +Y onto the mating face: circuit 1 at the left, as JST draws it)",
  "note": "The KiCad model has no pin-1 mark (nor does the real header; JST marks circuit 1 only in the drawing). Its contact pattern is symmetric, so orientation rests on the footprint binding and the mating face direction, both checked."
 },
 "simplifications": [
  "Housing latch window, polarising ribs and cavity detail are simplified boxes, not JST geometry.",
  "Contacts are rectangular sections without bend radii.",
  "No marking: the real header carries none."
 ],
 "glb": {
  "converter": "step2glb convert --compress none (service-step2glb)",
  "post": "provenance/tools/glb_parts.mjs (glTF Transform 4.1.1): split into named nodes housing and contacts, materials housing PA9T ivory metallic 0 roughness 0.6, contacts tin metallic 1 roughness 0.35, dedup + join per part + prune",
  "file": "sm04b-ghs-tb-lf-sn.glb",
  "sha256": "13dfd4dd38fc1ca3d2c1d013528430cc90dcf64c6989e1e4f86a380206034299"
 },
 "hero": {
  "file": "sm04b-ghs-tb-lf-sn-hero.glb",
  "sha256": "e91b348f6121dab67a1498a6cb749e5fb5f503be6b8469665732a47e41d66847",
  "tool": "adom/component-hero hero_glb.py (adom-hero 1.4)",
  "result": "pads 6, silk items 6, pin-1 dot added (AI) beside pad 1, labels 5, align OK (offset 0.0 mm)",
  "overlay": "sm04b-ghs-tb-lf-sn-hero.overlay.json"
 },
 "virtual_mpn_mark": "Not applied. The real header has no marking and its top is a 3 mm deep ivory moulding; an etched MPN would read as a real marking. Recorded as an open item."
}