component
ATMEGA168P-20MU
Public Made by Adomby adom
Microchip Tech Pre-ordered MCUs, VQFN-32(5x5). Pinout cross-checked by two models against the datasheet, KiCad symbol/footprint/3D.
main
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347
{
"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)"
}
]
}
}