Introduction: Uploading Sketch to Arduino Pro Mini Using UsbASP

In this bilingual tutorial (English and Indonesian, Indonesian version below separator line with italic style), we will learn how to upload sketch ("sketch" is term for program code written for Arduino) to Arduino Pro Mini device using popular usbASP programmer.

In this tutorial, we will use a breadboard and 6 pieces of male-to-male prototyping jumper cable for connecting usbASP and Arduino Pro Mini. Picture on above is snapshot of equipments we should prepare. Note that male pin headers are already soldered into the Pro Mini board, if they come unsoldered please solder them first with vertical (short side) aligned pins placed above the board so you can plug it into breadboard without being blocked.

_________________________________________

Dalam panduan dwi-bahasa (bahasa Inggris dan Indonesia, versi bahasa Indonesia ditulis miring di bawah garis pemisah) ini, kita akan mempelajari cara mengunggah sketsa ("sketsa" adalah istilah untuk kode program yang ditulis untuk Arduino) ke perangkat Arduino Pro Mini menggunakan alat pengunggah usbASP yang populer.

Pada panduan ini kita akan menggunakan papan pengembang purnarupa dan 6 utas kabel jantan-ke-jantan untuk menghubungkan usbASP dengan Arduino Pro Mini. Gambar di atas adalah foto dari peralatan yang perlu kita siapkan. Perhatikan bahwa pin header jantan sudah tersolder pada papan Pro Mini, bila belum silakan solder pin header tersebut terlebih dahulu dengan pin yang sejajar dengan sisi vertikal (sisi pendek) diletakkan di bagian atas papan sehingga papan Pro Mini ini bisa dipasangkan di atas breadboard tanpa terhalang.

Step 1: Plug the Wiring Cables

