component
ATmega32U4
Public Made by Adomby adom
Microchip 8-bit AVR MCU with native full-speed USB, TQFP-44. 32 KB flash, 16 MHz, the Arduino Leonardo chip. Datasheet-verified.
main
Ray
atmega32u4: component.models_3d pose record per STEP (Z-up, seated z=0, pad-centre origin, identity binding)
0fb76f0
28d ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416
{
"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"
]
}