component
ATmega328P
Public Made by Adomby adom
Microchip 8-bit AVR MCU, 28-pin DIP. 32 KB flash, 2 KB SRAM, 20 MHz, the Arduino Uno chip. Datasheet-verified.
← Commit history
Update 3 file(s)
3 files changed
+144−77
ATmega328P.adom-lbr.json+85−30@@ -14,7 +14,8 @@ "x": 600, "y": -300, "length": 100,- "rotation": 180+ "rotation": 180,+ "electrical_type": "bidirectional" }, { "number": "2",@@ -22,7 +23,8 @@ "x": 600, "y": -500, "length": 100,- "rotation": 180+ "rotation": 180,+ "electrical_type": "bidirectional" }, { "number": "3",@@ -30,7 +32,8 @@ "x": 600, "y": -600, "length": 100,- "rotation": 180+ "rotation": 180,+ "electrical_type": "bidirectional" }, { "number": "4",@@ -38,7 +41,8 @@ "x": 600, "y": -700, "length": 100,- "rotation": 180+ "rotation": 180,+ "electrical_type": "bidirectional" }, { "number": "5",@@ -46,7 +50,8 @@ "x": 600, "y": -800, "length": 100,- "rotation": 180+ "rotation": 180,+ "electrical_type": "bidirectional" }, { "number": "6",@@ -54,7 +59,8 @@ "x": 600, "y": -900, "length": 100,- "rotation": 180+ "rotation": 180,+ "electrical_type": "bidirectional" }, { "number": "7",@@ -62,7 +68,8 @@ "x": 0, "y": 1500, "length": 100,- "rotation": 270+ "rotation": 270,+ "electrical_type": "power_in" }, { "number": "8",@@ -70,7 +77,8 @@ "x": 0, "y": -1500, "length": 100,- "rotation": 90+ "rotation": 90,+ "electrical_type": "power_in" }, { "number": "9",@@ -78,7 +86,8 @@ "x": 600, "y": 600, "length": 100,- "rotation": 180+ "rotation": 180,+ "electrical_type": "bidirectional" }, { "number": "10",@@ -86,7 +95,8 @@ "x": 600, "y": 500, "length": 100,- "rotation": 180+ "rotation": 180,+ "electrical_type": "bidirectional" }, { "number": "11",@@ -94,7 +104,8 @@ "x": 600, "y": -1000, "length": 100,- "rotation": 180+ "rotation": 180,+ "electrical_type": "bidirectional" }, { "number": "12",@@ -102,7 +113,8 @@ "x": 600, "y": -1100, "length": 100,- "rotation": 180+ "rotation": 180,+ "electrical_type": "bidirectional" }, { "number": "13",@@ -110,7 +122,8 @@ "x": 600, "y": -1200, "length": 100,- "rotation": 180+ "rotation": 180,+ "electrical_type": "bidirectional" }, { "number": "14",@@ -118,7 +131,8 @@ "x": 600, "y": 1200, "length": 100,- "rotation": 180+ "rotation": 180,+ "electrical_type": "bidirectional" }, { "number": "15",@@ -126,7 +140,8 @@ "x": 600, "y": 1100, "length": 100,- "rotation": 180+ "rotation": 180,+ "electrical_type": "bidirectional" }, { "number": "16",@@ -134,7 +149,8 @@ "x": 600, "y": 1000, "length": 100,- "rotation": 180+ "rotation": 180,+ "electrical_type": "bidirectional" }, { "number": "17",@@ -142,7 +158,8 @@ "x": 600, "y": 900, "length": 100,- "rotation": 180+ "rotation": 180,+ "electrical_type": "bidirectional" }, { "number": "18",@@ -150,7 +167,8 @@ "x": 600, "y": 800, "length": 100,- "rotation": 180+ "rotation": 180,+ "electrical_type": "bidirectional" }, { "number": "19",@@ -158,7 +176,8 @@ "x": 600, "y": 700, "length": 100,- "rotation": 180+ "rotation": 180,+ "electrical_type": "bidirectional" }, { "number": "20",@@ -166,7 +185,8 @@ "x": 100, "y": 1500, "length": 100,- "rotation": 270+ "rotation": 270,+ "electrical_type": "power_in" }, { "number": "21",@@ -174,7 +194,8 @@ "x": -600, "y": 1200, "length": 100,- "rotation": 0+ "rotation": 0,+ "electrical_type": "passive" }, { "number": "22",@@ -182,7 +203,8 @@ "x": 0, "y": -1500, "length": 100,- "rotation": 90+ "rotation": 90,+ "electrical_type": "passive" }, { "number": "23",@@ -190,7 +212,8 @@ "x": 600, "y": 300, "length": 100,- "rotation": 180+ "rotation": 180,+ "electrical_type": "bidirectional" }, { "number": "24",@@ -198,7 +221,8 @@ "x": 600, "y": 200, "length": 100,- "rotation": 180+ "rotation": 180,+ "electrical_type": "bidirectional" }, { "number": "25",@@ -206,7 +230,8 @@ "x": 600, "y": 100, "length": 100,- "rotation": 180+ "rotation": 180,+ "electrical_type": "bidirectional" }, { "number": "26",@@ -214,7 +239,8 @@ "x": 600, "y": 0, "length": 100,- "rotation": 180+ "rotation": 180,+ "electrical_type": "bidirectional" }, { "number": "27",@@ -222,7 +248,8 @@ "x": 600, "y": -100, "length": 100,- "rotation": 180+ "rotation": 180,+ "electrical_type": "bidirectional" }, { "number": "28",@@ -230,7 +257,8 @@ "x": 600, "y": -200, "length": 100,- "rotation": 180+ "rotation": 180,+ "electrical_type": "bidirectional" } ], "body": null,@@ -242,12 +270,39 @@ "x2": 500.0, "y2": 1400.0000000000002, "width": 10.0,- "filled": true+ "filled": true,+ "fill_style": "background" } ], "designator_prefix": "U", "footprint": "DIP-28_W7.62mm",- "parameters": [],+ "parameters": [+ {+ "name": "Value",+ "value": "ATmega328P-P",+ "visible": true+ },+ {+ "name": "Datasheet",+ "value": "https://ww1.microchip.com/downloads/en/DeviceDoc/ATmega48A-PA-88A-PA-168A-PA-328-P-DS-DS40002061B.pdf",+ "visible": true+ },+ {+ "name": "Description",+ "value": "10MHz, 4kB Flash, 512B SRAM, 256B EEPROM, DIP-28",+ "visible": true+ },+ {+ "name": "ki_keywords",+ "value": "AVR 8bit Microcontroller MegaAVR",+ "visible": true+ },+ {+ "name": "ki_fp_filters",+ "value": "DIP*W7.62mm*",+ "visible": true+ }+ ], "pin_numbers_hidden": false, "pin_names_hidden": false },
ATmega328P.lbr+47−39@@ -52,8 +52,8 @@ <library> <description>10MHz, 4kB Flash, 512B SRAM, 256B EEPROM, DIP-28</description> <packages>-<package name="ATmega328P-P">- <description>ATmega328P-P</description>+<package name="DIP-28_W7.62mm">+ <description>28 pads, 9.2 x 34.6 mm. 28-lead though-hole mounted DIP package, row spacing 7.62mm (300 mils)</description> <pad name="1" x="0.0000" y="-0.0000" drill="0.8000" diameter="1.6000" shape="round"/> <pad name="2" x="0.0000" y="-2.5400" drill="0.8000" diameter="1.6000" shape="round"/> <pad name="3" x="0.0000" y="-5.0800" drill="0.8000" diameter="1.6000" shape="round"/>@@ -110,40 +110,41 @@ </packages> <symbols> <symbol name="ATmega328P-P">- <wire x1="-12.7" y1="-35.56" x2="12.7" y2="-35.56" width="0.254" layer="94"/>- <wire x1="12.7" y1="-35.56" x2="12.7" y2="35.56" width="0.254" layer="94"/>- <wire x1="12.7" y1="35.56" x2="-12.7" y2="35.56" width="0.254" layer="94"/>- <wire x1="-12.7" y1="35.56" x2="-12.7" y2="-35.56" width="0.254" layer="94"/>- <text x="0" y="-33.02" size="1.27" layer="95" align="bottom-center">>NAME</text>- <text x="0" y="33.02" size="1.27" layer="96" align="top-center">>VALUE</text>- <pin name="~{RESET}/PC6" x="15.24" y="-7.62" length="short" direction="io" rot="R180"/>- <pin name="PD0" x="15.24" y="-12.7" length="short" direction="io" rot="R180"/>- <pin name="PD1" x="15.24" y="-15.24" length="short" direction="io" rot="R180"/>- <pin name="PD2" x="15.24" y="-17.78" length="short" direction="io" rot="R180"/>- <pin name="PD3" x="15.24" y="-20.32" length="short" direction="io" rot="R180"/>- <pin name="PD4" x="15.24" y="-22.86" length="short" direction="io" rot="R180"/>- <pin name="VCC" x="0" y="38.1" length="short" direction="pwr" rot="R270"/>- <pin name="GND" x="0" y="-38.1" length="short" direction="pwr" rot="R90"/>- <pin name="XTAL1/PB6" x="15.24" y="15.24" length="short" direction="io" rot="R180"/>- <pin name="XTAL2/PB7" x="15.24" y="12.7" length="short" direction="io" rot="R180"/>- <pin name="PD5" x="15.24" y="-25.4" length="short" direction="io" rot="R180"/>- <pin name="PD6" x="15.24" y="-27.94" length="short" direction="io" rot="R180"/>- <pin name="PD7" x="15.24" y="-30.48" length="short" direction="io" rot="R180"/>- <pin name="PB0" x="15.24" y="30.48" length="short" direction="io" rot="R180"/>- <pin name="PB1" x="15.24" y="27.94" length="short" direction="io" rot="R180"/>- <pin name="PB2" x="15.24" y="25.4" length="short" direction="io" rot="R180"/>- <pin name="PB3" x="15.24" y="22.86" length="short" direction="io" rot="R180"/>- <pin name="PB4" x="15.24" y="20.32" length="short" direction="io" rot="R180"/>- <pin name="PB5" x="15.24" y="17.78" length="short" direction="io" rot="R180"/>- <pin name="AVCC" x="2.54" y="38.1" length="short" direction="pwr" rot="R270"/>- <pin name="AREF" x="-15.24" y="30.48" length="short" direction="pas"/>- <pin name="GND@2" x="0" y="-38.1" length="short" direction="pas" rot="R90"/>- <pin name="PC0" x="15.24" y="7.62" length="short" direction="io" rot="R180"/>- <pin name="PC1" x="15.24" y="5.08" length="short" direction="io" rot="R180"/>- <pin name="PC2" x="15.24" y="2.54" length="short" direction="io" rot="R180"/>- <pin name="PC3" x="15.24" y="0" length="short" direction="io" rot="R180"/>- <pin name="PC4" x="15.24" y="-2.54" length="short" direction="io" rot="R180"/>- <pin name="PC5" x="15.24" y="-5.08" length="short" direction="io" rot="R180"/>+ <description>10MHz, 4kB Flash, 512B SRAM, 256B EEPROM, DIP-28</description>+ <wire x1="-16.51" y1="35.56" x2="16.51" y2="35.56" width="0.254" layer="94"/>+ <wire x1="16.51" y1="35.56" x2="16.51" y2="-33.019999999999996" width="0.254" layer="94"/>+ <wire x1="16.51" y1="-33.019999999999996" x2="-16.51" y2="-33.019999999999996" width="0.254" layer="94"/>+ <wire x1="-16.51" y1="-33.019999999999996" x2="-16.51" y2="35.56" width="0.254" layer="94"/>+ <text x="-12.7000" y="36.8300" size="1.27" layer="95" align="center">>NAME</text>+ <text x="2.5400" y="-36.8300" size="1.27" layer="96" align="center">>VALUE</text>+ <pin name="!RESET!/PC6" x="21.590000000000003" y="-30.479999999999997" length="middle" direction="io" rot="R180"/>+ <pin name="PD0" x="21.590000000000003" y="-2.539999999999999" length="middle" direction="io" rot="R180"/>+ <pin name="PD1" x="21.590000000000003" y="-5.079999999999998" length="middle" direction="io" rot="R180"/>+ <pin name="PD2" x="21.590000000000003" y="-7.619999999999997" length="middle" direction="io" rot="R180"/>+ <pin name="PD3" x="21.590000000000003" y="-10.159999999999997" length="middle" direction="io" rot="R180"/>+ <pin name="PD4" x="21.590000000000003" y="-12.699999999999996" length="middle" direction="io" rot="R180"/>+ <pin name="VCC" x="-21.590000000000003" y="20.320000000000004" length="middle" direction="pwr"/>+ <pin name="GND" x="-21.590000000000003" y="25.400000000000002" length="middle" direction="pwr"/>+ <pin name="XTAL1/PB6" x="21.590000000000003" y="-25.4" length="middle" direction="io" rot="R180"/>+ <pin name="XTAL2/PB7" x="21.590000000000003" y="-27.939999999999998" length="middle" direction="io" rot="R180"/>+ <pin name="PD5" x="21.590000000000003" y="-15.239999999999995" length="middle" direction="io" rot="R180"/>+ <pin name="PD6" x="21.590000000000003" y="-17.779999999999994" length="middle" direction="io" rot="R180"/>+ <pin name="PD7" x="21.590000000000003" y="-20.32" length="middle" direction="io" rot="R180"/>+ <pin name="PB0" x="21.590000000000003" y="33.02" length="middle" direction="io" rot="R180"/>+ <pin name="PB1" x="21.590000000000003" y="30.480000000000004" length="middle" direction="io" rot="R180"/>+ <pin name="PB2" x="21.590000000000003" y="27.940000000000005" length="middle" direction="io" rot="R180"/>+ <pin name="PB3" x="21.590000000000003" y="25.400000000000002" length="middle" direction="io" rot="R180"/>+ <pin name="PB4" x="21.590000000000003" y="22.860000000000003" length="middle" direction="io" rot="R180"/>+ <pin name="PB5" x="21.590000000000003" y="20.320000000000004" length="middle" direction="io" rot="R180"/>+ <pin name="AVCC" x="-21.590000000000003" y="27.940000000000005" length="middle" direction="pwr"/>+ <pin name="AREF" x="-21.590000000000003" y="33.02" length="middle" direction="pas"/>+ <pin name="GND@2" x="-21.590000000000003" y="22.860000000000003" length="middle" direction="pas"/>+ <pin name="PC0" x="21.590000000000003" y="15.240000000000002" length="middle" direction="io" rot="R180"/>+ <pin name="PC1" x="21.590000000000003" y="12.700000000000003" length="middle" direction="io" rot="R180"/>+ <pin name="PC2" x="21.590000000000003" y="10.160000000000004" length="middle" direction="io" rot="R180"/>+ <pin name="PC3" x="21.590000000000003" y="7.6200000000000045" length="middle" direction="io" rot="R180"/>+ <pin name="PC4" x="21.590000000000003" y="5.080000000000002" length="middle" direction="io" rot="R180"/>+ <pin name="PC5" x="21.590000000000003" y="2.5400000000000027" length="middle" direction="io" rot="R180"/> </symbol> </symbols> <devicesets>@@ -153,9 +154,9 @@ <gate name="G$1" symbol="ATmega328P-P" x="0" y="0"/> </gates> <devices>- <device name="" package="ATmega328P-P">+ <device name="" package="DIP-28_W7.62mm"> <connects>- <connect gate="G$1" pin="~{RESET}/PC6" pad="1"/>+ <connect gate="G$1" pin="!RESET!/PC6" pad="1"/> <connect gate="G$1" pin="PD0" pad="2"/> <connect gate="G$1" pin="PD1" pad="3"/> <connect gate="G$1" pin="PD2" pad="4"/>@@ -184,7 +185,14 @@ <connect gate="G$1" pin="PC4" pad="27"/> <connect gate="G$1" pin="PC5" pad="28"/> </connects>- <technologies><technology name=""/></technologies>+ <technologies>+ <technology name="">+ <attribute name="MPN" value="ATmega328P" constant="no"/>+ <attribute name="MANUFACTURER" value="Microchip Technology" constant="no"/>+ <attribute name="DATASHEET" value="https://ww1.microchip.com/downloads/en/DeviceDoc/ATmega48A-PA-88A-PA-168A-PA-328-P-DS-DS40002061B.pdf" constant="no"/>+ <attribute name="ADOM_WIKI" value="https://wiki.adom.inc/adom/atmega328p" constant="no"/>+ </technology>+ </technologies> </device> </devices> </deviceset>
page.json+12−8@@ -218,6 +218,11 @@ "described": 28, "cites_pages": true, "refuses_to_fabricate": true+ },+ "review_fix": {+ "at": "2026-11-10",+ "by": "part-reviewer (Ray review)",+ "what": "symbol Datasheet now cites Microchip DS40002061B, the document the page and docs/ carry; it cited Atmel 8025, the ATmega48P/88P/168P datasheet, which does not cover the 328P. Version 1.0.2 continues from page.json 1.0.1 (registry held only 0.1.0)." } }, "viewers": {@@ -238,7 +243,7 @@ 6.98 ], "zmin_mm": -3.3,- "centre_offset_mm": 0,+ "centre_offset_mm": 0.0, "footprint_binding": "identity", "sha256": "7bf4503e368ad9b7a3eddfa94bc8dee656da5d6921b677e17307b3d7f29177ab", "checked": "2026-11-10",@@ -257,7 +262,7 @@ 7.01 ], "zmin_mm": -3.3,- "centre_offset_mm": 0,+ "centre_offset_mm": 0.0, "footprint_binding": "identity", "sha256": "fa5167d664f774c852cabb5cb8a1f4a87dd74731dfca80fc0b4a233d945d665b", "checked": "2026-11-10",@@ -310,12 +315,11 @@ "atmega328p.kicad_sym", "atmega328p.kicad_mod", "atmega328p.glb",+ "atmega328p.lbr", "docs/hero.png", "docs/atmega328p-datasheet.pdf", "viewers/symbol.html",- "viewers/footprint.html"- ],- "description": "Microchip 8-bit AVR MCU, 28-pin DIP. 32 KB flash, 2 KB SRAM, 20 MHz, the Arduino Uno chip. Datasheet-verified.",- "visibility": "public",- "org": "adom"-}+ "viewers/footprint.html",+ "atmega328p-etched.step"+ ]+}