Inject USBasp langsung pada AVR Atmega32/Atmega16/Atmega8

Tujuan:
  • Memasukan program bootloader agar bisa download program ke mikrokontroller AVR langsung lewat USB tanpa downloader ISP.
Pendekatan pemecahan masalah:
Alat dan bahan:
  • AVR yang mau di "inject": atmega8 atau Atmega16 atau Atmega32.
  • AVR downloader (boleh pake USBasb , AVR ISP MK II, AVR910, Parallel , Serial dll.) 
  • program/firmware USBasploader
  • untuk ATmega8 , ATmega16 dan ATmega32 unduh disini atau disana
  • komponen : 
  •  R 10k x 1
  • R 2k2 x 1 
  • R 100 x 2  
  • Dioda zener 3,6V x 2 
  •  Crystal 16Mhz x 1
  •  C 33 p x 2
  • Push button x 2 
  • Soket USB x 1 
  • laptop / PC 
Skema rangkaian:
  • ATmega8
  • ATmega16 atau Atmega 32

Implementasi:
  • Membuat rangkaian tercetak pada PCB
  • Merangkai komponen
  •  Setting Fuse Bit Pada Microcontroller targetnya dengan AVR downloader.
  • ATmega8
  • High Fuse:  0xC0
  •  Low Fuse: 0x9F
  •  Lock Fuse: 0xCF
  • ATmega16
  •  High Fuse: 0xC0
  •  Low Fuse: 0x9F
  •  Lock Fuse : 0xCF
  • ATmega32
  •  High Fuse: 0xC2
  •  Low Fuse: 0x9F
  • Lock Fuse: 0xCF
  • Memasukan Program/firmware bootloader USBaspLoader ke target dengan AVR downloader ( seperti download program biasa).
  • Set Fusebit lagi seperti diatas.
Uji Coba:
  • Hubungkan rangkaian ke laptop / PC
  • Terdeteksi "USB device not recognized " : jangan panik dulu !
  • Tekan tombol RESET 1 dan RESET 2 untuk booting
  • Lepaskan tombol RESET1 tunggu 1 detik  kemudian lepaskan tombol RESET2 
  • Terdeteksi "USBasp" : good job !
  • Install driver USBasp jika belum ada
  • Gunakan software Kazama AVR downloader atau lainya untuk mencoba memasukan program
  • Enjoy it !
Kelebihan:
  • Tidak memerlukan downloader ISP lagi.
  • Write FLASH
  • Tidak memerlukan banyak komponen
  • Praktis
  • Open Source
  • Port untuk I/O ke USB masih dapat digunakan untuk fungsi lain
Kekurangan:
  • Memakan FLASH memori 2 kb.
  • Tidak bisa membaca Fuse Bit
  • Tiap kali kegiatan (Read flash/Write flash)harus kembali menekan tombol RESET untuk masuk ke mode bootloader lagi. 
Catatan:
  • it's work ! tested and modified by admin microku.blogspot.com
  • untuk AVR lain ex: ATmega128 belum di test karena admin tidak punya atmega128.. 
  • Source code : unduh saja USBaspLoader
  • untuk atmega8535
Another bootloader
BootloadHID :
  • firmware untuk atmega16, atmega32, atmega8 
  • skematik, fuse bit, cara pembuatan dan pengoperasian sama persis seperti diatas
  • kelebihan: simple , tanpa driver
  • software yang di gunakan untuk BootloadHID : HIDbootFlash. 
Contoh PCB:









download PCB software memakai PCB wizard

65 comments:

Anonymous said...

nice gan,.. mantap

sh mukti said...

thank's kunjunganya..

Anonymous said...

keren postingannya mas, boleh nyontek buat rangkaiannya?

sh mukti said...

Boleh. Silahkan,

virtual zone said...

mas untuk atmega 8535 bisa gak??
untuk bootloder'a gak ada yaa,,
untuk pin 30 atau AVCC tidak disambung ke VCC??

makasih yaa mas sebelumnya

sh mukti said...

bisa mas itu ada di bawah catatan, AVCC = Pin supply ADC, kalo anda menggunakan ADC ya tinggal di connect ke VCC

virtual zone said...

iaa,, mas saya gak liat,,
maksih yaa mas,,
saya ingin coba membuat nya,,
hehehe

virtual zone said...

