Dalam pemrograman Arduino atau tepatnya pemrograman Mikrokontroller khususnya AVR (yang digunakan Arduino), program atau sketch akan dicompile oleh Arduino menjadi file HEX. File inilah yang akan diupload oleh Programmer (AVRdude) ke dalam Flash Memory Arduino.
Dalam kasus tertentu sering kali ada pihak-pihak tidak bertanggung jawab ingin mencuri program yang sudah masukan pada chip. Kita ambil contoh sepengalaman saya, ada kasus dimana serang melanggan saya, membeli sebuah produk dari Jerman. Mereka ingin meminta bantuan saya untuk mengcopykan program yanga da pada chip Mikrokontroller-nya. Dalam kasus ini Chip yg digunakan adalah ATMEGA8. Tentu saja awalnya saya menolak, karena desakan dari customer. Dikarenakan dia adalah teman kenalan saya jadi saya gak enak, sudah saya jelaskan bahwa program dari pabrik itu dikunci tapi masih ngotot untuk minta dicoba. Oke berikut ini tahap – tahap yang akan saya lakukan.

Peralatan Yang Dibutuhkan

  • USBasp
  • Module Minimum System (Bisa pakai Arduino).
  • PROG ISP (disini saya biasa menggunakan ini), kalian bisa menggunakan lainya jika kalian paham yg lain. Contoh pada artikel ini menggunakan ini. Kalian bisa download disini.

 

Download ProgISP

Program dulu Random

Sebelum kalian membaca program Arduino, kalian bisa mengisi terlebih dahulu menggunakan program Blink saja yang ada di Contoh Arduino. Upload program Blink Berikut: Download

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   
  delay(1000);                      
  digitalWrite(LED_BUILTIN, LOW);   
  delay(1000);                      
}

Setelah diupload kalian bisa mulai menghubungkan USBasp pada konektor SPI yang ada dibelakang Arduino atau kalian bisa mengupload menggunakan USBasp langsung. PERHATIAN: Ingat jika kalian memprogram menggunakan External programmer, Bootloader Arduino akan hilang, sehingga kalian tidak bisa upload menggunakan USB Arduino, Burn booloader lagi sebelum menggunakan USB pada Arduino.

Cara Baca Program

Setelah USBasp terhubung dengan baik, buka Aplikasi PROG ISP. Kemudian cek bagian Buffer, hasil nya saat kosong seperti ini.

Kemudian klik Command dan klik Read Flash. Tunggu loading dan cek hasilnya.

Jika hasilnya demikian program bisa diambil, dengan menyimpanya menjadi format HEX. PERHATIAN: Program sudah tidak bisa diedit, ingat. hehe.

Cara Mengunci Program

Untuk mengunci program kalian bisa mensetting pengaturan LOCKBIT pada Prog ISP. Load program .HEX dan silahkan setting sesuai berikut:

Setelah program diupload kita uji kembali langkah pertama diatas, untuk membaca memory flash Arduino yang sudah diupload. Tunggu prosesnya bisanya memakan sedikit waktu.

Setelah selesai, coba cek bagian BUFFER. Jika berhasil maka hasil pembacaaan akan tetap kosong atau berubah kosong. dikarenakan itulah datanya dikirim oleh Arduino. Karena fitur Lockbit aktif arduino tidak mengijikan kita untuk mengakses data Flash.

Gimana menurut kalian tutorial diatas, semoga bermanfaat agar kalian bisa melindungi program dari produk-produk yang kalian buat, dari oknum-oknum yang tidak menghargai karya orang lain. Ingat jika kalian ingin dihargai karya kalian, hargailah karya orang lain. Oke semangat belajarnya dan Salam Elektronik. 🙂