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

Mikro kontroller ini memiliki kapasitas flash (program memory) sebesar 8 Kb (8.192 bytes), memori (static RAM) 1 Kb (1.024 bytes), dan EEPROM (non-volatile memory) sebesar 512 bytes. Kecepatan maksimum yang dapat dicapai adalah 16 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 16 juta instruksi per detik.

ATmega8 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), dengan 6 di antaranya dapat berfungsi sebagai pin ADC (analog-to-digital converter), dan 6 lainnya memiliki fungsi PWM (pulse width modulation).

Pemrograman (proses uploadkode program dari komputer ke IC) dapat dilakukan dengan mudah menggunakan programmerserial (contoh: USBASP) atau denganparallel 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 gratis dari 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 library 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.


KONFIGURASI PIN