mas untuk pin 15 dan 16 mash bisa di gunakan apa gak mas??

sh mukti said...

masih dong,, coba saja.

urang said...

mas, kalau pengen crystalnya 12mhz, r100 nya ganti 68, c33 nya ganti 22, bisa nggak ya?

sh mukti said...

bisa,.. di coba saja..

virtual zone said...

mas supprot sama arduino gak??
kan kebanyak sekarng banyak support dengan arduino

sh mukti said...

Semua yang bisa dilakukan oleh arduino pasti bisa di lakukan oleh mikro avr. Selama arduino di buat dari mikro avr :-)

sh mukti said...

Semua yang bisa dilakukan oleh arduino pasti bisa di lakukan oleh mikro avr. Selama arduino di buat dari mikro avr :-)

bimo said...

buat 89s51 ada ga mas ?

sh mukti said...

AT89s51 dan keluarganya tidak mendukung bootloader.. jadi tidak bisa.

bimo said...

ohh ,, jd syaratnya harus support bootloader. uke mas makasi. saya coba dulu yg 8535.

cyber said...

mas saya juga lagi coba buat nih mas,. crystalnya kalo pake yang 11.0592 bisa ga ya mas?? Thanks

sh mukti said...

pakai yang 12MHz atau 16Mhz aja mas, kalo 11.0592 belum saya coba

Wijaya said...

mas mukti, saya sudah coba rangkaiannya mas, tapi begitu saya udah inject boorloader ke atmegany usb not recognize , walaupaun saya udah reset seperti yg dijelaskan, tetep ga mau, ., saya baru menerka", apa kalau kristalnya ga sesuai dia ga bisa ya mas? soalnya saya memang pakai kristal 11,0592Mhz,

Wijaya said...

Oh iya mas satu lagi, di khazama untuk lock bitsnya kok ngga bisa dicentang ya yang bagian 1 dan 2..

sh mukti said...

iya kemungkinan besar gak jadi kalo crystalnya gak sama,
mungkin karena cuma 6 bit yang berfungsi buat lockbit nya..

Unknown said...

klu semua itu udah jadi selanjutnya untuk upload file hex pakai softwere apa mas brooow??????

sh mukti said...

kalo yang Bootloadernya USBasploader pake Kazama, kalo yang BootloadHID pake HIDbootflash (ada di folder download). kalo mo nyoba software saya bisa pake http://www.4shared.com/file/Bs7fPsN2/sikubil_setup.html?

wawan said...

mas,,itu maksudnya read flash,write sama read eeprom dicoret di bagian kelebihan apa mas??

sh mukti said...

haha.. setelah coba-coba ternyata itu tidak bisa.., kazamanya yang nggak komplit notifikasi errornya.

Anonymous said...

klo g punya AVR downloader gmn apa masih bisa memasukan firmwarenya

sh mukti said...

pinjem punya temen dulu..

kalo punya PC yang ada PARALLER PORT bisa download lewat situ.. (searh google).

IC AVR yang baru di beli ibarat botol kosong yang belum diisi apa2.. dan kamu butuh semacam pipa khusus (Downloader) untuk memasukan air (hex file) dari sumur (komputer) ke botol (Chip AVR) tersebut,,

baginda fausi fr said...

gan tetep gak bisa keluar "USB device not recognized" cara nekan resetny gmn gan smpek lama...

sh mukti said...

itu gan,, anu...
di anu..

tekan tombol RST1 dan tombol RST2..
tahan 1-2 detik, lama ya gapapa..
lepaskan tombol RST1 (ingat RST2 masih di tekan)
tahan 1-2 detik,lebih lama ya gapapa..
baru lepaskan RST2..

kalo gak bisa periksa lagi rangkaianya, mungkin agan kurang teliti..

Anonymous said...

gan saya dah buat mikrokontroler, trus saya coba buat/compile sendiri program usbasploader nya, pada saat di run malah gk k detek, ke deteknya "Usb Recognized" ,..tp low pakk firmware/program dari agan, bisa gan normal, apa aja ya gk harus di modif/di ganti kode nya,saya udh ganti F_CPU, DEVICE, BOOTLOADER_ADDRESS, trus apa lg y gan yg harus d gant/modif..mohon bantuannya

sh mukti said...

ya cuma itu mas,,
compiler yng sy pake winavr

Unknown said...

