Mengenal Microcontroller STM32 dan Cara Pemrogramannya

Jadi ceritanya lagi bosen nih gaess, sama si Arduino, makanya pengen main sama tetangga jauhnya yang masih satu kampung : Mikrokontroler. Namanya sih STM32, dari tipe STM32F103C8T6. Agak susah nyebutin namanya, makanya gakusah dihafal ya.. Mikrokontroler STM32 ini agak beda dengan si Arduino, dia sudah pakai prosesor 32 bit (Arduino masih 8 bit), juga punya clock yang ngebut : 72 MHz (Arduino 16 MHz), jadi secara spec si doi lebih unggul gaess.. Mikrokontroler STM32 ini sebenarnya bukan barang baru, si STMicroelectronics udah lama memproduksinya. Nah nanti akan kita bahas mengenai microcontroller STM32 dan cara pemrogramannya.

Microcontroller STM32 dikemas dalam sebuah development board. Secara body sih kecil, seukuran Arduino Nano, cuman kinerjanya lebih unggul dibanding si Arduino. Minimum system STM32 seperti pada gambar di bawah, saat ini mudah kita dapatkan di toko – toko elektronik, nama lain dari modul ini adalah blue pill.

 

Spesifikasi

  • Model : STM32F103C8T6
  • Core : ARM32 Cortex-M3 CPU
  • Clock : 72 MHz
  • Memory : 64K Flash + 20K SRAM
  • GPIO : 32 pin
  • ADC : 10 channel dengan resolusi 12-bit
  • PWM : 15 pin
  • Koneksi : USART, USB, SPI, I2C, CAN BUS

Selain itu juga terdapat LED built in (udah nempel di board) yang terhubung dengan pin PC13, biasanya dipakai untuk nyoba program.  Keterangan detail konfigurasi pin minimum system STM32 seperti pada gambar berikut :

 

Cara Upload Program ke STM32

Untuk mengisikan program ke memori STM32 kita memerlukan ‘downloader’ (kalau di mikrokontroler AVR biasanya memakai USBasp). Ada beberapa model ‘downloader’ seperti dengan ST-LINK V2.

Cara lain menggunakan USB to TTL (USB to Serial), nah cara kedua ini nanti yang akan sering kita pakai, karena harga lebih murah dibanding ST-LINK V2.

Selanjutnya kita juga memerlukan software untuk menulis program kemudian melakukan compile dan upload (mengisikan program), yaitu dengan Arduino IDE. Bagi teman – teman yang sudah terbiasa memakai Arduino tentu sudah familiar. Langsung saja kita bahas cara pemrograman STM32 dengan USB to TTL dan Arduino IDE.

Yang harus disiapkan :

  • Minimum system STM32F103C8T6 ‘bluepill’
  • USB to TTL (driver CH340 atau CP210x)
  • Breadboard (opsional)
  • Kabel jumper
  • Software Arduino IDE

Koneksi STM32 dengan USB to TTL :

Kita hanya butuh 4 koneksi saja antara modul STM32 dengan USB to TTL :

Berikutnya set posisi jumper BOOT0 pada posisi ‘1’ (HIGH) dan jumper BOOT1 pada posisi ‘0’ (LOW) seperti pada gambar. Konfigurasi jumper ini adalah pada mode upload program.

Pada mode normal maka keduanya BOOT0 dan BOOT1 pada posisi ‘0’ (LOW).

Colokkan USB to TTL ke port USB komputer/laptop. Cek apakah driver sudah terdeteksi. Buka Device Manager kemudian terlihat seperti pada gambar :

Jika belum ada driver, silakan download dan instal terlebih dahulu. Anda dapat memakai driver CH340 (download) untuk USB to TTL dengan driver CH340  (download) atau driver CP210X (download).

Seting Arduino IDE untuk STM32

Sekarang kita masuk ke software-nya yaitu Arduino IDE. Bagi yang belum punya silakan download langsung dari sumbernya disini. Buka/jalankan Arduino IDE kemudian buka preferences dari menu File > Preferences.

Selanjutnya tambahkan alamat berikut ini :

https://github.com/stm32duino/BoardManagerFiles/raw/master/STM32/package_stm_index.json

, jika sudah ada beberapa link, berikan ‘koma’ atau ketik dibawahnya.

Klik OK , kemudian buka Tools > Board > Board Manager…

Cari/ketik ‘STM32’, kemudian pilih “STM32 Cores by STMicroelectronics ” kemudian klik “Install” , tunggu sampai proses instalasi selesai. Pastikan laptop/komputer terhubung dengan internet.

Jika sudah kita set type boardnya. Dari menu Tools > Board pilih “Generic STM32F1 series

Masih di menu Tools, sesuaikan beberapa setingan seperti gambar berikut ini :

Terakhir sesuaikan nomor Port-nya. Dari menu Tools > Port pilih sesuai dengan nomor com/port USB to TTL yang terdetksi di komputer. Pada contoh ini adalah port 4.

Pada pilihan Upload Method tadi (seting Tools) kita pilih “STM32CubeProgrammer (Serial)” , nah selanjutnya kita masih harus instal 1 software lagi yaitu STM32CubeProgrammer. Ok, sabar dikit ya…, sekarang download software “STM32CubeProgrammer DISINI”.

Klik “Get Software” kemudian tunggu sampai download selesai (jika anda pengguna awal biasanya diminta registrasi terlebih dulu kemudian link download melalui email).

File dalam format zip, extract file kemudian install file “SetupSTM32CubeProgrammer-2.4.0”. Silakan install programnya sampai tuntas.

Selesai untuk seting Arduino IDE dan instal STMCubeProgrammer, sekarang saatnya mencoba programnya. Kita pakai program contoh standar yaitu ‘Blink’ atau LED berkedip. Silakan tulis kode program berikut ini di lembar kerja Arduino IDE.

Kita akan memakai LED built in yang terhubung dengan pin PC13 sehingga pada program hanya mengakses PC13.

Simpan (Save) kemudian klik Upload. Sebelum Upload pastikan posisi jumper BOOT0 pada posisi ‘0’ dan BOOT1 pada posisi ‘1’ kemudian tekan tombol RESET. Tunggu hingga proses Compile sukses (tidak ada error) dan proses Upload sukses.

Hasilnya LED (warna kuning disebelah LED power merah) akan berkedip (blink).

Jika ingin menjalankan programnya dengan mode ‘normal’ maka set jumper BOOT0 dan BOOT1 pada posisi 0 kemudian tekan tombol RESET.

Alhamdulillah selesai juga pembahasan awal tentang microcontroller STM32 dan cara pemrogramannya dengan Arduino IDE. Lain waktu kita lanjutkan dengan proyek aplikasi STM32, Insya Allah.

Semoga bermanfaat.

Ardutech – “ Sahabat inovasi anda

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4 thoughts on “Mengenal Microcontroller STM32 dan Cara Pemrogramannya

Leave a Reply

Your email address will not be published. Required fields are marked *