Memanfaatkan Arduino IDE tanpa Arduino board
Untuk kepentingan pembahasan dalam artikel ini anggap saja sistem Arduino terdiri dari dua sub sistem utama. Yang pertama adalah Arduino IDE, yaitu software yang beroperasi di komputer. Menurut situs http://www.arduino.cc perangkat lunak ini mereka sebut sebagai Arduino Software.
The open-source Arduino environment makes it easy to write code and upload it to the i/o board. It runs on Windows, Mac OS X, and Linux. The environment is written in Java and based on Processing, avr-gcc, and other open source software.
Tugas dari “Arduino Software” adalah menghasilkan sebuah file berformat hex yang akan di-download pada papan arduino atau papan sistem mikrokontroler lainnya. Ini mirip dengan Microsoft Visual Studio, Eclipse IDE, atau Netbeans. Lebih mirip lagi adalah IDE semacam Code::Blocks, CodeLite atau Anjuta yang mempermudah untuk menghasilkan file program. Bedanya kesemua IDE tersebut menghasilkan program dari kode bahasa C (dengan GNU GCC) sedangkan Arduino Software (Arduino IDE) menghasilkan file hex dari baris kode yang dinamakan sketch.
A sketch is the name that Arduino uses for a program. It’s the unit of code that is uploaded to and run on an Arduino board.
Sub sistem yang kedua adalah hardware (perangkat keras) yaitu papan Arduino (Arduino Boards). Sampai saat tulisan ini dibuat yang paling umum dijual adalah varian baru yaitu Arduino Uno dan Arduino Mega 2560. Kesemua papan arduino itu memiliki perangkat lunak yang dinamakan bootloader.
When you upload a sketch, you’re using the Arduino bootloader, a small program that has been loaded on to the microcontroller on your board. It allows you to upload code without using any additional hardware. The bootloader is active for a few seconds when the board resets; then it starts whichever sketch was most recently uploaded to the microcontroller. The bootloader will blink the on-board (pin 13) LED when it starts (i.e. when the board resets).
Pada umumnya sketch yang dibuat di Arduino Software di-compile dengan perintah verify / Compile (Ctrl+R) lalu hasilnya di-download ke papan Arduino seperti Arduino Uno atau Arduino Mega 2560. Program hasil kompilasi itu lalau dijalankan oleh bootloader.
Tetapi ternyata hasil kompilasi dari Arduino Software dapat dipergunakan dan dijalankan tidak hanya pada papan arduino (Arduino Boards) atau turunannya yang kompatibel. Program hasil kompilasi itu dapat dijalankan di sistem mikrokontroller Atmel AVR yang sesuai bahkan tanpa menggunakan bootloader. Selain memperluas pilihan varian IC microcontroller AVR yang bisa dipergunakan hal ini juga berarti semakin besar program yang bisa kita muat di flash memori IC itu.
If you want to use the full program space (flash) of the chip or avoid the bootloader delay, you can burn your sketches using an external programmer. [sumber]
If you have an external programmer (e.g. an AVR-ISP, STK500, or parallel programmer), you can burn sketches to the Arduino board without using the bootloader. This allows you to use the full program space (flash) of the chip on the Arduino board. So with an ATmega168, you’ll get 16 KB instead of 14 (on an ATmega8 you’ll get 8 KB instead of 7). It also avoids the bootloader delay when you power or reset your board. [sumber]
Kemudahan untuk mempergunakan berbagai macam varian microcontroller dalam tulisan ini mengikuti karya dari Mark Sproul. Beliau telah berbuat amal [ 🙂 ] dengan melakukan pengujian dan kemudian mempublikasikan secara luas uji cobanya untuk mempergunakan Arduino IDE untuk memprogram berbagai uC IC AVR. Daftar hasil uji cobanya dapat dilihat di http://www.avr-developers.com/cputable.html. Untuk dapat memprogram berbagai IC AVR tanpa papan arduino kita perlu melakukan download file-file konfigurasi yang telah dimodifikasi oleh Mark Sproul.
Sep 29, 2010 Updated to version 0020 core
Based on Version 0020 core filesDownload this file (arduino-extras.zip) uncompress it and add it in the hardware folder.
On the Mac, this is /Applications/Arduino.app/Contents/Resources/Java/hardware
This file contains ALL of the defintions that are included in the “arduino” folder as well. So your BOARDS menu will have duplicates.This will give you access to just about EVERY ATmega that I can find that has been made into a comerically avaialable board.
NOTE: Not all cpus support bootloaders.
File arduino-extras.zip berisi tiga direktori: bootloaders, cores dan firmwares dan dua file: boards.txt dan programmers.txt. Kesemuanya di-copy-kan ke direktori hardware arduino, misalnya: /home/sunu/arduino-0022/hardware/arduino/ atau misalnya direktori arduino utak-atik saya /home/sunu/arduino-0022hknix/hardware/arduino/. Kesemua direktori dan file yang baru itu akan menimpa yang lama, aman, kecuali anda telah melakukan modifikasi pada file yang lama yang sayang kalau hilang :-).
Ada dua cara konfigurasi untuk melakukan pemrograman tanpa papan arduino. Yang pertama melakukan konfigurasi pada file preferences.txt untuk mengubah secara otomatis setting pada semua pengaturan papan. Cara yang kedua adalah dengan melakukan konfigurasi pada file boards.txt, ini jika kita hendak melakukan setting yang berbeda untuk tiap papan.
Untuk file preferences dapat ditemukan di sistem sebagai berikut:
* /Users/<USERNAME>/Library/Arduino/preferences.txt (Mac)
* c:\Documents and Settings\<USERNAME>\Application Data\Arduino\preferences.txt (Windows)
* ~/.arduino/preferences.txt (Linux)
Perlu diperhatikan bahwa direktori ~/.arduino/ adalah direktori tersembunyi pada sistem GNU/Linux anda. Jika menggunakan file explorer Nautilus untuk menampilkan semua direktori tersembunyi dapat menggunakan Ctrl+h.
Modifikasi pada file preferences.txt dilakukan dengan melakukan pengubahan pada baris konfigurasi yang tercantum
upload.using=bootloader
menjadi salah satu nama programmer yang telah dicantumkan dalam file programmer.txt.
Change: upload.using from bootloader to the identifier of one of the programmers in hardware/programmers.txt (e.g. avrispmkii).
Misalnya saya menggunakan dua programmer, yaitu USBasp dan USBtinyISP yang saya cantumkan di dalam file programmer.txt.
usbasp.name=USBasp
usbasp.protocol=USBaspusbtinyisp.name=USBtinyISP
usbtinyisp.protocol=usbtiny
Maka saya bisa mengubah baris yang tertulis sebagai upload.using=bootloader dalam preferences.txt menjadi upload.using=USBasp atau upload.using=USBtinyISP.
Saya sendiri lebih menyenangi cara yang kedua yaitu melakukan konfigurasi pada file boards.txt. Menurut saya cara ini lebih fleksibel, bahkan saya menjadi bisa untuk memiliki lebih dari satu konfigurasi untuk satu papan / boards / sistem. Misalnya saya memiliki dua konfigurasi untuk sistem/papan ATmega8, satu untuk internal clock 1 MHz dan satu lagi untuk internal clock 8 Mhz.
File boards.txt pada sistem OS MS Windows dapat ditemukan di sub folder instalasinya misalnya D:\arduino-0022\hardware\arduino\boards.txt. Pada sistem GNU/Linux dapat ditemukan di tempat instalasinya misalnya di /home/sunu/arduino-0022hknix/hardware/arduino/boards.txt.
Baris konfigurasi yang perlu diubah atau ditambahkan (jika belum ada) adalah baris yang tertulis sebagai:
xxx.upload.using=nama_programmer
xxx.upload.protocol=nama_programmer
Misalnya:
USBtinyISP-ATtiny2313.upload.using=usbtiny
USBtinyISP-ATtiny2313.upload.protocol=usbtiny
atau
arduino_attiny2313.upload.using=usbasp
arduino_attiny2313.upload.protocol=usbasp
Berikut ini adalah konfigurasi yang saya buat untuk keperluan sistem saya, dapat dimodifikasi sesuai keperluan:
############################################################## USBtinyISP-ATtiny2313.name=USBtinyISP ATtiny2313 8 MHZ internal USBtinyISP-ATtiny2313.upload.using=usbtiny USBtinyISP-ATtiny2313.upload.protocol=usbtiny USBtinyISP-ATtiny2313.upload.maximum_size=2048 USBtinyISP-ATtiny2313.upload.speed=19200 USBtinyISP-ATtiny2313.bootloader.low_fuses=0x64 USBtinyISP-ATtiny2313.bootloader.high_fuses=0xdf USBtinyISP-ATtiny2313.bootloader.path=attiny45 USBtinyISP-ATtiny2313.bootloader.file=ATmegaBOOT.hex USBtinyISP-ATtiny2313.bootloader.unlock_bits=0x3F USBtinyISP-ATtiny2313.bootloader.lock_bits=0x0F USBtinyISP-ATtiny2313.build.mcu=attiny2313 USBtinyISP-ATtiny2313.build.f_cpu=8000000L USBtinyISP-ATtiny2313.build.core=arduino ############################################################## arduino_attiny2313.name=USBasp ATtiny2313 8 MHZ internal arduino_attiny2313.upload.using=usbasp arduino_attiny2313.upload.protocol=usbasp arduino_attiny2313.upload.maximum_size=2048 arduino_attiny2313.upload.speed=19200 arduino_attiny2313.bootloader.low_fuses=0x64 arduino_attiny2313.bootloader.high_fuses=0xdf arduino_attiny2313.bootloader.path=attiny45 arduino_attiny2313.bootloader.file=ATmegaBOOT.hex arduino_attiny2313.bootloader.unlock_bits=0x3F arduino_attiny2313.bootloader.lock_bits=0x0F arduino_attiny2313.build.mcu=attiny2313 arduino_attiny2313.build.f_cpu=8000000L arduino_attiny2313.build.core=arduino ############################################################## atmega8usbasp1mhz.name=ATmega8 tanpa bootloader 1 MHz (USBasp) atmega8usbasp1mhz.upload.using=usbasp atmega8usbasp1mhz.upload.protocol=usbasp atmega8usbasp1mhz.upload.maximum_size=8192 atmega8usbasp1mhz.upload.speed=19200 atmega8usbasp1mhz.build.mcu=atmega8 atmega8usbasp1mhz.build.f_cpu=1000000L atmega8usbasp1mhz.build.core=arduino ############################################################## atmega8usbasp8mhz.name=ATmega8 tanpa bootloader 8 MHz (USBasp) atmega8usbasp8mhz.upload.using=usbasp atmega8usbasp8mhz.upload.protocol=usbasp atmega8usbasp8mhz.upload.maximum_size=8192 atmega8usbasp8mhz.upload.speed=19200 #catatan -U lfuse:w:0xE4 #catatan -U hfuse:w:0xD9 atmega8usbasp8mhz.build.mcu=atmega8 atmega8usbasp8mhz.build.f_cpu=8000000L atmega8usbasp8mhz.build.core=arduino ############################################################## atmega8.name=Arduino NG or older w/ ATmega8 atmega8.upload.protocol=stk500 atmega8.upload.maximum_size=7168 atmega8.upload.speed=19200 atmega8.bootloader.low_fuses=0xdf atmega8.bootloader.high_fuses=0xca atmega8.bootloader.path=atmega8 atmega8.bootloader.file=ATmegaBOOT.hex atmega8.bootloader.unlock_bits=0x3F atmega8.bootloader.lock_bits=0x0F atmega8.build.mcu=atmega8 atmega8.build.f_cpu=16000000L atmega8.build.core=arduino ############################################################## atmega16_1Mhz_dalam.name=Atmega16 1 MHz internal atmega16_1Mhz_dalam.upload.using=usbasp atmega16_1Mhz_dalam.upload.protocol=usbasp atmega16_1Mhz_dalam.upload.maximum_size=16384 atmega16_1Mhz_dalam.upload.speed=57600 #catatan -U lfuse:w:0xE1 #catatan -U hfuse:w:0x99 atmega16_1Mhz_dalam.build.mcu=atmega16 atmega16_1Mhz_dalam.build.f_cpu=1000000L atmega16_1Mhz_dalam.build.core=arduino ############################################################## arduino_atmega16.name=Arduino-Atmega16 arduino_atmega16.upload.protocol=stk500v2 arduino_atmega16.upload.maximum_size=14336 arduino_atmega16.upload.speed=57600 arduino_atmega16.bootloader.low_fuses=0xE4 arduino_atmega16.bootloader.high_fuses=0x98 arduino_atmega16.bootloader.extended_fuses=0xFF arduino_atmega16.bootloader.path=atmega arduino_atmega16.bootloader.file=ATmegaBOOT_168_atmega16.hex arduino_atmega16.bootloader.unlock_bits=0x3F arduino_atmega16.bootloader.lock_bits=0x0F arduino_atmega16.build.mcu=atmega16 arduino_atmega16.build.f_cpu=8000000L arduino_atmega16.build.core=arduino ############################################################## atmega32_no_boot_1MHz.name=ATmega32 1 MHz internal atmega32_no_boot_1MHz.upload.using=usbasp atmega32_no_boot_1MHz.upload.protocol=usbasp atmega32_no_boot_1MHz.upload.maximum_size=32768 atmega32_no_boot_1MHz.upload.speed=57600 #catatan -U lfuse:w:0xE1 #catatan -U hfuse:w:0x99 atmega32_no_boot_1MHz.build.mcu=atmega32 atmega32_no_boot_1MHz.build.f_cpu=1000000L atmega32_no_boot_1MHz.build.core=arduino ############################################################## atmega32_no_boot_8MHz.name=ATmega32 8 MHz internal atmega32_no_boot_8MHz.upload.using=usbasp atmega32_no_boot_8MHz.upload.protocol=usbasp atmega32_no_boot_8MHz.upload.maximum_size=28672 atmega32_no_boot_8MHz.upload.speed=57600 #catatan -U lfuse:w:0xE4 #catatan -U hfuse:w:0x99 atmega32_no_boot_8MHz.build.mcu=atmega32 atmega32_no_boot_8MHz.build.f_cpu=8000000L atmega32_no_boot_8MHz.build.core=arduino ############################################################## arduino_penguino_avr.name=Arduino-Penguino AVR arduino_penguino_avr.upload.protocol=stk500v2 arduino_penguino_avr.upload.maximum_size=28672 arduino_penguino_avr.upload.speed=57600 arduino_penguino_avr.bootloader.low_fuses=0xFF arduino_penguino_avr.bootloader.high_fuses=0xDA arduino_penguino_avr.bootloader.extended_fuses=0x05 arduino_penguino_avr.bootloader.path=atmega arduino_penguino_avr.bootloader.file=stk500boot_v2_penguino.hex arduino_penguino_avr.bootloader.unlock_bits=0x3F arduino_penguino_avr.bootloader.lock_bits=0x0F arduino_penguino_avr.build.mcu=atmega32 arduino_penguino_avr.build.f_cpu=16000000L arduino_penguino_avr.build.core=arduino ############################################################## uno.name=Arduino Uno uno.upload.protocol=stk500 uno.upload.maximum_size=32256 uno.upload.speed=115200 uno.bootloader.low_fuses=0xff uno.bootloader.high_fuses=0xde uno.bootloader.extended_fuses=0x05 uno.bootloader.path=optiboot uno.bootloader.file=optiboot_atmega328.hex uno.bootloader.unlock_bits=0x3F uno.bootloader.lock_bits=0x0F uno.build.mcu=atmega328p uno.build.f_cpu=16000000L uno.build.core=arduino ############################################################## mega2560.name=Arduino Mega 2560 mega2560.upload.protocol=stk500v2 mega2560.upload.maximum_size=258048 mega2560.upload.speed=115200 mega2560.bootloader.low_fuses=0xFF mega2560.bootloader.high_fuses=0xD8 mega2560.bootloader.extended_fuses=0xFD mega2560.bootloader.path=stk500v2 mega2560.bootloader.file=stk500boot_v2_mega2560.hex mega2560.bootloader.unlock_bits=0x3F mega2560.bootloader.lock_bits=0x0F mega2560.build.mcu=atmega2560 mega2560.build.f_cpu=16000000L mega2560.build.core=arduino ############################################################## arduino_atmega8515.name=Arduino-ATmega8515 arduino_atmega8515.upload.using=usbtinyisp arduino_atmega8515.upload.protocol=stk500 arduino_atmega8515.upload.maximum_size=8192 arduino_atmega8515.upload.speed=19200 arduino_atmega8515.bootloader.low_fuses=0xdf arduino_atmega8515.bootloader.high_fuses=0xca arduino_atmega8515.bootloader.path=atmega arduino_atmega8515.bootloader.file=ATmegaBOOT.hex arduino_atmega8515.bootloader.unlock_bits=0x3F arduino_atmega8515.bootloader.lock_bits=0x0F arduino_atmega8515.build.mcu=atmega8515 arduino_atmega8515.build.f_cpu=16000000L arduino_atmega8515.build.core=arduino ############################################################## arduino_atmega8535.name=Arduino-Test-Atmega8535 arduino_atmega8535.upload.protocol=stk500v2 arduino_atmega8535.upload.maximum_size=7168 arduino_atmega8535.upload.speed=38400 arduino_atmega8535.bootloader.low_fuses=0xEC arduino_atmega8535.bootloader.high_fuses=0x18 arduino_atmega8535.bootloader.extended_fuses=0xFD arduino_atmega8535.bootloader.path=atmega arduino_atmega8535.bootloader.file=stk500boot_v2_notdefined.hex arduino_atmega8535.bootloader.unlock_bits=0x3F arduino_atmega8535.bootloader.lock_bits=0x0F arduino_atmega8535.build.mcu=atmega8535 arduino_atmega8535.build.f_cpu=16000000L arduino_atmega8535.build.core=arduino ############################################################## atmega328.name=Arduino Duemilanove or Nano w/ ATmega328 atmega328.upload.protocol=stk500 atmega328.upload.maximum_size=30720 atmega328.upload.speed=57600 atmega328.bootloader.low_fuses=0xFF atmega328.bootloader.high_fuses=0xDA atmega328.bootloader.extended_fuses=0x05 atmega328.bootloader.path=atmega atmega328.bootloader.file=ATmegaBOOT_168_atmega328.hex atmega328.bootloader.unlock_bits=0x3F atmega328.bootloader.lock_bits=0x0F atmega328.build.mcu=atmega328p atmega328.build.f_cpu=16000000L atmega328.build.core=arduino ############################################################## diecimila.name=Arduino Diecimila, Duemilanove, or Nano w/ ATmega168 diecimila.upload.protocol=stk500 diecimila.upload.maximum_size=14336 diecimila.upload.speed=19200 diecimila.bootloader.low_fuses=0xff diecimila.bootloader.high_fuses=0xdd diecimila.bootloader.extended_fuses=0x00 diecimila.bootloader.path=atmega diecimila.bootloader.file=ATmegaBOOT_168_diecimila.hex diecimila.bootloader.unlock_bits=0x3F diecimila.bootloader.lock_bits=0x0F diecimila.build.mcu=atmega168 diecimila.build.f_cpu=16000000L diecimila.build.core=arduino ##############################################################
Saya melakukan modifikasi pada file boards.txt agar tampilan daftar pilihannya tidak terlalu panjang dan berisi penuh konfigurasi yang hampir tidak pernah saya pergunakan. Jika suatu hari nanti perlu ditambah atau dimodifikasi ulang toh caranya sangat gampang.
File boards.txt maupun file programmers.txt yang berada di folder/direktori yang sama telah saya upload di sini. File programmers.txt perlu dimodifikasi jika anda ingin membakar/download bootloader dengan papan selain turunan papan arduino. Misalnya jika ingin menggunakan programmer USBasp atau USBtinyISP.
Demikianlah, selamat mencoba. Silahkan melihat ke semua link (tautan) di tulisan di atas dan daftar referensi berikut:
– http://www.avr-developers.com/corefiles/index.html
– http://www.avr-developers.com/cputable.html
– http://www.arduino.cc/en/Hacking/Programmer
– http://tutorial.cytron.com.my/2011/09/30/how…
– http://blog.lincomatic.com/?p=10
– http://todbot.com/blog/2009/05/26/minimal-arduino-with-atmega8/
– mengatasi-masalah-uploading-arduino-mega-2560-di-linux-ubuntu
Written by sunupradana
November 20, 2011 at 1:56 am
Posted in Electronics, Embedded Systems, Komputer, Technology
22 Responses
Subscribe to comments with RSS.
Informatif, keren, berguna banget mas 🙂
v13k
December 5, 2011 at 8:56 pm
Hi, terima kasih sudah mampir. Mari berbagi dan meneruskan informasi … karena hidup singkat ini cuma satu kali 🙂 .
sunupradana
December 6, 2011 at 3:46 pm
Keren, kalau saya pakai DT-AVR Low Cost Micro System dgn kristal 11,0592 MHz dgn downloader DT-HiQ AVR usb dari innovative. Setingnya gimana? Terus pin A, B, C, D gimanA?
Mohon dijelaskan agak detail, karena saya tidak begitu paham mikrokontroler.
zhafar
December 18, 2011 at 8:47 am
Hi.
Dari beberapa downloader yang langsung didukung oleh aplikasi Avrdude (maupun downloader yang kompatibel) saya hanya menggunakan dua, yaitu USBasp & USBtinyISP. Saya tidak mencoba (karenanya tidak tahu) apakah downloader anda kompatibel dengan Avrdude.
Seperti yang saya tulis, prinsip dasar sederhananya adalah bagaimana cara anda bisa download file hex hasil IDE ke sistem anda. Sebagai awal bisa lihat di sini:
http://smileymicros.com/blog/2011/02/10/where-is-the-arduino-hex-file/
http://www.arduino.cc/en/Hacking/BuildProcess
File hex hasil “kompilasi” IDE bisa di-download dengan software & hardware apa saja ke uC yang sesuai.
Untuk pilihan uC yang sesuai silahkan dilihat lagi di tulisan. Untuk port / pin mapping sampai sekarang belum tuntas saya coba, karena harus berbagi waktu & konsentrasi untuk menyelesaikan yang lain. Sekedar awal untuk mungkin anda bisa coba sendiri bisa di lihat di sini:
https://pikirsa.wordpress.com/2011/11/20/pinmapping-pin-layout-arduino/
Maaf sampai saat ini saya belum bisa menyajikan detail / menjawab semua pertanyaan. Saya share apa yang sudah bisa saya bagi. Silahkan hunting dengan Google & Bing dengan kata kunci dari tulisan & link yang ada. Selamat berburu
sunupradana
December 18, 2011 at 9:36 am
Terima kasih saya coba cari, tapi saya lihat untuk atmega16 mas menggunakan board buatan innovative. itu menngunakan setingan berikut atau bukan?
##############################################################
arduino_atmega16.name=Arduino-Atmega16
arduino_atmega16.upload.protocol=stk500v2
arduino_atmega16.upload.maximum_size=14336
arduino_atmega16.upload.speed=57600
arduino_atmega16.bootloader.low_fuses=0xE4
arduino_atmega16.bootloader.high_fuses=0x98
arduino_atmega16.bootloader.extended_fuses=0xFF
arduino_atmega16.bootloader.path=atmega
arduino_atmega16.bootloader.file=ATmegaBOOT_168_atmega16.hex
arduino_atmega16.bootloader.unlock_bits=0x3F
arduino_atmega16.bootloader.lock_bits=0x0F
arduino_atmega16.build.mcu=atmega16
arduino_atmega16.build.f_cpu=8000000L
arduino_atmega16.build.core=arduino
Regards,
zhafar
zhafar
December 18, 2011 at 11:37 am
Mas boleh saya minta info, pada saat menggunakan atmega16 dan 32 mas menggunakan board apa? kabel datanya apa? settingannya apa?
Kemarin saya coba kadang mau kadang tidak, mungkin masalahnya di Win7 64bit yg saya gunakan atau di downloader DT-HiQ AVR usb dari innovative.
Setting yg saya gunakan :
##############################################################
arduino_atmega8535.name=Arduino-Test-Atmega8535
arduino_atmega8535.upload.protocol=stk500v2
arduino_atmega8535.upload.maximum_size=7168
arduino_atmega8535.upload.speed=115200
arduino_atmega8535.bootloader.low_fuses=0xEC
arduino_atmega8535.bootloader.high_fuses=0x18
arduino_atmega8535.bootloader.extended_fuses=0xFD
arduino_atmega8535.bootloader.path=atmega
arduino_atmega8535.bootloader.file=stk500boot_v2_notdefined.hex
arduino_atmega8535.bootloader.unlock_bits=0x3F
arduino_atmega8535.bootloader.lock_bits=0x0F
arduino_atmega8535.build.mcu=atmega8535
arduino_atmega8535.build.f_cpu=11059200L
arduino_atmega8535.build.core=arduino
arduino_atmega8535.upload.speed=115200, karena speed kabel data saya 115200
arduino_atmega8535.build.f_cpu=11059200L, karena kristal yg saya gunakan di sistem 11059200 Hz
Program yg saya gunakan contoh program blink dari arduino di pin 13 dan di pin 0, bbrp kali jalan.
Tapi setelah itu tidak bisa lagi gagal di proses upload
Pesan Errornya :
Binary sketch size: 958 bytes (of a 7168 byte maximum)
avrdude: verification error, first mismatch at byte 0x0110
0x8d != 0x84
avrdude: verification error; content mismatch
Sewaktu berhasil, saya peroleh
Arduino AVR
pin0 PINA.0
pin13 PINB.5
Terima kasih
zhafar
December 19, 2011 at 7:12 am
Semua skrip saya copy-paste ke board.txt, supaya gampang pilih programmer nantinya. Kadang saya pakai
atmega16_1Mhz_dalam.name=Atmega16 1 MHz internal
kadang saya pakai pilihan
arduino_atmega16.name=Arduino-Atmega16
,seingat saya bisa semuanya.
Untuk ATmega16, seperti terlihat di foto, saya gunakan papan programmaer USBasp yang versi dua soket IC. Silahkan pelajari di situs USBasp untuk versi-versi programmer mereka. Untuk ATmega32, seperti terlihat di foto dan yang sudah anda amati, saya gunakan papan dari Innovative. Tetapi programmernya saya gunakan USBasp (versi port ISP, bukan dual soket). Saya tidak menggunakan programmer DT-HiQ. Soal pilihan setting bisa lihat kembali foto di tulisan ( http://goo.gl/DfhBi ).
Pesan avrdude: verification error; content mismatch , AFAIK, umumnya menunjukkan gagal tulis. Kalau sistem anda (minimum system + programmer) kemudian ternyata tetap berfungsi baik dengan cara penulisan bawaannya (bukan menggunakan Arduino IDE) maka kemungkinan besar DT-HiQ tidak kompatibel dengan avrdude. Tapi ini spekulasi, saya belum mencoba sendiri. Saya tidak tahu apakah ada padanan DT-HiQ dengan nama lain di avrdude.
Saya cuma pernah sesekali coba win7 milik teman, jadi saya sama sekali tidak paham OS itu. Apalagi jika duhubungkan dengan DT-HiQ, saya tidak/belum mengerti. Kalau anda berhasil tinkering/hacking dengan konfigurasi itu, bolehlah dibagi nanti.
Trims juga sudah mampir, selamat tinkering -> sharing.
sunupradana
December 19, 2011 at 12:13 pm
Hebat mas… tulisannya keren dan mencantumkan sumber serta memberi kredit kepada orang lain yang “berjasa”. Jadi terinspirasi 😀
SIP!!
July 27, 2012 at 7:45 pm
mas saya mau tanya,
beberapa waktu lalu saya membuat sebuah minsys atmega8 dengan crystal 16MHZ, menggunakan capacitor 22pf,
lalu mengikuti petunjuk dari website ini, dan saya melakukan konfigurasi pada board.txt yang ada pada hardware,
konfigurasinya sbb,
atmega8usbasp.name=Arduino USBasp
atmega8usbasp.upload.protocol=usbasp
atmega8usbasp.upload.using=usbasp
atmega8usbasp.upload.maximum_size=8192
atmega8usbasp.upload.speed=19200
-U lfuse:w:0x2f:m -U hfuse:w:0xc1:m
atmega8usbasp.build.mcu=atmega8
atmega8usbasp.build.f_cpu=16000000L
atmega8usbasp.build.core=arduino
tapi terjadi kendala ketika sudah dilakukan upload via usbasp ke minsys atmega8 saya ternyata timbul masalah, sketch yang terupload tidak bekerja secara sempurna,,
mohon bantuannya,
jefri
October 10, 2012 at 4:47 pm
Halo. Wah, sy sudah agak lama tidak berkutat dengan sistem Arduino. Sy juga sdg tidak bisa mereproduksi sistem anda sekarang. Cuma ada sedikit pengalaman saat pertama mencoba-coba. Sy biasanya mengikuti sedekat mungkin dengan contoh yang sudah berhasil. Jika masih gagal biasanya itu karena jalur di PCB saya tidak bagus. Kalau masalah setting software, biasanya ada semacam peringatan.
Selain saya usul untuk mencoba mengikuti penuh konfigurasi yang sudah saya coba dan sudah saya tulis artikel ini ada beberapa artikel lain yang mungkin bisa menginspirasi.
+ http://achuwilson.wordpress.com/2011/12/15/arduino-ide-for-programming-atmega-microcontrollers/
+ http://arduino.cc/forum/index.php?topic=92925.0;wap2
+ http://www.microcodes.info/problem-with-burning-usbasp-bootloader-to-atmega8-with-arduino-145155.html
Demikian, maaf kalau belum bisa banyak membantu.
sunupradana
October 11, 2012 at 9:43 am
tiga link diatas juga sudah membantu mas,
saya hobist bukan aktivis mikro.
hehehehehehe
terima kasih banyak.
salam kenal.
jefri
October 11, 2012 at 6:48 pm
Ok, trims sudah mampir. Saya jg merasa lebih banyak belajar dari Internet. Selamat belajar dan berbagi juga, sesama pelajar “abadi” 😀 Salam kenal juga
sunupradana
October 11, 2012 at 10:02 pm
saya mau tanya.
saya menggunakan sismin atmega 16 dengan kristal 1200MHz.
pi ketika saya upload malah begi katanya :
“Binary sketch size: 1000 bytes (of a 16384 byte maximum)
avrdude: error: could not find USB device “USBasp” with vid=0x16c0 pid=0x5dc”
maksudnya avrdude apa ya mas?
pada file boards.txt saya ikuti punya mas sunu tetapi cuma kristalnya aj saya ganti.
##############################################################
atmega16_1Mhz_dalam.name=Atmega16 1 MHz internal
atmega16_1Mhz_dalam.upload.using=usbasp
atmega16_1Mhz_dalam.upload.protocol=usbasp
atmega16_1Mhz_dalam.upload.maximum_size=16384
atmega16_1Mhz_dalam.upload.speed=57600
#catatan -U lfuse:w:0xE1
#catatan -U hfuse:w:0x99
atmega16_1Mhz_dalam.build.mcu=atmega16
atmega16_1Mhz_dalam.build.f_cpu=1200000L
atmega16_1Mhz_dalam.build.core=arduino
rahmi
February 20, 2013 at 4:39 pm
Maaf saya baru reply…dan maaf juga sampai sekarang ini belum bisa merekonstruksi percobaan anda. Saya belum mengutak-atik Arduino lagi, jadi saya belum bisa menjawab, nah semoga ada rekan-rekan lain yang bisa membantu.
Kalau memang sebelum kristalnya diganti anda sudah mencoba dan berhasil, lalu setelah kristalnya diganti sistemnya gagal detect dan ketika dikembalikan lagi kristal awalnya lalu ternyata kembali berhasil, maka memang ada kemungkinan besar masalahnya ada pada kristal. Asal; change one time at a time. Dulu seingat saya, saya pernah mencoba dengan versi software arduino yang versi 1, malah gagal. Padahal untuk versi Arduino 0022 berhasil. Kasus seperti ini sepertinya pernah dibahas di beberapa forum. Lalu pernah juga mesin saya bermasalah, setelah PCnya direstart port USBnya dikenali lagi.
Demikian, semoga bisa menjadi awal pencarian…atau malah jika sudah berhasil diatasi masalahnya mohon di-share pengalamannya. Setidaknya dibagi link ke blog anda.
sunupradana
February 26, 2013 at 9:04 pm
saya minta info nya mas… saya nyoba bikin sendiri board atmega8, crystal yang saya pake 12Mhz… saya pake program arduino 0022, bagian yang mana yang harus saya rubah dari program arduino supaya suport dengan crystal 12Mhz.
Setyo Wardoyo
April 10, 2013 at 11:37 pm
Kalau saya tidak salah ingat, paling tidak yang diubah adalah bagian build.f_cpu pada file boards.txt. Sebagai perbandingan dan instpirasi silahkan kalau berkenan menuju situs-situs berikut:
http://nirzaree.wordpress.com/2012/03/07/make-a-standalone-atmega8-circuit/
http://todbot.com/blog/2009/05/26/minimal-arduino-with-atmega8/
http://jethomson.wordpress.com/2011/08/18/project-ouroboros-reflashing-a-betemcu-usbasp-programmer/
Click to access DuinoThumb%20V2.pdf
http://www.fs-ist.de/fileadmin/user_upload/MikrocontrollerWorkshop/boards.txt
https://github.com/akhilvasvani/WeatherStationMan/blob/master/Boards/boards.txt
https://github.com/baerwolf/USBaspLoader/issues/5
Semoga mendapat jawaban lebih lengkap. Paling tidak saya yakin akan lebih baik dari saya sekarang ini yang sudah berbulan-bulan tidak ngoprek sistem *duino 🙂
sunupradana
April 11, 2013 at 6:04 pm
arduino_atmega8535.name=Arduino-Test-Atmega8535
arduino_atmega8535.upload.protocol=stk500v2
arduino_atmega8535.upload.maximum_size=7168
arduino_atmega8535.upload.speed=38400
arduino_atmega8535.bootloader.low_fuses=0xEC
arduino_atmega8535.bootloader.high_fuses=0x18
arduino_atmega8535.bootloader.extended_fuses=0xFD
arduino_atmega8535.bootloader.path=atmega
arduino_atmega8535.bootloader.file=stk500boot_v2_notdefined.hex
arduino_atmega8535.bootloader.unlock_bits=0x3F
arduino_atmega8535.bootloader.lock_bits=0x0F
arduino_atmega8535.build.mcu=atmega8535
arduino_atmega8535.build.f_cpu=16000000L
arduino_atmega8535.build.core=arduino
mas, mau tanya, file stk500boot_v2_notdefined.hex di arduino_extras yg saya download diatas kok ga ada ya? yang ada stk500boot_v2_bahbots1284.hex dan stk500boot_v2_mega2560.hex. jadi untuk ATmega8535 pake file hex yang mana?
thanks jawabannya ^^
reno
July 21, 2013 at 2:39 pm
Trims sudah mampir mas reno. Ya saya baru lihat lagi direktori Arduino saya, maklum sudah lama tidak mencoba lagi. Ya memang saya juga tidak menemukan file itu di sana. Saya lupa dengan apa dulu saya mencoba atmega8535.
Ini ada kemungkinan solusi, walau saya belum coba. Untuk bootloader-nya saya Googling ada yang seperti ini, mudah-mudahan bisa.
Lihat:
prisme2b.bootloader.file=optiboot_atmega8535_8MHz_9600.hex
di >> https://github.com/Robopoly/Arduino/blob/master/hardware/Prisme2/boards.txt
File-file hex-nya ada di >> https://github.com/Robopoly/Arduino/tree/master/hardware/Prisme2/bootloaders/optiboot
Web page >> http://robopoly.epfl.ch/prisme/programming
Demikian yang sejauh ini bisa saya temukan dari Googling, silahkan dioprek. Kalau bisa pengalamannya dibagi nanti ya, trims
sunupradana
July 23, 2013 at 4:24 am
wah mantap ini mas
anotherorion
April 1, 2014 at 6:16 pm
nice post mas,
bila berkenan mampir ke blog saya
Suwardana
March 3, 2015 at 5:23 am
Klo pakai windows bisa nggak.trus cara compile ke hardwere gmana
auliyah
December 15, 2015 at 6:36 am
mas maaf saya nuwbie, kalo pake at89s51/52 itu gimana??
agum
February 12, 2016 at 12:09 am