«

»

Jan 04

Overhaul Arduino

Setelah fase pertama dari overhaul software Arduino, selesai di pertengahan 2009, dan diujicobakan di sejumlah kelas pelatihan yang diselenggarakan Padepokan Robot NEXT SYSTEM Bandung; di awal 2012, fase kedua dari proses overhaul tersebut berhasil dituntaskan, sekaligus melahirkan sebuah solusi inovatif.

Fase pertama berfokus pada porting software agar bisa mendukung sejumlah chip AVR yang lebih mudah didapat di pasaran lokal Indonesia, khususnya di sejumlah kota besar. Pada fase ini, kami fokus pada m8535/m16/m32, yang populasi penggunanya cukup besar di negeri ini. Setelah tiga bulan ngoprek, akhirnya, software berhasil memrogram chip dengan sempurna melalui perantaraan sebuah hardware programmer. Namun, proses penyempurnaan terus berlanjut, terus menerus, hingga tahun kedua. Support terhadap fitur yang dimiliki  m8535/m16/m32, secara perlahan namun pasti, ditambahkan, satu demi satu.

Sejumlah masukan muncul dari sejumlah praktek di kelas pelatihan Pemrograman Mikrokontroler AVR dan Aplikasinya dalam Robotika. Masukan demi masukan terus melengkapi fasilitas dari software. Dan setelah masa dua tahun, kami berani meng-claim bahwa software sudah siap untuk digunakan secara luas; dan menjadi pasangan yang ideal untuk board MikroAVR 🙂

Memasuki semester dua 2011, tim R&D fokus pada fase kedua dari pengembangan. Bagaimana melepas ketergantungan terhadap hardware programmer? Dengan sejumlah pertimbangan dan pengalaman, akhirnya kami memutuskan untuk menggunakan software bootloader yang berbeda dengan yang digunakan hardware Arduino. Kebetulan, dua tahun lalu, ada mahasiswa praktek di Padepokan Robot NEXT SYSTEM Bandung, yang diberi tugas untuk mengujicoba sejumlah software bootloader. Dan disimpulkan, ada satu produk open source yang cukup baik. Nah, produk inilah yang kami gunakan, dengan sejumlah penyesuaian di sejumlah bagian.

Tantangan berikutnya adalah, bagaimana menggabungkan software bootloader tsb. dengan software Arduino versi overhaul?

Untuk menjawabnya, mau tidak mau, harus membongkar software programmer yang diusung oleh software Arduino, yakni AVRDude.  Karena AVRDude mengusung semangat open source, maka source code ybs sahih untuk dibedah. Akhirnya, setelah penyesuaian di sejumlah bagian dan dilakukan recompile, software programmer pun berhasil meng-upload file program. Dan setelah melewati sejumlah uji kehandalan dan kompatibilitas, software hasil overhaul yang satu ini pun lolos sertifikasi 🙂

Fase ketiga adalah menyediakan software uploader, untuk meng-upload file .hex yang dihasilkan oleh software lain. Dan fase ini dapat diselesaikan dengan cukup cepat, karena tim R&D memiliki pengalaman belasan tahun di bidang pemrograman. Sempat mengalami stagnan karena proses upload hanya berhasil satu kali saja. Ternyata, karena protokol yang digunakan berbeda, maka parameter yang digunakan pun harus disesuaikan.

Fase keempat adalah membuat board hardware final yang sederhana dan kompak, mengingat sejumlah eksperimen dilakukan dengan me-modifikasi sejumlah board sistem minimum. Harusnya, fase ini dapat diselesaikan dengan cepat, namun tetap harus hati-hati dan teliti.

Fase kelima adalah performance tuning. Beberapa bagian dari engine akan di-tune ulang dan melakukan langkah efisiensi. Targetnya adalah, ukuran binary code lebih kecil dan performa meningkat, dengan tetap mempertahankan kesederhanaan dalam penggunaannya.

Sebuah proses yang panjang, melelahkan, terkadang terbawa mimpi, namun membuahkan hasil yang manis nan memuaskan 🙂

NEXT SYSTEM
Padepokan Robot Bandung
ITC Kosambi Ruko F2
Jl. Baranang Siang 6-8
Bandung 40112
Tel. (022) 4222062, (022) 70775874

http://edukasi.nextsys.web.id