Mbed merupakan online development tool yang didesain khusus untuk ARM MCU. Untuk dapat menggunakan Mbed, kita tidak perlu lagi mendownload dan menginstall software IDE (Integrated Development Environment). Seluruh proses pemrograman dan compiling dilakukan melalui web browser, di Operating System apapun. Saat ini banyak development board ARM MCU yang telah dilengkapi fitur tanam USB bootloader, dimana board otomatis terdeteksi komputer sebagai USB flashdrive (contoh: STM32 Nucleo, Mbed LPCxx, BBC Micro:bit, dan banyak lainnya). Anda cukup memperbaharui firmware hanya dengan drag-n-drop firmware binary file ke drive MCU tersebut.
Dalam tutorial berikut akan diperlihatkan bagaimana mudahnya menggunakan Mbed sebagai online tool pemrograman ARM MCU.
STEP 1: Mempersiapkan Platform
Cara termudah untuk memulai pemrograman Mbed adalah menggunakan platform / board yang telah didukung oleh Mbed. Saat ini lebih dari 150 platform dari 13 vendors yang sudah masuk dalam daftar Mbed. Angka ini tentu akan semakin bertambah, seiring dengan munculnya produk ARM MCU baru oleh vendor.
List platform secara lengkap dapat ditemui di tautan berikut:
https://os.mbed.com/platforms/

Gambar 1. Mbed enabled boards dan ratusan boards lainnya dapat di akses di mbed.org
Selain daftar board yang ada di laman Platform Mbed, sangat dimungkinkan untuk membuat sendiri sebuah custom board, selama MCU yang digunakan sudah di-support oleh Mbed. Referensi desain skematik dan layout dapat dengan mudah kita dapatkan di internet.
STEP 2: Akses Mbed Online Developer Tool Website
Karena Mbed merupakan programming tool berbasis web, maka tool ini dapat digunakan di berbagai Operating System (OS) seperti Windows, Linux, ataupun Mac.
Developer tools Mbed dapat diakses melalui: https://os.mbed.com/
Dengan mengakses tautan diatas, anda akan menemui tampilan utama laman developer Mbed sebagai berikut:

Gambar 2. Laman depan developer mbed
STEP 3: Login / Signup ke Mbed Developer Website
Untuk dapat mengakses laman pemrograman tool Mbed, anda perlu untuk masuk / mendaftar terlebih dahulu. Pada laman developer, klik Log In / Signup pada Menu Bar.

Gambar 3. Log In/Signup Menu
Jika anda pernah mendaftar sebelumnya, maka anda dapat langsung masuk ke compiler. Namun jika belum, maka anda dapat mendaftar / Signup terlebih dahulu dengan cara mengisi username, email, dan password.

Gambar 4. Laman Login / Signup
Setelah berhasil login, username anda akan tertampil di Menu Bar. Anda dapat memulai pemrograman dengan cara mengakses (klik) laman Compiler pada Menu Bar di bagian atas website.

Gambar 5. Menu Bar Compiler untuk akses ke laman programming tool
Dengan mengakses Menu Bar Compiler, maka anda akan diarahkan ke area Workspace Mbed. Di Workspace inilah anda dapat melakukan seluruh proses pemrograman seperti file editing, compiling, software revision, dan lainnya.

Gambar 6. Workspace Management yang dapat diakses melalui Menu Bar Compiler
STEP 4: Menambahkan Platform / Board ke dalam Workspace
Apabila anda adalah pengguna baru Mbed, maka anda perlu meregistrasikan board terlebih dahulu ke akun Mbed anda.

Gambar 7. Menu Bar New untuk membuat program baru
Klik New untuk membuat program baru. Mbed akan secara otomatis memunculkan jendela dialog “Add Platform” di saat tidak ada platform yang ditemukan di akun anda.

Gambar 8. “Add Platform” jika belum ada Platform / Board yang terdaftar
Dengak klik tombol Add Platform maka anda akan diarahkan ke Laman Platform Mbed. Silahkan pilih Platform sesuai dengan hardware yang anda miliki. Untuk memudahkan penulisan tutorial ini, maka dipilih Nucleo-L432KC sebagai contoh platform. Anda dapat menggunakan Tutorial ini untuk berbagai platform lainnya.

Gambar 8. Memilih platform yang sesuai
Kemudian tambahkan platform pilihan kedalam daftar anda dengan cara klik tombol “Add to your mbed Compiler”.

Gambar 9. Add to your mbed Compiler untuk registrasi platform ke akun
Setelah platform berhasil ditambahkan, maka akan keluar notifikasi seperti pada gambar berikut:

Gambar 10. Notifikasi bahwa platform berhasil ditambahkan ke akun
Setelah mendapatkan notifikasi tersebut, maka anda dapat menemui pilihan platform tersebut pada laman Compiler. Pada step berikutnya akan diperlihatkan bagaimana cara membuat program blink dengan template yang telah disediakan oleh Mbed.
STEP 5: Membuat program LED Blinky sederhana
Untuk keperluan tutorial ini, maka kita akan mencoba membuat program LED sederhana dengan Mbed Online Compiler dan Nucleo L432-KC.
Pertama-tama akses kembali menu Compiler melalui tombol Compiler atau tautan berikut:
Dengan klik menu Bar “New” (Seperti pada gambar 7) maka akan muncul kotak dialog “Create New Program” seperti pada gambar berikut:

