ATmega328 (DIP) Symbol

ATmega328 (DIP) symbolATmega328P
The ATmega328 (DIP) symbol (IEC 60617 / ANSI Y32.2).

Definition: The ATmega328 (DIP) symbol represents the Microchip (formerly Atmel) ATmega328P 8-bit AVR microcontroller in a 28-pin dual in-line package (DIP-28), shown in circuit schematics as a rectangular IC block with labelled port pins including PC6/RST, PD0/RX, PD1/TX, PD2–PD3, GND on the left and PB0–PB3, VCC, and AREF on the right, as conventionally depicted following ANSI/IEEE 315-1975 IC symbol conventions.

Also known as: ATmega328P, ATmega328P-PU, AVR ATmega328, Arduino MCU, ATmega DIP28.

What the ATmega328 (DIP) symbol means

The ATmega328 (DIP) symbol in a schematic represents the standalone ATmega328P microcontroller IC at the component level, exposing all functional pins so that a PCB designer can specify exactly which port pins connect to which circuit elements. Unlike the higher-level Arduino Uno block symbol, the ATmega328 symbol shows individual port pin assignments (PC6/RST, PD0/RX, PD1/TX, PD2, PD3, GND, PB0–PB3, VCC, AREF) enabling precise circuit design without the Arduino bootloader or USB interface assumptions.

The ATmega328P is the microcontroller at the heart of the Arduino Uno board, and using its bare DIP symbol allows engineers to design custom PCBs using the ATmega328P directly with their own power supply, crystal, and programming interface. The symbol's pin labels use the AVR port naming convention (Port B, Port C, Port D) with alternate functions (RX, TX, INT0, INT1, etc.) noted alongside the primary port designators.

How to identify the ATmega328 (DIP) symbol

The ATmega328 (DIP) symbol is a tall rectangle representing the 28-pin DIP-28 package. Left-side pins include PC6/RST (top-left), PD0/RX, PD1/TX, PD2, PD3, and GND going downward. Right-side pins include PB0, PB1, PB2, PB3, VCC, and AREF going from top to bottom on the right. The label 'ATmega328' or 'ATMEGA328P' appears inside the rectangle. In full-pinout symbols, all 28 pins are shown including the complete Port B (PB0–PB7), Port C (PC0–PC6), Port D (PD0–PD7), dual VCC and GND, AVCC, and AREF pins.

Function in a circuit

The ATmega328P is an 8-bit RISC microcontroller with 32 KB flash program memory, 2 KB SRAM, and 1 KB EEPROM. It operates at up to 20 MHz (16 MHz with Arduino bootloader) from a 1.8–5.5 V supply. The device has 23 programmable I/O pins organised in three 8-bit ports (B, C, D), a 6-channel 10-bit ADC (Port C), two 8-bit timers, one 16-bit timer, UART, SPI, and TWI (I2C) hardware interfaces. It executes most instructions in a single clock cycle, achieving 1 MIPS per MHz throughput.

Standards: IEC vs ANSI

IEC 60617The ATmega328P DIP symbol follows IEC 60617-12 conventions for integrated circuit rectangular block symbols, with input and output pins on the left and right faces respectively and the component name inside the rectangle. IEC does not define specific symbols for commercial microcontrollers.
ANSI/IEEE 315ANSI/IEEE 315-1975 governs the general rectangular IC symbol format used for the ATmega328P. The pin labelling follows the manufacturer's datasheet pinout. The IC designator prefix is U (e.g., U1) per ANSI/IEEE 315.
Key differenceNo IEC vs. ANSI glyph difference exists for the ATmega328P symbol itself; both standards use rectangular IC blocks. The pin label conventions match the manufacturer's datasheet. ANSI/IEEE 315 prescribes the U prefix; some European schematics use IC or T prefix, but U is universal in modern EDA tools.

Terminals / pins

PinName
pc6PC6/RST
pd0PD0/RX
pd1PD1/TX
pd2PD2
pd3PD3
gndGND
pb0PB0
pb1PB1
pb2PB2
pb3PB3
vccVCC
arefAREF