Assalamualaikum...
mau tanya....saya sudah membuat board sama seperti skema d atas.
firmware + driver sudah kedetek sebagai usbasp d device manager....permasalahanx setelah mau upload program blm bisa!!! usbasp tidak bisa mencari target....

sh mukti said...

waalaikum salam, softwarenya pake apa.. coba pake kazama

Unknown said...

saya pk avrdude....tp sama aj pk software kazama sama2 error....hehehe!!! g bisa post gambar ya dsini? sy kirim mail aj ya mas?

sh mukti said...

jangan klik auto program mas,, klik write flash saja.. CTRL + F

Panji Noriswan said...

Like :-)

aidi said...

kalo make auto progam g bisa ya mas...!!
kalo make write flash bisa..
tapi sebelumnya ada keterangan "Error Setting ISP Clock"
tapi abis itu bisa langsung jalan..
apakan ini normal...??
Terimakasih..

aidi said...

oh ya mas...
bisa buat hapus g..??

sh mukti said...

di timpa (dimasukan progam baru) udah otomatis hapus,,
coba yang bootloadhid lebih simple pake yang itu.

aidi said...

cara penggunaany gimna mas kalo pake BOOTLOADHID..?

sh mukti said...

pake aplikasi yang ada di dalam folder file lampiran firmware bootloadhid mas..

aidi said...

bingung cara makenya mas...!!

Anonymous said...

mas, kalo mau pake atmmega8535L X-tal pake 8MHz pake loader yang mana?

Unknown said...

mas ,,, misal uploadnya pake arduino IDE bisa g?

sh mukti said...

sebenarnya bisa mas, belum tak update.. lagi. sabar ya gan.
kunjungi team-ichibot.com

Unknown said...

mas, kalau pake atmega1284p bisa nggak? kalau bisa setting fusebitnya bgmn?

sh mukti said...

bisa mas,, 1284p,, 644p
LOW :0xD7
HIGH :0xD0
EXT :0xFC
LOCK :0x3F

Unknown said...

maaf mas, kalau untuk atmega1284p firmwarena gimana?

sh mukti said...

coba download dulu yang hardware konfigurasi "http://team-ichibot.com/?p=33",
kemudian extract dan cari folder bootloader.
kalo bisa win AVR tinggal di compile sendiri source code nya.

Unknown said...

mas gimana caranya tau besar flash memory yang dipake bootloader ??? kan file hex-nya berukuran 6kb ?

sh mukti said...

hedewh..
dari compilernya dong..
6kb tuh file size nya..

memori yang di pakai = banyaknya kode heksa yng generate dari compilernya.

Anonymous said...

gan ane pakek crystal 12MHZ kok g bisa ya

Suwardana said...

nice post mas,akan saya coba,
bila berkenan mampir ke blog saya

Anonymous said...

Mas, kok setinggan fusebit bagian lock'a ngga bisa diubah jadi 0xcf yaa pas pakai khazama? Mohon petunjuk'a, terima kasih sebelum'a..

Unknown said...

pake software extrem burner gan buat setting fusenya

Agus Suratno said...

Mas SH Mukti, saya dah berhasil membuat dan bisa dipake buat upload program, tetapi ketika akan dikembalikan ke fungsi sebagai downloader/akan dipakai lagi buat upload program kok gak bisa ? Tombol reset ditekan muncul USB device not recognized.

sh mukti said...

set fuse, flash bootloader, set fuse lagi.. step nya itu..

Agus Suratno said...

Mantabs Mas, masalah terselesaikan. terima kasih.

mekatronikasekayu.blogspot.com said...

Saya mau coba mas, semoga berhasil...

Terimakasih ilmunya, semoga menjadi amal jariyah...

Anonymous said...

Aduh puyeng dengan semua ini .... pengen belajar tpi gak tau caranya

Anonymous said...

Aduh puyeng dengan semua ini .... pengen belajar tpi gak tau caranya

S_ian said...

Mas mukti saya sudah buat sudah terdeteksi usbasp di device manager tapi kalo di kazama kenapa setiap kali check chip errror ?

djoko said...

Untuk atmega 128a 64 pin bisa atau tidak mas ?

Muhammad Fadhli said...

mas,bisa share file formware usbaspdownoadernya tp yg utk atmega 16,saya udh coba buat rangkaiannya.tp gk berfungsi karena tdk ada programnya