main
Ray atmega32u4: component.models_3d pose record per STEP (Z-up, seated z=0, pad-centre origin, identity binding) 0fb76f0 28d ago
{
  "schema_version": 1,
  "type": "component",
  "slug": "atmega32u4",
  "title": "ATmega32U4",
  "brief": "Microchip 8-bit AVR MCU with native full-speed USB, TQFP-44. 32 KB flash, 16 MHz, the Arduino Leonardo chip. Datasheet-verified.",
  "version": "0.1.0",
  "license": "CC-BY-SA-4.0",
  "tags": [
    "component",
    "microcontroller",
    "mcu",
    "avr",
    "usb",
    "arduino",
    "tqfp-44",
    "microchip"
  ],
  "component": {
    "mpn": "ATmega32U4",
    "manufacturer": "Microchip Technology",
    "package": "TQFP-44",
    "pin_count": 44,
    "category": "Microcontroller",
    "subcategory": "8-bit AVR MCU with USB",
    "datasheet": "https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7766-8-bit-AVR-ATmega16U4-32U4_Datasheet.pdf",
    "parts": {
      "symbol": "atmega32u4.kicad_sym",
      "footprint": "atmega32u4.kicad_mod",
      "model_3d": "atmega32u4-etched.glb",
      "model_3d_plain": "atmega32u4.glb",
      "lbr": "atmega32u4.lbr",
      "model_3d_step": "atmega32u4-etched.step",
      "model_3d_step_plain": "atmega32u4.step"
    },
    "distributor_links": {},
    "pins": [
      {
        "number": "1",
        "name": "PE6/INT6/AIN0",
        "type": "bidirectional",
        "description": "Port E bit 6 GPIO with internal pull-up. Alternate: INT6 external interrupt input, AIN0 analog comparator positive input. Tri-stated on reset."
      },
      {
        "number": "2",
        "name": "UVCC",
        "type": "power_in",
        "description": "USB pads internal 3.3V regulator input supply voltage. Connect to VCC through a decoupling network per USB module requirements."
      },
      {
        "number": "3",
        "name": "D-",
        "type": "bidirectional",
        "description": "USB 2.0 Full-Speed/Low-Speed negative data upstream port. Connect to the USB connector D- pin through a 22Ω series resistor."
      },
      {
        "number": "4",
        "name": "D+",
        "type": "bidirectional",
        "description": "USB 2.0 Full-Speed/Low-Speed positive data upstream port. Connect to the USB connector D+ pin through a 22Ω series resistor."
      },
      {
        "number": "5",
        "name": "UGND",
        "type": "power_in",
        "description": "USB pads ground reference. Tie to system GND."
      },
      {
        "number": "6",
        "name": "UCAP",
        "type": "passive",
        "description": "USB pads internal 3.3V regulator output. Connect to an external 1µF ceramic bypass capacitor to GND."
      },
      {
        "number": "7",
        "name": "VBUS",
        "type": "input",
        "description": "USB VBUS monitor input used by firmware to detect host connection/disconnection. Sensed via internal comparator; may be connected to the USB VBUS rail (nominal 5V) directly or through a divider."
      },
      {
        "number": "8",
        "name": "PB0/SS/PCINT0",
        "type": "bidirectional",
        "description": "Port B bit 0 GPIO with internal pull-up. Alternate: SPI slave-select (SS), pin-change interrupt PCINT0."
      },
      {
        "number": "9",
        "name": "PB1/SCLK/PCINT1",
        "type": "bidirectional",
        "description": "Port B bit 1 GPIO with internal pull-up. Alternate: SPI serial clock (SCLK/SCK), pin-change interrupt PCINT1."
      },
      {
        "number": "10",
        "name": "PB2/PDI/MOSI/PCINT2",
        "type": "bidirectional",
        "description": "Port B bit 2 GPIO with internal pull-up. Alternate: SPI MOSI, ISP programming data input (PDI), pin-change interrupt PCINT2."
      },
      {
        "number": "11",
        "name": "PB3/PDO/MISO/PCINT3",
        "type": "bidirectional",
        "description": "Port B bit 3 GPIO with internal pull-up. Alternate: SPI MISO, ISP programming data output (PDO), pin-change interrupt PCINT3."
      },
      {
        "number": "12",
        "name": "PB7/OC0A/OC1C/RTS/PCINT7",
        "type": "bidirectional",
        "description": "Port B bit 7 GPIO with internal pull-up. Alternate: Timer/Counter 0 output compare A (OC0A), Timer/Counter 1 output compare C (OC1C), USART RTS flow-control, pin-change interrupt PCINT7."
      },
      {
        "number": "13",
        "name": "RESET",
        "type": "input",
        "description": "Active-low external reset input. A low level longer than the minimum pulse length triggers a reset even without the clock running. Has an internal pull-up; drive with an open-drain source or add an external pull-up + decoupling cap."
      },
      {
        "number": "14",
        "name": "VCC",
        "type": "power_in",
        "description": "Digital supply voltage (2.7-5.5V). Decouple to GND with a 100nF ceramic close to the pin."
      },
      {
        "number": "15",
        "name": "GND",
        "type": "power_in",
        "description": "Digital ground reference."
      },
      {
        "number": "16",
        "name": "XTAL2",
        "type": "output",
        "description": "Output from the inverting on-chip oscillator amplifier. Connect to the far side of the external crystal/resonator with the appropriate load capacitor. Leave open when driving XTAL1 from an external clock."
      },
      {
        "number": "17",
        "name": "XTAL1",
        "type": "input",
        "description": "Input to the inverting on-chip oscillator amplifier and the internal clock generator. Connect to the near side of the external crystal/resonator or to an external CMOS clock source."
      },
      {
        "number": "18",
        "name": "PD0/OC0B/SCL/INT0",
        "type": "bidirectional",
        "description": "Port D bit 0 GPIO with internal pull-up. Alternate: Timer/Counter 0 output compare B (OC0B), TWI (I²C) clock line SCL, external interrupt INT0."
      },
      {
        "number": "19",
        "name": "PD1/SDA/INT1",
        "type": "bidirectional",
        "description": "Port D bit 1 GPIO with internal pull-up. Alternate: TWI (I²C) data line SDA, external interrupt INT1."
      },
      {
        "number": "20",
        "name": "PD2/RXD1/INT2",
        "type": "bidirectional",
        "description": "Port D bit 2 GPIO with internal pull-up. Alternate: USART1 receive data (RXD1), external interrupt INT2."
      },
      {
        "number": "21",
        "name": "PD3/TXD1/INT3",
        "type": "bidirectional",
        "description": "Port D bit 3 GPIO with internal pull-up. Alternate: USART1 transmit data (TXD1), external interrupt INT3."
      },
      {
        "number": "22",
        "name": "PD5/XCK1/CTS",
        "type": "bidirectional",
        "description": "Port D bit 5 GPIO with internal pull-up. Alternate: USART1 synchronous clock (XCK1), USART CTS hardware flow-control."
      },
      {
        "number": "23",
        "name": "GND",
        "type": "power_in",
        "description": "Digital ground reference (second GND pin)."
      },
      {
        "number": "24",
        "name": "AVCC",
        "type": "power_in",
        "description": "Supply voltage for Port F and the A/D converter. If the ADC is unused, tie directly to VCC; if used, connect to VCC through a low-pass (typ. 10Ω + 100nF)."
      },
      {
        "number": "25",
        "name": "PD4/ICP1/ADC8",
        "type": "bidirectional",
        "description": "Port D bit 4 GPIO with internal pull-up. Alternate: Timer/Counter 1 input capture (ICP1), ADC channel 8 analog input."
      },
      {
        "number": "26",
        "name": "PD6/T1/OC4D/ADC9",
        "type": "bidirectional",
        "description": "Port D bit 6 GPIO with internal pull-up. Alternate: Timer/Counter 1 external clock (T1), Timer/Counter 4 output compare D inverted (OC4D̅), ADC channel 9 analog input."
      },
      {
        "number": "27",
        "name": "PD7/T0/OC4D/ADC10",
        "type": "bidirectional",
        "description": "Port D bit 7 GPIO with internal pull-up. Alternate: Timer/Counter 0 external clock (T0), Timer/Counter 4 output compare D (OC4D), ADC channel 10 analog input."
      },
      {
        "number": "28",
        "name": "PB4/PCINT4/ADC11",
        "type": "bidirectional",
        "description": "Port B bit 4 GPIO with internal pull-up. Alternate: pin-change interrupt PCINT4, ADC channel 11 analog input."
      },
      {
        "number": "29",
        "name": "PB5/PCINT5/OC1A/OC4B/ADC12",
        "type": "bidirectional",
        "description": "Port B bit 5 GPIO with internal pull-up. Alternate: pin-change interrupt PCINT5, Timer/Counter 1 output compare A (OC1A), Timer/Counter 4 output compare B inverted (OC4B̅), ADC channel 12 analog input."
      },
      {
        "number": "30",
        "name": "PB6/PCINT6/OC1B/OC4B/ADC13",
        "type": "bidirectional",
        "description": "Port B bit 6 GPIO with internal pull-up. Alternate: pin-change interrupt PCINT6, Timer/Counter 1 output compare B (OC1B), Timer/Counter 4 output compare B (OC4B), ADC channel 13 analog input."
      },
      {
        "number": "31",
        "name": "PC6/OC3A/OC4A",
        "type": "bidirectional",
        "description": "Port C bit 6 GPIO with internal pull-up. Alternate: Timer/Counter 3 output compare A (OC3A), Timer/Counter 4 output compare A inverted (OC4A̅)."
      },
      {
        "number": "32",
        "name": "PC7/ICP3/CLK0/OC4A",
        "type": "bidirectional",
        "description": "Port C bit 7 GPIO with internal pull-up. Alternate: Timer/Counter 3 input capture (ICP3), system clock output (CLK0/CLKO), Timer/Counter 4 output compare A (OC4A)."
      },
      {
        "number": "33",
        "name": "PE2/HWB",
        "type": "bidirectional",
        "description": "Port E bit 2 GPIO with internal pull-up. Alternate: Hardware Bootloader (HWB) select input, latched at reset to force execution of the bootloader when pulled low. Often tied to a button + pull-up for USB DFU entry."
      },
      {
        "number": "34",
        "name": "VCC",
        "type": "power_in",
        "description": "Digital supply voltage (2.7-5.5V), second VCC pin. Decouple locally with a 100nF ceramic to GND."
      },
      {
        "number": "35",
        "name": "GND",
        "type": "power_in",
        "description": "Digital ground reference (third GND pin)."
      },
      {
        "number": "36",
        "name": "PF7/ADC7/TDI",
        "type": "bidirectional",
        "description": "Port F bit 7 GPIO with internal pull-up. Alternate: ADC channel 7 analog input, JTAG test data input (TDI). When JTAG is enabled the internal pull-up is forced active even in reset."
      },
      {
        "number": "37",
        "name": "PF6/ADC6/TDO",
        "type": "bidirectional",
        "description": "Port F bit 6 GPIO with internal pull-up. Alternate: ADC channel 6 analog input, JTAG test data output (TDO)."
      },
      {
        "number": "38",
        "name": "PF5/ADC5/TMS",
        "type": "bidirectional",
        "description": "Port F bit 5 GPIO with internal pull-up. Alternate: ADC channel 5 analog input, JTAG test mode select (TMS). When JTAG is enabled the internal pull-up is forced active even in reset."
      },
      {
        "number": "39",
        "name": "PF4/ADC4/TCK",
        "type": "bidirectional",
        "description": "Port F bit 4 GPIO with internal pull-up. Alternate: ADC channel 4 analog input, JTAG test clock (TCK). When JTAG is enabled the internal pull-up is forced active even in reset."
      },
      {
        "number": "40",
        "name": "PF1/ADC1",
        "type": "bidirectional",
        "description": "Port F bit 1 GPIO with internal pull-up. Alternate: ADC channel 1 analog input."
      },
      {
        "number": "41",
        "name": "PF0/ADC0",
        "type": "bidirectional",
        "description": "Port F bit 0 GPIO with internal pull-up. Alternate: ADC channel 0 analog input."
      },
      {
        "number": "42",
        "name": "AREF",
        "type": "passive",
        "description": "Analog reference input for the A/D converter. Connect an external reference or decouple to GND with 100nF when using AVCC/internal 2.56V reference. Must not exceed AVCC."
      },
      {
        "number": "43",
        "name": "GND",
        "type": "power_in",
        "description": "Analog ground reference; tie to GND star point near AVCC decoupling."
      },
      {
        "number": "44",
        "name": "AVCC",
        "type": "power_in",
        "description": "Analog supply voltage for Port F and the A/D converter (second AVCC pin). If the ADC is unused, tie directly to VCC; if used, connect to VCC through a low-pass filter."
      }
    ],
    "provenance": {
      "extractor": "ds2sf",
      "datasheet": {
        "url": "https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7766-8-bit-AVR-ATmega16U4-32U4_Datasheet.pdf",
        "pages": 12,
        "sha256": "8ead4c44bcf240ef",
        "source_tier": "mfr"
      },
      "cad": "KiCad official (CC-BY-SA 4.0)",
      "pins": {
        "total": 44,
        "described": 44,
        "cites_pages": true,
        "refuses_to_fabricate": true
      }
    },
    "viewers": {
      "symbol": "viewers/symbol.html",
      "footprint": "viewers/footprint.html"
    },
    "models_3d": [
      {
        "file": "atmega32u4.step",
        "role": "plain",
        "up": "Z",
        "units": "mm",
        "origin": "footprint origin = pad-pattern centre",
        "seat": "z = 0",
        "extents_mm": [
          12.0,
          12.0,
          1.1
        ],
        "zmin_mm": -0.0,
        "centre_offset_mm": 0.0,
        "footprint_binding": "identity",
        "sha256": "61ecec1147f835d2c9d165c450b1c8d53e65b038f6ca1dac3066a2dfb1bbbb85",
        "checked": "2026-10-07",
        "checked_by": "factory/step_pose.py (Z-up, origin, seat, binding)"
      },
      {
        "file": "atmega32u4-etched.step",
        "role": "eda",
        "up": "Z",
        "units": "mm",
        "origin": "footprint origin = pad-pattern centre",
        "seat": "z = 0",
        "extents_mm": [
          12.0,
          12.0,
          1.1
        ],
        "zmin_mm": -0.0,
        "centre_offset_mm": 0.0,
        "footprint_binding": "identity",
        "sha256": "9ed02bcf9f0f13ac301149767e73b592e50faf463fd8fb428b902d02227d3ac5",
        "checked": "2026-10-07",
        "checked_by": "factory/step_pose.py (Z-up, origin, seat, binding)"
      }
    ]
  },
  "metadata": {
    "specs": {
      "Core": "8-bit AVR RISC",
      "Flash": "32 KB",
      "SRAM": "2.5 KB",
      "EEPROM": "1 KB",
      "USB": "full-speed device (on-chip, no external PHY)",
      "Max clock": "16 MHz",
      "I/O": "26",
      "ADC": "12-channel 10-bit",
      "Supply voltage": "2.7-5.5 V",
      "Package": "TQFP-44"
    }
  },
  "sections": [
    "hero",
    "viewers",
    "readme",
    "breadcrumbs",
    "info"
  ],
  "discovery_triggers": [
    "atmega32u4",
    "32u4",
    "arduino leonardo chip",
    "pro micro",
    "avr with usb",
    "native usb avr"
  ],
  "discovery_pitch": "ATmega32U4 8-bit AVR microcontroller with native USB (TQFP-44, the Arduino Leonardo/Pro Micro chip) with datasheet-verified pinout, KiCad symbol/footprint/3D, and full provenance.",
  "author": {
    "name": "Ray",
    "email": "[email protected]"
  },
  "dependencies": {},
  "hero": {
    "type": "image",
    "path": "docs/hero.png"
  },
  "files": [
    "page.json",
    "README.md",
    "atmega32u4.kicad_sym",
    "atmega32u4.kicad_mod",
    "atmega32u4.glb",
    "atmega32u4.lbr",
    "docs/hero.png",
    "docs/atmega32u4-datasheet.pdf",
    "viewers/symbol.html",
    "viewers/footprint.html",
    "atmega32u4-etched.step"
  ]
}