Gambar 11. Kotak dialog “Create New Program”
Secara default, anda akan menemui kotak dialog dengan parameter yang telah diisi untuk Blinky LED test. Centang “Update this program and libraries to latest revision” untuk memastikan program dan library yang digunakan adalah yang terbaru. Kemudian klik “OK” untuk membuat program baru.
Apabila pembuatan program baru selesai, maka anda dapat menemukan program dengan nama yang sudah kita tentukan, dalam hal ini bernama Nucleo_blink_led, pada Workspace “My Programs”. Rentangkan Program Nucleo_blink_led (klik lambang plus (+) disebelah kiri) dan kemudian akses file main.cpp dengan men-klik-nya 2x.

Gambar 12. Membuka main.cpp pada program blinky di Mbed Compiler
Program Nucleo_blink_led secara default akan berisi kode sederhana untuk menyalakan dan mematikan LED1 (Pin PB3 / D13) yang ada pada board Nucleo L432KC. Jika anda adalah pengguna Arduino, maka anda tentu merasa familiar dengan bahasa pemrograman yang digunakan oleh Mbed karena keduanya menggunakan bahasa C++ dengan style pemrograman yang mirip.
Untuk melakukan Compile, yakni proses mengubah source files program menjadi binary firmware, maka anda cukup klik Compile pada Menu Bar.

Gambar 13. Menu Bar Compile untuk memproses source program menjadi binary file (.bin)
Saat proses Compile berhasil, maka File firmware (.bin) akan terdownload melalui web browser.

Gambar 13. File Binary Firmware terdownload ke web browser (contoh: Google Chrome)
STEP 6: Update Firmware ke Platform
Melakukan Update Firmware ke Platform / Board pada STM32 Nucleo Board seperti Nucleo-L432KC sangatlah mudah. Anda tidak perlu lagi menyiapkan hardware Debugger / Downloader tambahan karena Seluruh STM32 Nucleo Board sudah terintegrasi dengan ST-Link Debugger. Yang anda butuhkan hanya Nucleo Board, Kabel USB, dan tentunya sebuah Komputer.

Gambar 14. Koneksi Nucleo Board dan Komputer via USB
Kemudian anda cukup mengoneksikan antara Nucleo Board dan Komputer dengan OS apapun (Windows, MacOS, Linux, dst). Proses update firmware dilakukan dengan cara menyalin (copy) file firmware (.bin) ke directory Nucleo Board.
Gambar 15 memperlihatkan Nucleo Board terdeteksi dengan nama NODE_L432KC di Drive D. Temukan file binary yang telah anda unduh melalui proses compiling Mbed (biasaya ada di dalam folder download). Kemudian cukup pindahkan file firmware tersebut (Drag and Drop) ke dalam directory Nucleo Board (contoh: NODE_L432KC).

Gambar 15. Drag and Drop Firmware ke Directory Nucleo Board
STEP 7: Sukses!
Saat binary file selesai dipindahkan ke directory Nucleo Board, maka Debug LED (didekat konektor USB) akan berubah warna dari merah menjadi hijau, yang berarti firmware berhasil terupdate. Setelah itu, board akan mulai menjalankan program sesuai dengan kode yang anda buat.

Gambar 16. Blink! Firmware berhasil ter-update pada Nucleo Board
Kesimpulan
Mikrokontroler 32-bit ARM mulai banyak diminati sebagai pengganti 8-bit MCU seperti ATMega yang dinilai kurang mumpuni. Untuk mempermudah pemrograman ARM MCU, ARM Holding Ltd menghadirkan Development Tool Online yaitu Mbed.
Mbed merupakan Tool Pemrograman Online Open Source, dimana para developer dapat menggunakannya secara bebas tanpa ada batasan ukuran program seperti pada Keil, Atollic Studio, dan IAR-EWARM. Saat ini Mbed sudah kompatibel dengan lebih dari 150 platform dari 13 manufaktur IC (Integrated Circuit) di dunia seperti STMicroelectronic, NXP, Atmel, Nordic Semiconductor, dan lainnya. Angka ini akan terus bertambah, mengingat project Mbed di-support langsung oleh ARM Holding Ltd.
Penggunaan Mbed memungkinan para developer untuk lebih fokus pada Application Layer daripada harus membangun lagi dari awal Hardware Abstraction Layer (HAL). Selain pengaksesan secara Online, kita juga dapat meng-export kode program yang kita buat untuk digunakan pada Tool pemrograman Offline seperti Keil, Coocox, ARM GCC, IAR, dan lainnya, sehingga tidak perlu kuatir apabila tidak ada koneksi internet di komputer.
Silahkan bagikan tutorial ini apabila dirasa bermanfaat atau tinggalkan komentar dibawah apabila ada yang ingin ditanyakan mengenai tutorial ini.
Altro @2017