Typical values

Operating voltage: 1.8–5.5 V; maximum clock: 20 MHz (at 5V), 10 MHz (at 3.3V), 8 MHz internal RC; flash: 32 KB (0.5 KB bootloader); SRAM: 2 KB; EEPROM: 1 KB; I/O pins: 23; ADC channels: 6 (10-bit); UART: 1; SPI: 1; I2C (TWI): 1; timers: 2×8-bit, 1×16-bit; current per I/O pin: 40 mA; total DC current per port: 100 mA.

Where the ATmega328 (DIP) symbol is used

Example

In a standalone temperature-logging PCB, the ATmega328P DIP symbol connects its AREF pin to a 3.3 V reference, PC0–PC2 (analog inputs) to three NTC thermistor voltage dividers, and PD1/TX to a MAX232 level-shifter for RS-232 logging. A 16 MHz crystal with 22 pF load capacitors connects between XTAL1 and XTAL2 pins (not shown in the simplified symbol here), and the PC6/RST pin has a 10 kΩ pull-up resistor to VCC for in-system programming.

Key facts

Frequently asked questions

What does the ATmega328 DIP symbol look like in a schematic?

The ATmega328 DIP symbol is a tall rectangle labelled 'ATmega328' or 'ATMEGA328P'. Left-side pins include PC6/RST, PD0/RX, PD1/TX, PD2, PD3, and GND from top to bottom. Right-side pins include PB0, PB1, PB2, PB3, VCC, and AREF from top to bottom. Full-pinout symbols show all 28 pins across both sides.

What is the difference between the ATmega328 symbol and the Arduino Uno symbol?

The ATmega328 symbol represents only the microcontroller IC with its individual port pins, suitable for custom PCB design. The Arduino Uno symbol represents the full development board as a black box, showing only the externally accessible header pins (D0, D2, USB, etc.) and hiding the crystal, USB bridge, and power regulation circuitry.

What are the port pins on the ATmega328P?

The ATmega328P has three I/O ports: Port B (PB0–PB7, 8 pins), Port C (PC0–PC6, 7 pins including PC6/RST), and Port D (PD0–PD7, 8 pins). Total programmable I/O: 23 pins. Port C pins PC0–PC5 also function as ADC channels ADC0–ADC5. Port D pins PD0/PD1 are the hardware UART RX/TX.

What standard governs the ATmega328 schematic symbol?

The ATmega328 schematic symbol follows ANSI/IEEE 315-1975 and IEC 60617-12 conventions for rectangular IC block symbols. The IC designator prefix is U (e.g., U1) per ANSI/IEEE 315. No standards body defines a specific symbol for the ATmega328P — the pin layout follows Microchip's official datasheet pinout.

What is the AREF pin on the ATmega328 symbol?

AREF is the Analog Reference pin, which sets the reference voltage for the 6-channel 10-bit ADC on Port C. Connecting a stable voltage (e.g., 3.3 V from an LM4040 reference) to AREF provides more accurate ADC readings than using the internal VCC reference, which may vary with load. A 100 nF decoupling capacitor to GND is recommended on AREF.

How is the ATmega328P programmed?

The ATmega328P is programmed via its 6-pin ISP (In-System Programming) header: MOSI (PB3), MISO (PB4), SCK (PB5), RST (PC6), VCC, and GND. Tools such as the USBasp, AVRISP mkII, or Arduino-as-ISP can load firmware directly to flash. With the Arduino bootloader installed, the chip can also be programmed via UART (D0/D1) using the Arduino IDE.

What is the maximum clock speed of the ATmega328P?

The ATmega328P has a maximum clock speed of 20 MHz at 5 V supply voltage. At 3.3 V, the maximum reliable speed is 10 MHz. An internal RC oscillator provides 8 MHz (±10% accuracy). The Arduino Uno uses an external 16 MHz crystal, which falls within the 5 V operating envelope and provides accurate timing for UART communication.

Place the ATmega328 (DIP) symbol on a wiring diagram or schematic in the free online circuit diagram maker — no download required.