AVRISP- MKII Clone Programmer (Bagian 2/2 - Merakit)


السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ

Sambil menunggu istri yang isolasi mandiri karena positif terinfeksi COVID, saya putuskan untuk segera menulis AVRISP MKII Bagian 2 ini. Semoga Allah segera mengangkat penyakit istri saya dan mengembalikan kesehatannya kembali. Ya Rabb segera Engkau cabut wabah COVID ini, sehingga kami bisa beribadah dengan tenang kembali. Hari ini, tepat hari ke 5 PPKM (Pembatasan Kegiatan Masyarakat Darurat). Sama dengan PSBB tahun kemarin, cuma saya kurang tahu kenapa berubah menjadi PPKM Kali ini Covid varian baru merajalela kembali. Sudah banyak menelan korban jiwa. Rumah sakit sudah tidak mampu menampung pasien. Tapi korban terus berdatangan. Ya Allah....Ya Rabb....Ampuni kami, lindungi kami, jaga kami dan bimbing kami ini. Sungguh kami hanya makluk Mu yang lemah.


Lepas membuat tulisan 
AVRISP- MKII Clone Programmer (Bagian 1/2 - Compiling LUFA) kemarin, saya langsung cek USBasp milik saya. Saya bongkar solderan yang kelihatan jelek dan saya solder ulang. Cek kembali jalur-jalur & komponen-komponennya. Untuk lebih mantab lagi, saya tulis/program/upload ulang firmware USBasp. Alhamdulillah akhirnya USBasp saya berkerja normal kembali. 


Mumpung
USBasp saya 
normal, sekalian saya buatkan adapter ICSP versi IDC 2x3. 



Biar selaras dengan ICSP Arduino dan ICSP MiniCore Minimun System rakitan saya.




Mungkin rekan-rekan akan bertanya, kenapa harus merakit/membuat AVRSIP MKII? Kan sudah ada USBasp. Jawabannya sederhana saja. Karena saya kepingin punya AVRISP MKII versi rakitan 😁. Ada satu hal lagi, kemarin saya menemukan masalah antara AVRdude 6.3 versi situs aslinya dengan AVRdude versi Arduino. Kebetulan, saat ini saya menggunakan Arduino versi terbaru saat saya tulis ini (v1.8.15). Padahal sama-sama menggunakan AVRdude 6.3 lho.


Saat USBasp saya menggunakan libusb-win32 Usb Devices sebagai drivernya, Arduino saya akan mengalami error saat Uploading kode. Padahal AVRdude 6.3 saya dapat membaca Fuse dan deteksi MCU dengan normal.


Kemudian saya uninstall driver libusb-win32 Usb Devices dan saya ubah drivernya ke WinUSB(libusb) dengan menggunakan Zadig.


Kebalikan dengan hasil sebelumnya, AVRdude 6.3 error dan Arduino berhasil Uploading kode.


Setelah saya cek ternyata Arduino 1.8.15 menggunakan AVRdude 6.3 tapi ada SVN (Software Version Number) nya, yaitu 20190619. Sedangkan disitus aslinya file SVN 20190619 ini belum ada. Masih versi yang lama, AVRdude 6.3 tahun 2016

Sebenarnya ada solusi sederhana agar AVRdude ini bisa berjalan normal tanpa mengubah-ubah drivernya. Bisa kita siasati dengan menggunakan AVRdude versi yang sama. Terserah, anda bisa pakai AVRdude 6.3 versi 2016 atau AVRdude 6.3 SVN 20190619 milik Arduino 1.8.15

Contoh saya menggunakan AVRdude 6.3 SVN 20190619 milik Arduino 1.8.15. 


Dan akhirnya saya berhasil mendeteksi MCU dengan manggunakan AVRDUDESS (AVRdude GUI).

Kalau pakai AVRISP MKII rakitan bagaimana? Berjalan dengan lancar tanpa kendala, terserah mau pakai AVRdude versi manapun.




PERANGKAT KERAS/HARDWARE

Kembali ke 
AVRISP MKII kita, sebenarnya ada banyak skema untuk AVRISP MKII clone ini. Ada yang menggunakan single voltage 5v, adapula yang dual voltage 3v3 & 5V. Untuk yang dual volt ada yang menggunakan 8Bit Bidirec Converter (GTL2003 atau MAX3002). Berikut ini beberapa link AVRISP MKII clone yang bisa anda lihat.


Kalau menurut saya Olimex AVRISP MKII yang paling mantab. Ini AVRISP MKII Clone yang paling uptodate, lengkap file dan dokumentasinya.

Dan ini AVRISP MKII Clone yang saya gunakan, desain dari umelogDesainnya cukup menarik, sudah mendukung dual voltage tapi tidak menggunakan 8Bit Bidirec Converter tambahan. Umelog memanfaatkan 3v3 regulator internal milik AT90USB162.


