main
Ray sn74hc148: component.models_3d pose record per STEP (Z-up, seated z=0, pad-centre origin, identity binding) 03b0351 1mo ago
{
  "schema_version": 1,
  "type": "component",
  "slug": "sn74hc148",
  "title": "SN74HC148",
  "brief": "TI 8-to-3 line priority encoder, SOIC-16. Encodes highest active input to 3-bit binary, cascadable. HC 2-6 V. Datasheet-verified.",
  "version": "0.1.0",
  "license": "CC-BY-SA-4.0",
  "tags": [
    "component",
    "logic",
    "encoder",
    "priority-encoder",
    "74hc",
    "soic-16",
    "texas-instruments"
  ],
  "component": {
    "mpn": "SN74HC148",
    "manufacturer": "Texas Instruments",
    "package": "SOIC-16",
    "pin_count": 16,
    "category": "Logic IC",
    "subcategory": "8-to-3 priority encoder",
    "datasheet": "https://www.ti.com/lit/ds/symlink/sn74hc148.pdf",
    "parts": {
      "symbol": "sn74hc148.kicad_sym",
      "footprint": "sn74hc148.kicad_mod",
      "model_3d": "sn74hc148-etched.glb",
      "model_3d_plain": "sn74hc148.glb",
      "lbr": "sn74hc148.lbr",
      "model_3d_step": "sn74hc148-etched.step",
      "model_3d_step_plain": "sn74hc148.step"
    },
    "distributor_links": {},
    "pins": [
      {
        "number": "1",
        "name": "4",
        "type": "input",
        "description": "Active-low data input 4. Requests encoding of octal value 4 when asserted (LOW)."
      },
      {
        "number": "2",
        "name": "5",
        "type": "input",
        "description": "Active-low data input 5. Requests encoding of octal value 5 when asserted (LOW)."
      },
      {
        "number": "3",
        "name": "6",
        "type": "input",
        "description": "Active-low data input 6. Requests encoding of octal value 6 when asserted (LOW)."
      },
      {
        "number": "4",
        "name": "7",
        "type": "input",
        "description": "Active-low data input 7 (highest priority). Requests encoding of octal value 7 when asserted (LOW)."
      },
      {
        "number": "5",
        "name": "EI",
        "type": "input",
        "description": "Active-low enable input. All outputs are forced to their inactive (HIGH) state when EI is HIGH; encoding is enabled when EI is LOW. Used for cascading multiple stages."
      },
      {
        "number": "6",
        "name": "A2",
        "type": "output",
        "description": "Active-low encoded output bit 2 (MSB of the 3-bit octal code). Drives ±4 mA at Vcc = 5 V."
      },
      {
        "number": "7",
        "name": "A1",
        "type": "output",
        "description": "Active-low encoded output bit 1. Drives ±4 mA at Vcc = 5 V."
      },
      {
        "number": "8",
        "name": "GND",
        "type": "power_in",
        "description": "Ground reference (0 V)."
      },
      {
        "number": "9",
        "name": "A0",
        "type": "output",
        "description": "Active-low encoded output bit 0 (LSB of the 3-bit octal code). Drives ±4 mA at Vcc = 5 V."
      },
      {
        "number": "10",
        "name": "0",
        "type": "input",
        "description": "Active-low data input 0 (lowest priority). Requests encoding of octal value 0 when asserted (LOW) and no higher-numbered input is active."
      },
      {
        "number": "11",
        "name": "1",
        "type": "input",
        "description": "Active-low data input 1. Requests encoding of octal value 1 when asserted (LOW)."
      },
      {
        "number": "12",
        "name": "2",
        "type": "input",
        "description": "Active-low data input 2. Requests encoding of octal value 2 when asserted (LOW)."
      },
      {
        "number": "13",
        "name": "3",
        "type": "input",
        "description": "Active-low data input 3. Requests encoding of octal value 3 when asserted (LOW)."
      },
      {
        "number": "14",
        "name": "GS",
        "type": "output",
        "description": "Active-low group-select output. Goes LOW whenever any data input (0-7) is active and EI is LOW, indicating that a valid encoded value is present on A0-A2."
      },
      {
        "number": "15",
        "name": "EO",
        "type": "output",
        "description": "Active-low enable output. Goes LOW when EI is LOW and no data input is asserted, signaling downstream cascaded encoders that they may drive the outputs."
      },
      {
        "number": "16",
        "name": "VCC",
        "type": "power_in",
        "description": "Positive supply, 2 V to 6 V (5 V nominal). Icc max 80 µA."
      }
    ],
    "provenance": {
      "extractor": "ds2sf",
      "datasheet": {
        "url": "https://www.ti.com/lit/ds/symlink/sn74hc148.pdf",
        "pages": 25,
        "sha256": "ca65b15c3841afab",
        "source_tier": "mfr"
      },
      "cad": "KiCad official (CC-BY-SA 4.0)",
      "pins": {
        "total": 16,
        "described": 16,
        "cites_pages": true,
        "refuses_to_fabricate": true
      }
    },
    "viewers": {
      "symbol": "viewers/symbol.html",
      "footprint": "viewers/footprint.html"
    },
    "logic": {
      "family_id": "74HC148",
      "logic_family": "74HC",
      "function_code": "148",
      "function_class": "Encoder",
      "function_name": "8-to-3 Priority Encoder",
      "manufacturer": "Texas Instruments",
      "is_specialty": false
    },
    "models_3d": [
      {
        "file": "sn74hc148.step",
        "role": "plain",
        "up": "Z",
        "units": "mm",
        "origin": "footprint origin = pad-pattern centre",
        "seat": "z = 0",
        "extents_mm": [
          6,
          9.9,
          1.75
        ],
        "zmin_mm": 0,
        "centre_offset_mm": 0,
        "footprint_binding": "identity",
        "sha256": "d5eeddb4c0b304dc61950919b126fc61d7586abd5f16ab71a2a79759ec6498bf",
        "checked": "2026-10-07",
        "checked_by": "factory/step_pose.py (Z-up, origin, seat, binding)"
      },
      {
        "file": "sn74hc148-etched.step",
        "role": "eda",
        "up": "Z",
        "units": "mm",
        "origin": "footprint origin = pad-pattern centre",
        "seat": "z = 0",
        "extents_mm": [
          6,
          9.9,
          1.75
        ],
        "zmin_mm": 0,
        "centre_offset_mm": 0,
        "footprint_binding": "identity",
        "sha256": "e8ab52d238ad35698e35d5c11be05dfaff8e0922d35886242afc2e7037ee85a4",
        "checked": "2026-10-07",
        "checked_by": "factory/step_pose.py (Z-up, origin, seat, binding)"
      }
    ]
  },
  "metadata": {
    "specs": {
      "Type": "8-to-3 priority encoder",
      "Inputs": "8 active-low (0-7)",
      "Outputs": "3-bit binary (A0-A2, active-low)",
      "Priority": "highest active input wins",
      "Cascade": "EI / EO / GS pins",
      "Logic family": "HC (high-speed CMOS)",
      "Supply voltage": "2-6 V",
      "Package": "SOIC-16"
    }
  },
  "sections": [
    "hero",
    "viewers",
    "readme",
    "breadcrumbs",
    "info"
  ],
  "discovery_triggers": [
    "sn74hc148",
    "74hc148",
    "priority encoder",
    "8 to 3 encoder",
    "interrupt encoder"
  ],
  "discovery_pitch": "SN74HC148 8-to-3 line priority encoder (SOIC-16) with datasheet-verified pinout, KiCad symbol/footprint/3D, and full provenance.",
  "author": {
    "name": "Ray"
  },
  "dependencies": {},
  "hero": {
    "type": "image",
    "path": "docs/hero.png"
  },
  "files": [
    "page.json",
    "README.md",
    "sn74hc148.kicad_sym",
    "sn74hc148.kicad_mod",
    "sn74hc148.glb",
    "sn74hc148.lbr",
    "docs/hero.png",
    "docs/sn74hc148-datasheet.pdf",
    "viewers/symbol.html",
    "viewers/footprint.html",
    "sn74hc148-etched.step"
  ],
  "variants": [
    {
      "mpn": "SN74HC148D (SOIC-16, tube)",
      "kind": "packaging"
    },
    {
      "mpn": "SN74HC148DR (SOIC-16, tape & reel)",
      "kind": "packaging"
    }
  ]
}