STM32 adalah mikrokontroler dengan inti prosesor 32 bit yang diproduksi oleh STMicroelectronics. Mikrokontroler STM32 dikembangkan oleh Advanced RICH (Reduced Introduction Set Computer) Machine atau ARM.
Terdapat beberapa seri dari STM dengan fungsi spesifik masing-masing sesuai dengan kode pada tipenya, seperti Cortex-A untuk aplikasi, Cortex-M untuk embedded, Cortex-R untuk real-time. Pada Cortex-M terdapat berbagai seri dengan berbagai inti prosesor yaitu Cortex-M0 untuk STM32F0, Cortex-M3 untuk STM32F1 dan STM32F2, Cortex-M4 untuk STM32F3,STM32F4, dan STM32L4 serta Cortex-M7 untuk SM32F7.
Baca juga : Perbedaan dari Mikroprosessor, Mikrokomputer dan Mikrokontroller
Setiap mikrokontroller STM32 terdiri dari inti prosesor, memori RAM statis, memori flash, antarmuka debugging dan berbagai peripheral. Kombinasi performa yang tinggi dengan peripheral kelas satu menjadikan STM32 sangat cocok untuk pekerjaan embedded. Papan mikrokontroller mudah ditemukan dipasaran elektronika dengan harga yang relatif terjangkau.
Cara Kerja STM32
Salah satu tipe dari STM32 adalah STM32F103C8T6 yang berbasis ARM Cortex M3 atau biasa juga disebut dengan SMT32 blue pill merupakan tipe yang banyak digunakan project embedded. Bentuk papan yang menyerupai Arduino nano memiliki kinerja prosesor 32-bit dan clock frekuensi 72 MHz.
Mikrokontroller ini terdapat 2 bagian memori yaitu flash memori dan SRAM (Static Random Access Memory). Flash memory berfungsi untuk menyimpan data dan program dengan kapasitas sampai 128 Kb. Memori SRAM berfungsi untuk membaca atau menulis pada CPU dengan kapasitas 20 Kb.
Papan mikrokontroler ini dilengkapi kristal 8 MHz yang terhubung dengan osilator utama HSE (High-Speed External), kristal 32 KHz yang terselubung ke LSE (Low Speed External) untuk menggerakan RTC (Real Time Clock) internal.
Dengan tegangan MCU yang beroperasi pada 3.3 volt, tegangan supply dari port USB yaitu 5 V diturunkan menjadi 3.3 V. Meskipun tegangan kerja MC di kisaran 3.3 V, sebagian besar pin GPIO beroperasi pada 5 V . Papan dilengkapi 2 indikator LED yaitu warna merah untuk power dan hijau untuk led built in yang terhubung dengan pin GPIO PC13.
Terdapat 2 mode yaitu mode program dan mode operasi yang diatur dengan menggunakan pin header jumper pada boot 1 dan boot 0. Pada masing-masing boot terdapat 3 pin yaitu 3.3 V, pin boot dan GND. Pengaturan mode dilakukan dengan membiarkan boot 1 berada pada posisi GND. Sedangkan untuk mengganti mode pemrograman dan mode operasi dapat dilakukan pada boot 0.
Mode pemrograman mengkondisikan boot 0 pada 3.3 V atau 1 sedangkan untuk mode operasi dengan mengkondisikan boot 0 pada GND atau 0.
Baca coba : Kalman Filter MPU6050 Accelerometer Gyroscope dan Arduino Uno Graphics Output Serial Plotter
Spesifikasi STM32F103C8T6
Arsitektur | 32-bit ARM Cortex M3 |
Tegangan Operasi | 2.7 V - 3.6 V |
Frekuensi CPU | 72 MHz |
Pin GPIO | 32 |
Pin PWM | 15 |
Input Analog | 10 (12-bit) |
Periferal USART | 7 |
Periferal SPI | 2 |
Perangkat I2C | 2 |
Timer | 3 (16-bit) |
Memori Flash | 64 Kb |
RAM | 20 Kb |
Keunggulan STM32
Jika dikomparasikan dengan mikrokontroller Arduino, kinerja papan STM 32 lebih unggul dibanding Arduino. Dengan kecepatan prosesor atau CPU 8-bit Arduino akan jauh ketinggalan dalam kemampuan pemrosesan data dengan STM32 dengan CPU-32-bit.
Baca juga : Apa Board Arduino yang Terbaik Untuk Pemula
Arduino memiliki nilai clock 16 MHz sedangkan STM 32 memiliki clock 72 MHz. Jumlah pin input/output pada STM32 juga lebih banyak dibandingkan Arduino Nano dengan 7 pin ADC dengan total pin I/O sebanyak 21 pin. Selain itu STM32 juga dapat bekerja pada tegangan rendah..