main
Ray Publish 0.1.0 c9a3729 5d ago
{
  "slug": "atmega168p-20mu",
  "version": "0.1.0",
  "type": "component",
  "description": "Microchip Tech Pre-ordered MCUs, VQFN-32(5x5). Pinout cross-checked by two models against the datasheet, KiCad symbol/footprint/3D.",
  "tags": [
    "component",
    "embedded processors & controllers",
    "atmega168p-20mu",
    "factory-2.0.0",
    "extractor-text"
  ],
  "dependencies": {},
  "hero": {
    "type": "image",
    "path": "docs/hero.png"
  },
  "files": [
    "page.json",
    "README.md",
    "atmega168p-20mu.kicad_sym",
    "atmega168p-20mu.kicad_mod",
    "atmega168p-20mu.glb",
    "atmega168p-20mu.step",
    "atmega168p-20mu.lbr",
    "docs/hero.png",
    "docs/atmega168p-20mu-datasheet.pdf",
    "viewers/symbol.html",
    "viewers/footprint.html",
    "atmega168p-20mu-hero.glb",
    "atmega168p-20mu-hero.overlay.json",
    "atmega168p-20mu-etched.glb"
  ],
  "component": {
    "mpn": "ATMEGA168P-20MU",
    "manufacturer": "Microchip Tech",
    "package": "VQFN-32(5x5)",
    "pin_count": 33,
    "category": "Embedded Processors & Controllers",
    "subcategory": "Pre-ordered MCUs",
    "datasheet": "https://ww1.microchip.com/downloads/en/DeviceDoc/ATmega48P_88P_168P-DS40002065A.pdf",
    "parts": {
      "symbol": "atmega168p-20mu.kicad_sym",
      "footprint": "atmega168p-20mu.kicad_mod",
      "model_3d": "atmega168p-20mu-hero.glb",
      "model_3d_plain": "atmega168p-20mu-etched.glb",
      "model_3d_step": "atmega168p-20mu-etched.step",
      "model_3d_step_plain": "atmega168p-20mu.step",
      "lbr": "atmega168p-20mu.lbr"
    },
    "distributor_links": {
      "lcsc": "C1339206",
      "digikey": "ATMEGA168P-20MU-ND",
      "mouser": "556-ATMEGA168P-20MU"
    },
    "distributor_check": {
      "checked_at": "2026-10-30T22:08:34Z",
      "source": "Component Ocean /api/assign-pns",
      "digikey": {
        "pn": "ATMEGA168P-20MU-ND",
        "status": "found"
      },
      "mouser": {
        "pn": "556-ATMEGA168P-20MU",
        "status": "found",
        "lifecycle": "Not Recommended for New Designs"
      }
    },
    "pins": [
      {
        "number": "1",
        "name": "PD3",
        "type": "bidirectional",
        "description": "Port D bit 3 is a bi-directional I/O pin with internal pull-up; it serves as external interrupt INT1 and as OC2B Timer/Counter2 compare output, which requires DDD3 to be set as output."
      },
      {
        "number": "2",
        "name": "PD4",
        "type": "bidirectional",
        "description": "Port D bit 4 is a bi-directional I/O pin with internal pull-up; it can serve as USART external clock XCK, Timer/Counter0 external counter input T0, or pin change interrupt PCINT20."
      },
      {
        "number": "3",
        "name": "GND",
        "type": "power_in",
        "description": "Ground."
      },
      {
        "number": "4",
        "name": "VCC",
        "type": "power_in",
        "description": "Digital supply voltage; the ATmega168P operating voltage is 2.7 - 5.5 V."
      },
      {
        "number": "5",
        "name": "GND",
        "type": "power_in",
        "description": "Ground."
      },
      {
        "number": "6",
        "name": "VCC",
        "type": "power_in",
        "description": "Digital supply voltage; the ATmega168P operating voltage is 2.7 - 5.5 V."
      },
      {
        "number": "7",
        "name": "PB6",
        "type": "bidirectional",
        "description": "Port B bit 6 is a bi-directional I/O pin with internal pull-up; when a crystal or external clock is selected it is used as XTAL1 oscillator input, and then cannot be used as an I/O pin."
      },
      {
        "number": "8",
        "name": "PB7",
        "type": "bidirectional",
        "description": "Port B bit 7 is a bi-directional I/O pin with internal pull-up; when a crystal clock is selected it is used as XTAL2 oscillator output, and then cannot be used as an I/O pin."
      },
      {
        "number": "9",
        "name": "PD5",
        "type": "bidirectional",
        "description": "Port D bit 5 is a bi-directional I/O pin with internal pull-up; it can serve as Timer/Counter1 external counter input T1, Timer/Counter0 compare output OC0B, or pin change interrupt PCINT21."
      },
      {
        "number": "10",
        "name": "PD6",
        "type": "bidirectional",
        "description": "Port D bit 6 is a bi-directional I/O pin with internal pull-up; as AIN0 it is the analog comparator positive input and should be configured as input with pull-up off, and it can also serve as OC0A output or PCINT22."
      },
      {
        "number": "11",
        "name": "PD7",
        "type": "bidirectional",
        "description": "Port D bit 7 is a bi-directional I/O pin with internal pull-up; as AIN1 it is the analog comparator negative input and should be configured as input with pull-up off, and it can also serve as PCINT23."
      },
      {
        "number": "12",
        "name": "PB0",
        "type": "bidirectional",
        "description": "Port B bit 0 is a bi-directional I/O pin with internal pull-up; it can serve as Timer/Counter1 input capture ICP1, divided system clock output CLKO, or pin change interrupt PCINT0."
      },
      {
        "number": "13",
        "name": "PB1 (OC1A/PCINT1)",
        "type": "bidirectional",
        "description": "Port B bit 1 is a bi-directional I/O pin with internal pull-up; it can serve as Timer/Counter1 compare match A output OC1A, which requires DDB1 set as output, or pin change interrupt PCINT1."
      },
      {
        "number": "14",
        "name": "PB2 (SS/OC1B/PCINT2)",
        "type": "bidirectional",
        "description": "Port B bit 2 is a bi-directional I/O pin with internal pull-up; it serves as SPI slave select SS (input when SPI is slave), Timer/Counter1 compare output OC1B, or pin change interrupt PCINT2."
      },
      {
        "number": "15",
        "name": "PB3 (MOSI/OC2A/PCINT3)",
        "type": "bidirectional",
        "description": "Port B bit 3 is a bi-directional I/O pin with internal pull-up; it serves as SPI MOSI data line, Timer/Counter2 compare output OC2A, or pin change interrupt PCINT3."
      },
      {
        "number": "16",
        "name": "PB4 (MISO/PCINT4)",
        "type": "bidirectional",
        "description": "Port B bit 4 is a bi-directional I/O pin with internal pull-up; it serves as SPI MISO data line or pin change interrupt PCINT4."
      },
      {
        "number": "17",
        "name": "PB5 (SCK/PCINT5)",
        "type": "bidirectional",
        "description": "Port B bit 5 is a bi-directional I/O pin with internal pull-up; it serves as SPI clock SCK or pin change interrupt PCINT5."
      },
      {
        "number": "18",
        "name": "AVCC",
        "type": "power_in",
        "description": "Supply voltage pin for the A/D converter, PC3:0 and ADC7:6; it should be connected to VCC even if the ADC is not used, and through a low-pass filter if the ADC is used."
      },
      {
        "number": "19",
        "name": "ADC6",
        "type": "input",
        "description": "Analog input channel 6 of the 10-bit ADC, powered from the analog supply (available in TQFP and QFN/MLF packages only)."
      },
      {
        "number": "20",
        "name": "AREF",
        "type": "input",
        "description": "Analog reference pin for the A/D converter."
      },
      {
        "number": "21",
        "name": "GND",
        "type": "power_in",
        "description": "Ground."
      },
      {
        "number": "22",
        "name": "ADC7",
        "type": "input",
        "description": "Analog input channel 7 of the 10-bit ADC, powered from the analog supply (available in TQFP and QFN/MLF packages only)."
      },
      {
        "number": "23",
        "name": "PC0 (ADC0/PCINT8)",
        "type": "bidirectional",
        "description": "Port C bit 0 is a bi-directional I/O pin with internal pull-up that can also be used as ADC input channel 0 on analog power, or as pin change interrupt PCINT8."
      },
      {
        "number": "24",
        "name": "PC1 (ADC1/PCINT9)",
        "type": "bidirectional",
        "description": "Port C bit 1 is a bi-directional I/O pin with internal pull-up that can also be used as ADC input channel 1 on analog power, or as pin change interrupt PCINT9."
      },
      {
        "number": "25",
        "name": "PC2 (ADC2/PCINT10)",
        "type": "bidirectional",
        "description": "Port C bit 2 is a bi-directional I/O pin with internal pull-up that can also be used as ADC input channel 2 on analog power, or as pin change interrupt PCINT10."
      },
      {
        "number": "26",
        "name": "PC3 (ADC3/PCINT11)",
        "type": "bidirectional",
        "description": "Port C bit 3 is a bi-directional I/O pin with internal pull-up that can also be used as ADC input channel 3 on analog power, or as pin change interrupt PCINT11."
      },
      {
        "number": "27",
        "name": "PC4 (ADC4/SDA/PCINT12)",
        "type": "bidirectional",
        "description": "Port C bit 4 is a bi-directional I/O pin with internal pull-up; when TWEN is set it is the 2-wire serial data line SDA, and it can also be ADC input channel 4 on digital power or PCINT12."
      },
      {
        "number": "28",
        "name": "PC5 (ADC5/SCL/PCINT13)",
        "type": "bidirectional",
        "description": "Port C bit 5 is a bi-directional I/O pin with internal pull-up; when TWEN is set it is the 2-wire serial clock line SCL, and it can also be ADC input channel 5 on digital power or PCINT13."
      },
      {
        "number": "29",
        "name": "PC6 (RESET/PCINT14)",
        "type": "bidirectional",
        "description": "With the RSTDISBL fuse unprogrammed, PC6 is the reset input and a low level longer than the minimum pulse length (Table 29-3) generates a reset, while with RSTDISBL programmed it is a normal I/O pin (or PCINT14)."
      },
      {
        "number": "30",
        "name": "PD0 (RXD/PCINT16)",
        "type": "bidirectional",
        "description": "Port D bit 0 is a bi-directional I/O pin with internal pull-up; when the USART receiver is enabled it is the receive data input RXD, or it can serve as PCINT16."
      },
      {
        "number": "31",
        "name": "PD1 (TXD/PCINT17)",
        "type": "bidirectional",
        "description": "Port D bit 1 is a bi-directional I/O pin with internal pull-up; when the USART transmitter is enabled it is the transmit data output TXD regardless of DDD1, or it can serve as PCINT17."
      },
      {
        "number": "32",
        "name": "PD2 (INT0/PCINT18)",
        "type": "bidirectional",
        "description": "Port D bit 2 is a bi-directional I/O pin with internal pull-up; it can serve as external interrupt source INT0 or pin change interrupt PCINT18."
      },
      {
        "number": "33",
        "name": "GND",
        "type": "passive",
        "description": "Exposed pad (from the footprint; not named in the datasheet pin table)."
      }
    ],
    "provenance": {
      "extractor": "extract_pins 0.3",
      "factory_chain": {
        "factory": "2.0.0",
        "extractor": "extract_pins 0.3",
        "primary_model": "claude-haiku-5-5",
        "primary_mode": "text",
        "consensus_model": "claude-sonnet-5-5",
        "consensus": "agreed",
        "guards": "pin_guards 0.1: passed",
        "guard_notes": [
          "extractor flagged: Package mapping: ATMEGA168P-20MU is ordered in the 32M1-A package (32-pad, 5 x 5 x 1.0 mm QFN/MLF), ; The bottom exposed pad is not a numbered pin. The datasheet says it should be soldered to ground, so; PC6 type is ambiguous. It is a reset input when the RSTDISBL fuse is unprogrammed and a bidirectiona",
          "exposed pad 33 added from the footprint",
          "16/33 pins cited to the wrong page (name found elsewhere): ['4:VCC@p2', '6:VCC@p2', '8:PB7 (XTAL2/TOSC2/PCINT7)@p92', '12:PB0 (ICP1/CLKO/PCINT0)@p92']"
        ],
        "pages_sent": 76,
        "cost_usd": 0.2781,
        "at": "2026-10-30T22:08:19"
      },
      "datasheet": {
        "url": "https://ww1.microchip.com/downloads/en/DeviceDoc/ATmega48P_88P_168P-DS40002065A.pdf",
        "pages": 436,
        "sha256": "aab081a362918ab9",
        "source_tier": "mfr"
      },
      "cad": "KiCad official (CC-BY-SA 4.0)",
      "pins": {
        "total": 33,
        "described": 33,
        "cites_pages": true,
        "refuses_to_fabricate": true
      }
    },
    "viewers": {
      "symbol": "viewers/symbol.html",
      "footprint": "viewers/footprint.html"
    },
    "models_3d": [
      {
        "file": "atmega168p-20mu.step",
        "role": "plain",
        "up": "Z",
        "units": "mm",
        "origin": "footprint origin = pad-pattern centre",
        "seat": "z = 0",
        "extents_mm": [
          5.0,
          5.0,
          0.875
        ],
        "zmin_mm": 0.0,
        "centre_offset_mm": 0.0,
        "footprint_binding": "identity",
        "sha256": "5fa713ea46b36980895812ed853577889b7cb06d275041a39b99bc0be305dc79",
        "checked": "2026-10-30",
        "checked_by": "factory/step_pose.py (Z-up, origin, seat, binding)"
      },
      {
        "file": "atmega168p-20mu-etched.step",
        "role": "eda",
        "up": "Z",
        "units": "mm",
        "origin": "footprint origin = pad-pattern centre",
        "seat": "z = 0",
        "extents_mm": [
          5.0,
          5.0,
          0.875
        ],
        "zmin_mm": 0.0,
        "centre_offset_mm": 0.0,
        "footprint_binding": "identity",
        "sha256": "ee8d18c32c81455158ae98780473d51c641b4800a41839f149a11e974525c5ed",
        "checked": "2026-10-30",
        "checked_by": "factory/step_pose.py (Z-up, origin, seat, binding)"
      }
    ]
  }
}