usbASP usually come with IDC-10 connector cable. We will simply plug prototyping wires to it's header block. This way we won't need any conversion board, just those plain cheap wiring cables. We will use six different colors as follow:

  • Red: Vcc (from positive power supply rail)
  • Black: GND (ground rail)
  • Blue: RST (reset)
  • Green: MOSI (SPI's master output)
  • Orange: MISO (SPI's master input)
  • Yellow: SCK (SPI's sync serial clock signal)

Put extra attention on this step to avoid miswiring. Hold the IDC-10 connector header in a way that it's 1st cable (marked with red stripe) is placed on the top with the cable ribbon come from left hand side. On the header block there is a key latch (extruded plastic on the center), it should be on right hand side. See picture above for clarity.

Plug the prototyping wire pins as follow with IDC-10 connector block holes upfront (facing you) following this sequence:

  1. Red cable (Vcc) to top-left hole
  2. Green cable (MOSI) to top-right hole so it's plugged right beside the previous plugged red
  3. Blue cable (RST) on the center of right side (interleaving one hole below the previous plugged green)
  4. Yellow cable (SCK) right below the previous plugged blue
  5. Orange cable (MISO) on bottom-right hole, right below the previous plugged yellow
  6. Black cable (GND) on the bottom-left hole, on the left of previous plugged orange

_________________________________________

usbASP biasanya dilengkapi dengan kabel koneksi IDC-10. Untuk mudahnya kita akan memasangkan langsung kabel purnarupa yang tersedia langsung pada kepala konektor tersebut dengan demikian tidak perlu menggunakan papan konversi tambahan, cukup dengan keenam kabel berharga murah tersebut. Kita akan menggunakan enam warna berbeda dengan rincian sebagai berikut:

  • Merah: Vcc (dari jalur catu daya positif)
  • Hitam: GND (jalur bumi)
  • Biru: RST (reset)
  • Hijau: MOSI (sinyal keluaran pada protokol SPI)
  • Oranye: MISO (sinyal masukan pada protokol SPI)
  • Kuning: SCK (sinyal sinkronisasi serial pada protokol SPI)

Berikan perhatian ekstra pada langkah ini untuk menghindari kesalahan pemasangan kabel. Pegang kepala konektor IDC-10 sedemikian rupa sehingga kabel pertamanya (ditandai dengan garis merah) berada pada sebelah atas dengan pita kabel datang dari sisi kiri. Pada kepala konektor terdapat lekuk pengunci (plastik yang menyembul pada bagian tengah), lekuk tersebut harus berada di sebelah kanan. Untuk jelasnya lihat gambar di atas.

Pasangkan pin dari kabel purnarupa ke lubang dengan kepala konektor IDC-10 tersebut menghadap ke atas (menhadap Anda) mengikuti urutan berikut:

  1. Kabel merah (Vcc) pada lubang paling kiri atas
  2. Kabel hijau (MOSI) pada lubang paling kanan atas sehingga terpasang tepat di sebelah kanan kabel merah yang dipasangkan sebelumnya
  3. Kabel biru (RST) pada baris tengah kolom kanan, terselang satu lubang kosong di bawah kabel hijau
  4. Kabel kuning (SCK) tepat di bawah kabel biru
  5. Kabel oranye (MISO) di lubang paling kanan bawah, tepat di bawah kabel kuning
  6. Kabel hitam (GND) di lubang paling kiri bawah bersebelahan dengan kabel oranye

Step 2: Connecting to Arduino Pro Mini

After having those six prototyping wires connected to usbASP, next step is to connect those wires to Arduino Pro Mini board. Plug Pro Mini onto prepared breadboard, long side aligned. It should be plugged accross separation line on the center so the upper row and bottom row are placed each in different section of the breadboard.

Push Pro Mini board firmly, beware not to push the board on it's delicated components (pushing your thumbs on tin bulb on the soldered pad would be alright, make sure your fingers are dry).

Now connect the colored wires to their corresponding pins (label should be readable on Pro Mini's board):

  • Black wire to GND pin
  • Blue wire to RST pin
  • Red wire to Vcc pin
  • Yellow wire to pin #13 (Arduino's digital pin 13)
  • Orange wire to pin #12 (Arduino's digital pin 12)
  • Green wire to pin #11 (Arduino's digital pin 11)

_________________________________________

Setelah selesai menghubungkan kabel purnarupa dengan usbASP, langkah selanjutnya adalah menghubungkan kabel-kabel tersebut ke papan Arduino Pro Mini. Pasangkan Pro Mini di atas papan pengembang purnarupa (breadboard) yang sudah kita siapkan dengan sisi panjang dari Pro Mini terpasang sejajar dengan sisi panjang breadboard. Perhatikan bahwa pemasangan baris atas dan baris bawah pin header harus berseberangan melewati jalur pemisah sehingga kedua baris tersebut berada pada bagian yang terpisah secara vertikal.

Tekan papan Pro Mini secara perlahan hingga pin terbenam sempurna, hati-hati jangan menekan pada komponen yang terpasang di permukaan papan tersebut (Anda dapat menekan menggunakan jempol pada timah solder di pinggir papan, pastikan jari tangan Anda dalam keadaan kering).

Hubungkan kabel dengan pin berkaitan dari Pro Mini, nama pin seharusnya dapat terbaca dengan jelas pada permukaan papan Pro Mini:

  • Kabel hitam ke pin GND
  • Kabel biru ke pin RST
  • Kabel merah ke pin Vcc
  • Kabel kuning ke pin #13 (pin digital 13 dari Arduino)
  • Kabel oranye ke pin #13 (pin digital 12 dari Arduino)
  • Kabel hijau ke pin #11 (pin digital 11 dari Arduino)

Step 3: Plug UsbASP to Your Computer's USB Port

Now we are ready to upload your sketch. Plug usbASP so computer's USB Port. A light (usually red) on usbASP should be lit, showing that usbASP is receiving power and ready to program.

Because your Pro Mini is already connected, it also receive supplied power through usbASP. Pro Mini come pre-programmed with blinking LED, you should see a LED flashing with one second interval.

Note that there are several version of usbASP circulated on the market today. Like all USB devices, they need driver to function properly. Some version are programmed to act as generic USB HID and need no custom driver (already installed as default driver by operating system), some need specific driver to be downloaded and installed manually. Please consult the vendor from whom you bought your usbASP device for specific instruction.

_________________________________________

Sekarang kita siap untuk mengunggah sketsa / kode program. Colokkan usbASP ke rongga USB pada komputer Anda. LED indikator (biasanya berwarna merah) pada usbASP akan menyala menandakan usbASP mendapatkan catu daya dan siap untuk beroperasi.

Karena Pro Mini sudah tersambungkan lewat kabel yang kita pasang sebelumnya, papan tersebut juga menerima catu daya yang disalurkan oleh usbASP. Saat diproduksi, usbASP sudah diisi program LED kelap-kelip oleh pabrik, bila Pro Mini Anda berfungsi dengan baik Anda bisa melihat LED berkedip nyala-mati dengan selang 1 detik.

Sebagai catatan, saat ini terdapat beberapa versi dari usbASP yang beredar di pasaran. Seperti peralatan USB lainnya, diperlukan driver untuk membuat peralatan ini berfungsi di komputer Anda. Beberapa versi diprogram untuk beroperasi sebagai peralatan USB HID generik yang tidak membutuhkan driver khusus (driver sudah terpasang secara default oleh sistem operasi), lainnya membutuhkan driver spesifik yang perlu diunduh dan dipasang secara manual. Hubungi toko yang menjual perangkat usbASP Anda untuk instruksi yang spesifik.

Step 4: Select Board Type on Arduino IDE

Open Arduino IDE software and load your code. For testing, you can load Blink sketch (menu: File - Examples - 01.Basics - Blink). and modify the interval to 3 seconds so you can confirm that your new code is overriding previous program.

By default Arduino IDE has Arduino Uno as default board. Change it to Arduino Pro Mini by accessing menu: Tools - Board - Arduino Pro or Pro Mini (5v, 16 MHz) w/ ATmega328.

_________________________________________

Buka kode program Anda pada piranti lunak Arduino IDE. Untuk pengujian, Anda dapat membuka sketsa Blink (menu: File - Examples - 01.Basics - Blink) dan ubah interval ke 3 detik sehingga Anda dapat mengkonfirmasi bahwa kode baru Anda sukses terunggah menimpa program sebelumnya.

Secara default Arduino Uno terpasang sebagai papan default pada Arduino IDE. Ubahlah ke Arduino Pro Mini dengan mengakses menu: Tools - Board - Arduino Pro or Pro Mini (5v, 16 MHz) w/ ATmega328.

Step 5: Select UsbASP As Programmer

We have to tell Arduino IDE that we use usbASP as our programmer. To do so, select it by accessing menu: Tools - Programmer - USBasp.

_________________________________________

Kita perlu memberi tahu Arduino IDE bahwa ita menggunakan usbASP sebagai programmer. Untuk itu, akses menu sebagai berikut: Tools - Programmer - USBasp.

Step 6: Upload Your Sketch

To upload your sketch through usbASP, do not hit usual upload button (one with arrow pointing right glyph) directly. Use menu instead: File - Upload Using Programmer.

As alternative, You can also use keyboard shortcut by pressing "U" key while holding Shift and Control keys together. Actually you can also use the usual upload button by holding Shift key down while clicking on the button.

Please wait a while while Arduino IDE compiling your sketch and invoke avrdude to upload compiled hex through usbASP.

Thank you for reading this instructable which made available by Vcc2GND.com technical team.

_________________________________________

Untuk mengunggah sketsa lewat usbASP, jangan tekan tombol upload seperti biasa secara langsung (tombol upload adalah tombol dengan gambar panah menghadap ke kanan). Anda dapat mengakses fungsi pengunggah lewat programmer dengan mengakses menu: File - Upload Using Programmer.

Sebagai alernatif, Anda juga dapat menggunakan kombinasi tombol keyboard dengan menekan tombol "U" saat menahan tombol Shift dan Control bersamaan. Sebenarnya Anda juga dapat menggunakan tombol upload biasa dengan menahan tombol Shift saat mengklik tombol tersebut.

Harap tunggu sebentar saat Arduino IDE mengkompulasi sketsa dan memanggil avrdude untuk mengunggah kode terkompilasi lewat usbASP.

Terima kasih untuk membaca panduan ini yang disediakan oleh tim teknis Vcc2GND.com.