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 – Download – pass: www.fanselectronics.com
Contoh Program yang dikunci
Sebelum kalian membaca program Arduino, kalian bisa mengisi terlebih dahulu menggunakan program Blink saja yang ada di Contoh Arduino.
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.