Pada tulisan ini akan saya tulis tentang proses pemrograman dan aplikasi penunjang pemrograman mikrokontroler AVR pada sistem operasi LINUX. Sebagai acuan, disini saya menggunakan distro LINUX MINT dengan desktop KDE. Beberapa aplikasi yang saya gunakan untuk pemrograman mikrokontroler AVR di sistem operasi Linux adalah CODE BLOCKS (text editor), AVR-GCC (compiler) dan AVRDUDE (downloader).
Pemrograman mikrokontroler adalah sebuah rangkaian proses pembuatan program yang akan dijalankan oleh mikrokontroler, khususnya dalam hal ini adalah mikrokontroler AVR. Proses pembuatan program dimulai dari mengetikkan kode program baris demi baris sampai selesai kemudian kode program ini diubah menjadi bilangan heksadesimal atau biner sehingga dapat didownload atau ditransfer kedalam memori dari IC mikrokontroler AVR.
Kode-kode program mikrokontroler ditulis dengan berbagai bahasa seperti misalnya bahasa assembler, bahasa c dan bahasa basic. Kode-kode program ini berupa teks biasa seperti layaknya teks yang umum kita baca. Untuk menulis atau mengetikkan kode program ini kita memerlukan sebuah aplikasi teks editor seperti misalnya yang paling sederhana dan paling kita kenal adalah notepad.
Kemudian setelah semua kode program selesai ditulis, proses selanjutnya adalah meng-compile kode-kode tersebut sehingga menghasilkan file HEX atau file BIN. Nah, file HEX inilah yang nantinya kita download kedalam flash memori sebuah mikrokontroler sehingga mikrokontroler tersebut dapat bekerja sesuai dengan program yang kita buat tadi. Untuk melaksanakan proses download file HEX ini kita memerlukan sebuah aplikasi Downloader.

Aplikasi Pemrograman Mikrokontroler AVR di Linux
1. Aplikasi Teks Editor
Meski demikian, ada beberapa alternatif teks editor yang dapat dipilih seperti misalnya GEANY, CODEBLOCKS dan ECLIPSE. Untuk instalasi masing-masing aplikasi tersebut silahkan masuk ke software manager lalu cari aplikasi yang ingin diinstal kemudian pilih instal.
Tampilan Aplikasi Codeblocks:

Tampilan Aplikasi Eclipse:

Tampilan Aplikasi Geany:

2. Aplikasi Compiler
Compiler adalah aplikasi yang mengubah kode program menjadi file heksadesimal yang akan didownload ke mikrokontroler. Disebut Compiler karena proses ini disebut meng-compile kode program. Proses compile ini sekaligus mengecek penulisan dan struktur program yang kita buat. Jka terdapat error maka output file HEX tidak akan dibuat dan diganti dengan memunculkan pesan error.
Aplikasi compiler harus sesuai dengan bahasa pemrograman yang digunakan. Misalnya kita menggunakan bahasa assembler maka compilernya harus mendukung bahasa assembler atau jika kita menggunakan bahasa C maka compilernya harus mendukung bahasa C.
Bahasa pemrograman untuk mikrokontroler AVR di Linux adalah bahasa C. Oleh karena itu kita harus mempunyai aplikasi compiler yang memproses kode program dari bahasa C tersebut. Compiler yang paling populer adalah AVR-GCC yaitu sebuah compiler gratis dengan lisensi GPL. Untuk instal AVR-GCC bisa kita lakukan melalui software manager seperti saat instal aplikasi text editor diatas.
3. Aplikasi Downloader
Setelah proses compile program berhasil, langkah selanjutnya adalah mengisikan file HEX ini kedalam mikrokontroler AVR. Karena proses ini sering disebut juga dengan proses download file HEX maka aplikasi yang dipakai disebut dengan Downloader.
Aplikasi downloader mikrokontroler yang umum dipakai di Linux adalah AVRDUDE. Software ini juga gratis dan memiliki lisensi GPL. Aplikasi downloader AVRDUDE mendukung penggunaan banyak hardware downloader seperti USB downloader, Port paralel dan Port Serial. Aplikasi AVRDUDE dapat langsung diinstal melalui software manager di Linux Mint, untuk distro yang lain menyesuaikan.