ATmega328 adalah micro controllerkeluaran Atmel yang merupakan anggota dari keluarga AVR 8-bit.

Atmel AVR ATmega328P-PU

Mikro kontroller ini memiliki kapasitas flash (program memory) sebesar 32 Kb (32.768 bytes), memori (static RAM) 2 Kb (2.048 bytes), dan EEPROM (non-volatile memory) sebesar 1024 bytes. Kecepatan maksimum yang dapat dicapai adalah 20 MHz.
Rancangan khusus dari keluarga prosesor ini memungkinkan tercapainya kecepatan eksekusi hingga 1 cycle per instruksi untuk sebagian besar instruksinya, sehingga dapat dicapai kecepatan mendekati 20 juta instruksi per detik.

ATmega328 adalah prosesor yang kaya fitur. Dalam chip yang dipaketkan dalam bentuk DIP-28 ini terdapat 20 pin Input/Output (21 pin bila pin reset tidak digunakan, 23 pin bila tidak menggunakan oskilator eksternal), dengan 6 di antaranya dapat berfungsi sebagai pin ADC (analog-to-digital converter), dan 6 lainnya memiliki fungsi PWM (pulse width modulation).

Chip ini juga memiliki modul USART (Universal Synchronous and Asynchronous serial Receiver and Transmitter) teritegrasi, hardware SPI (Serial Peripheral Interface), hardwareTWI (Two Wire Interface, kompatible dengan protokol I2Cdari Phillips, 2x pencacah (timer) 8-bit, 1x pencacah 16-bit, RTC (Real Time Counter) dengan oskilator terpisah, watchdog timer, komparator analog terintegrasi, pendeteksi tegangan turun (brown-out detector), sumber interupsi internal dan eksternal, dan oskilator internal yang terkalibrasi (8 MHz).

Pemrograman (proses uploadkode program dari komputer ke IC) dapat dilakukan dengan mudah menggunakan programmerserial (contoh: USBASP) atau dengan parallel programming modemelalui port parallel(LPT port) komputer Anda.

Kode dapat ditulis dalam bahasa C/C++ ataupun assembler. C compiler (avr-gcc, bagian dari Atmel AVR Toolchain) tersedia untuk diunduh secara gratisdari website produsen baik untuk versi windowsatau versi linux.

Alternatif lainnya untuk pengguna Windows dapat menggunakan WinAVR(open source, gratis juga). Selain itu, untuk pemula dapat juga menggunakan Arduino IDE(bahasa C dengan librarylengkap terintegrasi yang sangat mudah digunakan).

Bila Anda lebih memilih untuk menulis kode dalam bahasa Assembler, selain menggunakan assembler standar dari Atmel (unduh Atmel AVR Toolchain), dapat juga menggunakan AVRA(open source, gratis) yang memiliki lebih banyak fitur.

Toko komponen elektronika kami juga menjual IC ini dalam kemasan SMD (TQFP32 packaging), silakan cek harga dan ketersediaan stok ATmega328P-AUdi katalog online kami.
Konfigurasi pin ATmega328 sama dengan konfigurasi pin pada ATmega8, sbb.:

ATmega328P PinOut Diagram by Vcc2GND.com