Saya menggunakan TQFP32 to DIP untuk AT90USB162.


Dibawah ini adalah PCB AVRISP MKII versi single layer. 


Untuk detail skema dan PCB bisa anda lihat disini. AVRISP MKII dan MiniCore/Arduino Minimun System menggunakan PCB lubang.






UPLOAD FIRMWARE

Saat semua komponen sudah terangkai. Tahapan berikutnya adalah upload firmware ke AT92USB162. Kita siap kan file pendukung dan firmware nya. 

1. Firmware (hasil kompile kita di tulisan bagian 1 kemarin).
2. Zadig driver.
3. Software FLIP (untuk upload firmware kita). 

Untuk anda yang mengunduh "FLIP 3.4.x for Windows (Java Runtime Environment included)", pastikan anda "Disable Windows Security" saat anda unduh dan instal FLIP. Biasanya Windows Security akan mendeteksi JRE (Java Runtime Environment) dari FLIP ini sebagai Virus!!!


Bagi anda yang mengunduh "FLIP 3.4.x for Windows (requires Java Runtime Environment)", pastikan anda mengunduh JRE(Java Runtime Environment) versi x86 terlebih dahulu di sini. Unduh JRE x86, meskipun windows anda versi x64. Instal JRE x86 terlebih dahulu kemudian install FLIP.



Agar Windows Defender/Security tidak memberi peringatan, saran saya unduh file versi "FLIP 3.4.x for Windows (requires Java Runtime Environment)" dan file "JRE x86(Java Runtime Environment)" secara terpisah. 

Untuk alternatif unduhan software dan firmware dapat ambil di sini.

Hubungkan AVRISP MKII Clone anda ke komputer via USB. Windows akan mendeteksi AT90USB162. Kemudian instal driver libusb-win32 Usb Devices dari Zadig.



Lalu kita buka FLIP, lakukan proses ini: 
1. Select a Target Device
2. Select Device: AT90USB162 
3. Klik OK.



4. Select a Communication Medium.
5. Pilih USB.
6. USB Port Connection: Open.


7. Load HEX File.
8. Pilih File HEX Firmware.
9. Lalu Klik OK


10. Klik Run.
Tunggu beberapa detik untuk proses uploading firmware.



Setelah proses upload selesai, tekan tombol RST (ResetAVRISP MKII. 


Bila
Device Manager muncul AVRISP MKII dan 2 LED indikator nyala, SELAMAT!!! anda telah berhasil merakit AVRISP MKII ver clone.



Saya sudah menggunakan AVRISP MKII ini dengan Arduino dan AVRdude. Tapi saya belum pernah mencoba 
AVRISP MKII ini dengan AVR Studio 4, Atmel Studio 6 atau 7

Untuk Atmel Studio 6 atau 7AVRISP MKII ini harusnya bisa langsung digunakan. Sedangkan untuk AVR Studio 4 kemungkinan anda harus mengganti firmware khusus AVR Studio milik Olimex

Penting untuk anda ketahui juga, Windows driver AVR Studio dan Atmel Studio sangat berbeda. AVR Studio menggunakan driver Jungo atau Atmel USB Driver. Sedangkan Atmel Studio menggunakan driver libusb-win32 Usb Devices. Dan Atmel tidak merekomendasi penggunaan AVR Studio dan Atmel Studio secara bersamaan pada komputer yang sama.

Untuk lebih pastinya, silakan anda coba terlebih dahulu. Bila anda menemukan masalah silakan baca Dokumen Olimex AVRISP MKII.



UPDATE FIRMWARE
Bagaimana bila kita ingin update atau mengganti firmware? Yang anda lakukan pertama adalah membuat AVRISP MKII kita ke mode DFU (Device Firmware Upgrade), lakukan langkah berikut ini:

1. Siapkan FLIP.
2. Hubungkan AVRISP MKII Board ke komputer menggunakan kabel USB.
3. Tekan & tahan tombol HWB (Hardware Bootloader).
4. Tekan & tahan tombol RST (Reset).
5. Lepas tombol RST (Reset).
6. Lepas tombol HWB (Hardware Bootloader).
7. Cek di Device Manager Windows,  akan muncul  AT90USB162.


Jika di Device Manager telah muncul AT90USB162, maka mode DFU telah aktif. Setelah ini anda bisa mulai proses upload/update firmware anda, seperti cara diatas.

Bila anda ingin lebih detail prihal update firmware, silakan baca disini.

Alhamdulillah selesai sudah tulisan hari ini. Semoga tulisan ini bermanfaat. Terima kasih.

السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ
 

Komentar

Postingan populer dari blog ini

DIY GORDAK 936A Solder Station (buat sendiri solder station)

T12 Solder Station Analog

DIY PIC K150 Programmer (Merakit Sendiri)