main
Ray Publish 0.1.0 a6bb9eb 3d ago
{
  "slug": "pic16lf876-04i",
  "version": "0.1.0",
  "type": "component",
  "description": "Microchip Tech MICROCHIP, SOIC-28-300mil. Pinout cross-checked by two models against the datasheet, KiCad symbol/footprint/3D.",
  "tags": [
    "component",
    "embedded processors & controllers",
    "pic16lf876-04i",
    "factory-2.0.0",
    "extractor-text"
  ],
  "dependencies": {},
  "hero": {
    "type": "image",
    "path": "docs/hero.png"
  },
  "files": [
    "page.json",
    "README.md",
    "pic16lf876-04i.kicad_sym",
    "pic16lf876-04i.kicad_mod",
    "pic16lf876-04i.glb",
    "pic16lf876-04i.step",
    "pic16lf876-04i.lbr",
    "docs/hero.png",
    "docs/pic16lf876-04i-datasheet.pdf",
    "viewers/symbol.html",
    "viewers/footprint.html",
    "pic16lf876-04i-hero.glb",
    "pic16lf876-04i-hero.overlay.json",
    "pic16lf876-04i-etched.glb"
  ],
  "component": {
    "mpn": "PIC16LF876-04I",
    "manufacturer": "Microchip Tech",
    "package": "SOIC-28-300mil",
    "pin_count": 28,
    "category": "Embedded Processors & Controllers",
    "subcategory": "MICROCHIP",
    "datasheet": "https://datasheet.lcsc.com/datasheet/pdf/113d8419f096990997b30a4e9f46cd13.pdf",
    "parts": {
      "symbol": "pic16lf876-04i.kicad_sym",
      "footprint": "pic16lf876-04i.kicad_mod",
      "model_3d": "pic16lf876-04i-hero.glb",
      "model_3d_plain": "pic16lf876-04i-etched.glb",
      "model_3d_step": "pic16lf876-04i-etched.step",
      "model_3d_step_plain": "pic16lf876-04i.step",
      "lbr": "pic16lf876-04i.lbr"
    },
    "distributor_links": {
      "lcsc": "C219996"
    },
    "distributor_check": {
      "checked_at": "2026-10-24T00:17:24Z",
      "source": "Component Ocean /api/assign-pns",
      "digikey": {
        "pn": null,
        "status": "no match"
      },
      "mouser": {
        "pn": null,
        "status": "no match"
      }
    },
    "pins": [
      {
        "number": "1",
        "name": "MCLR/VPP",
        "type": "input",
        "description": "Active-low Master Clear (Reset) input or programming voltage input, Schmitt Trigger buffer."
      },
      {
        "number": "2",
        "name": "RA0/AN0",
        "type": "bidirectional",
        "description": "PORTA bidirectional I/O with TTL input buffer; can also be analog input 0."
      },
      {
        "number": "3",
        "name": "RA1/AN1",
        "type": "bidirectional",
        "description": "PORTA bidirectional I/O with TTL input buffer; can also be analog input 1."
      },
      {
        "number": "4",
        "name": "RA2/AN2/VREF-",
        "type": "bidirectional",
        "description": "PORTA bidirectional I/O with TTL input buffer; can also be analog input 2 or negative analog reference voltage."
      },
      {
        "number": "5",
        "name": "RA3/AN3/VREF+",
        "type": "bidirectional",
        "description": "PORTA bidirectional I/O with TTL input buffer; can also be analog input 3 or positive analog reference voltage."
      },
      {
        "number": "6",
        "name": "RA4/T0CKI",
        "type": "bidirectional",
        "description": "PORTA bidirectional I/O with Schmitt Trigger input; can also be the Timer0 clock input, output is open drain type."
      },
      {
        "number": "7",
        "name": "RA5/SS/AN4",
        "type": "bidirectional",
        "description": "PORTA bidirectional I/O with TTL input buffer; can also be analog input 4 or the slave select for the synchronous serial port."
      },
      {
        "number": "8",
        "name": "VSS",
        "type": "power_in",
        "description": "Ground reference for logic and I/O pins."
      },
      {
        "number": "9",
        "name": "OSC1/CLKIN",
        "type": "input",
        "description": "Oscillator crystal input or external clock source input; ST buffer in RC mode, CMOS otherwise."
      },
      {
        "number": "10",
        "name": "OSC2/CLKOUT",
        "type": "output",
        "description": "Oscillator crystal output; in RC mode outputs CLKOUT at 1/4 the OSC1 frequency, denoting the instruction cycle rate."
      },
      {
        "number": "11",
        "name": "RC0/T1OSO/T1CKI",
        "type": "bidirectional",
        "description": "PORTC bidirectional I/O with Schmitt Trigger input; can also be the Timer1 oscillator output or Timer1 clock input."
      },
      {
        "number": "12",
        "name": "RC1/T1OSI/CCP2",
        "type": "bidirectional",
        "description": "PORTC bidirectional I/O with Schmitt Trigger input; can also be the Timer1 oscillator input or Capture2 input/Compare2 output/PWM2 output."
      },
      {
        "number": "13",
        "name": "RC2/CCP1",
        "type": "bidirectional",
        "description": "PORTC bidirectional I/O with Schmitt Trigger input; can also be the Capture1 input/Compare1 output/PWM1 output."
      },
      {
        "number": "14",
        "name": "RC3/SCK/SCL",
        "type": "bidirectional",
        "description": "PORTC bidirectional I/O with Schmitt Trigger input; can also be the synchronous serial clock input/output for both SPI and I2C modes."
      },
      {
        "number": "15",
        "name": "RC4/SDI/SDA",
        "type": "bidirectional",
        "description": "PORTC bidirectional I/O with Schmitt Trigger input; can also be SPI Data In (SPI mode) or data I/O (I2C mode)."
      },
      {
        "number": "16",
        "name": "RC5/SDO",
        "type": "bidirectional",
        "description": "PORTC bidirectional I/O with Schmitt Trigger input; can also be SPI Data Out (SPI mode)."
      },
      {
        "number": "17",
        "name": "RC6/TX/CK",
        "type": "bidirectional",
        "description": "PORTC bidirectional I/O with Schmitt Trigger input; can also be the USART Asynchronous Transmit or Synchronous Clock."
      },
      {
        "number": "18",
        "name": "RC7/RX/DT",
        "type": "bidirectional",
        "description": "PORTC bidirectional I/O with Schmitt Trigger input; can also be the USART Asynchronous Receive or Synchronous Data."
      },
      {
        "number": "19",
        "name": "VSS",
        "type": "power_in",
        "description": "Ground reference for logic and I/O pins."
      },
      {
        "number": "20",
        "name": "VDD",
        "type": "power_in",
        "description": "Positive supply for logic and I/O pins."
      },
      {
        "number": "21",
        "name": "RB0/INT",
        "type": "bidirectional",
        "description": "PORTB bidirectional I/O with software-programmable weak pull-up, TTL input (Schmitt Trigger when used as external interrupt); can also be the external interrupt pin."
      },
      {
        "number": "22",
        "name": "RB1",
        "type": "bidirectional",
        "description": "PORTB bidirectional I/O with TTL input and software-programmable weak pull-up."
      },
      {
        "number": "23",
        "name": "RB2",
        "type": "bidirectional",
        "description": "PORTB bidirectional I/O with TTL input and software-programmable weak pull-up."
      },
      {
        "number": "24",
        "name": "RB3/PGM",
        "type": "bidirectional",
        "description": "PORTB bidirectional I/O with TTL input; can also be the low voltage programming input."
      },
      {
        "number": "25",
        "name": "RB4",
        "type": "bidirectional",
        "description": "PORTB bidirectional I/O with TTL input; interrupt-on-change pin."
      },
      {
        "number": "26",
        "name": "RB5",
        "type": "bidirectional",
        "description": "PORTB bidirectional I/O with TTL input; interrupt-on-change pin."
      },
      {
        "number": "27",
        "name": "RB6/PGC",
        "type": "bidirectional",
        "description": "PORTB bidirectional I/O (Schmitt Trigger in serial programming mode); interrupt-on-change pin or In-Circuit Debugger pin, serial programming clock."
      },
      {
        "number": "28",
        "name": "RB7/PGD",
        "type": "bidirectional",
        "description": "PORTB bidirectional I/O (Schmitt Trigger in serial programming mode); interrupt-on-change pin or In-Circuit Debugger pin, serial programming data."
      }
    ],
    "provenance": {
      "extractor": "extract_pins 0.3",
      "factory_chain": {
        "factory": "2.0.0",
        "extractor": "extract_pins 0.3",
        "primary_model": "claude-sonnet-5-5",
        "primary_mode": "text",
        "consensus_model": "claude-sonnet-5-5",
        "consensus": "agreed",
        "guards": "pin_guards 0.1: passed",
        "guard_notes": [
          "extractor flagged: The datasheet text lists only PIC16F873/874/876/877; PIC16LF876 is not named in the provided pages. ; The table labels RA5 as RA5/SS/AN4 while the page 2 diagram shows RA5/AN4/SS. The two orderings name"
        ],
        "pages_sent": 20,
        "cost_usd": 0.2477,
        "at": "2026-10-24T00:17:06"
      },
      "datasheet": {
        "url": "https://datasheet.lcsc.com/datasheet/pdf/113d8419f096990997b30a4e9f46cd13.pdf",
        "pages": 218,
        "sha256": "2b2f4f67afe6ac63",
        "source_tier": "mfr"
      },
      "cad": "KiCad official (CC-BY-SA 4.0)",
      "pins": {
        "total": 28,
        "described": 28,
        "cites_pages": true,
        "refuses_to_fabricate": true
      }
    },
    "viewers": {
      "symbol": "viewers/symbol.html",
      "footprint": "viewers/footprint.html"
    },
    "models_3d": [
      {
        "file": "pic16lf876-04i.step",
        "role": "plain",
        "up": "Z",
        "units": "mm",
        "origin": "footprint origin = pad-pattern centre",
        "seat": "z = 0",
        "extents_mm": [
          10.3,
          17.9,
          2.75
        ],
        "zmin_mm": -0.0,
        "centre_offset_mm": 0.0,
        "footprint_binding": "identity",
        "sha256": "b889a13dbe9ec59e79fa9f1b5118b00bfa54f9582392335ff3365b64afc264b1",
        "checked": "2026-10-24",
        "checked_by": "factory/step_pose.py (Z-up, origin, seat, binding)"
      },
      {
        "file": "pic16lf876-04i-etched.step",
        "role": "eda",
        "up": "Z",
        "units": "mm",
        "origin": "footprint origin = pad-pattern centre",
        "seat": "z = 0",
        "extents_mm": [
          10.3,
          17.9,
          2.75
        ],
        "zmin_mm": -0.0,
        "centre_offset_mm": 0.0,
        "footprint_binding": "identity",
        "sha256": "9c6b8e2835d99e7034a2a803cf530ea8f26836b9e00e984b498a64ae0e75eb93",
        "checked": "2026-10-24",
        "checked_by": "factory/step_pose.py (Z-up, origin, seat, binding)"
      }
    ]
  }
}