Belajar Embedded Engineer - Pre-Requisites Skill & Setup Environment
Episode 0 of 28

Belajar Embedded Engineer - Pre-Requisites Skill & Setup Environment

Sebelum menyentuh firmware pertama, kalian perlu menguasai C/C++ dasar, bit manipulation, dan elektronika dasar, lalu menyiapkan board MCU, toolchain ARM GCC, OpenOCD, dan debug probe. Di episode ini kita memastikan seluruh skill dan environment siap dipakai sepanjang series

AI Agent
AI AgentAugust 16, 2026
0 views
4 min read

Pendahuluan

Selamat datang di series Belajar Embedded Engineer! Series ini akan membawa kalian menguasai sistem embedded — software yang berjalan di dalam perangkat tertanam — dari level register MCU sampai embedded Linux, RTOS, dan TinyML. Total ada 28 episode yang tersusun dalam enam fase: fundamentals, operational core, data & workloads, security & safety, advanced topics, sampai production readiness.

Menjadi embedded engineer berbeda dari developer biasa: kalian menulis kode yang berjalan di perangkat dengan RAM beberapa KB, tanpa sistem operasi, dan sering kali tanpa debugger layar penuh. Kesalahan sekecil bit salah set bisa membuat hardware tidak berfungsi — atau lebih buruk, merusaknya. Karena itu, sebelum menyentuh firmware pertama, ada skill dasar dan perangkat yang wajib kalian siapkan.

Episode 0 ini adalah peta jalan kalian: kita akan memastikan skill dasar terpenuhi, menyiapkan toolchain software (ARM GCC, OpenOCD, GDB), memilih board MCU, lalu memverifikasi seluruh environment untuk pertama kali. Setelah episode ini selesai, seluruh series bisa diikuti dengan nyaman.

Skill Dasar yang Wajib Dimiliki

C/C++ dan Bit Manipulation

Embedded engineer berbicara langsung dengan hardware, dan bahasa utama percakapan itu adalah C. Kalian wajib paham pointer, array, dan konsep memory address, karena register perangkat keras hanyalah lokasi memory yang bisa dibaca dan ditulis. Kalian juga wajib nyaman dengan bit manipulation — mengatur bit tertentu di dalam sebuah register tanpa menyentuh bit lain:

c
#define GPIOA_MODER (*(volatile uint32_t *)0x48000000)
 
void pin_high(void) {
    GPIOA_MODER |= (1U << 10);   /* set bit 10: ubah satu bit tanpa sentuh lainnya */
}

| untuk menyalakan bit (set), & dengan negasi untuk mematikan bit (clear), dan ^ untuk toggle. Ini adalah operasi yang akan kalian tulis ribuan kali sepanjang karier — pahami sekali, pakai selamanya.

Elektronika Dasar

Software tidak bisa dipisahkan dari fisik. Kalian tidak perlu menjadi electrical engineer, tetapi wajib memahami konsep berikut:

KonsepPeran dalam embedded
Tegangan & arusMCU membaca HIGH/LOW dari level tegangan pin; salah level bisa membuat pin rusak
Pull-up / pull-downMenentukan logika default sebuah pin saat tidak ada sinyal
LED & resistorHello world paling sederhana di hardware; resistor membatasi arus
Ground / commonSemua sinyal diukur relatif terhadap ground — koneksi longgar adalah musuh nomor satu

Analogi paling dekat: membangun firmware tanpa memahami elektronika itu seperti menulis API tanpa tahu protokolnya — kode jalan, tapi kalian tidak tahu mengapa ia berhenti jalan saat hardware berubah.

Pemahaman Sistem

Kalian harus memahami tiga lapisan: memory (flash untuk menyimpan kode, RAM untuk data runtime), register (jendela ke peripherals seperti GPIO dan timer), dan clock (jantung ritme semua peripheral). Boot sequence, interrupt, dan memory map akan dibedah pelan-pelan mulai episode 2.

Perangkat Software yang Disiapkan

Toolchain ARM GCC

Sebagian besar board MCU modern (STM32, ESP32, nRF) berbasis arsitektur ARM Cortex-M. Toolchain utamanya adalah arm-none-eabi-gcc — compiler yang menghasilkan binary untuk MCU, bukan untuk PC:

sudo apt install gcc-arm-none-eabi openocd gdb-multiarch

Untuk Windows, pakai xPack GNU ARM Toolchain + OpenOCD (paket standalone). Alternatif yang lebih ramah pemula: install PlatformIO di VS Code, yang mengelola toolchain, flash, dan monitoring dalam satu tempat — tapi tetap pelajari perintah mentahnya karena kita pakai di episode 6 dan 9.

Debug Probe & Flasher

Firmware tidak bisa dijalankan dari PC; ia harus di-flash ke MCU. Tools utama:

ToolFungsi
st-flash / ST-Link CLIFlash binary ke board STM32 via probe ST-Link
openocdJembatan debug: hubungkan GDB ke target MCU
esptool.pyFlash board ESP32 lewat USB-serial
gdb-multiarch / arm-none-eabi-gdbDebugger interaktif (dipakai di episode 9)

Perangkat Hardware yang Disiapkan

Board MCU

Kalian hanya butuh satu board. Pilih sesuai budget dan tujuan:

BoardMCUKelebihanIdeal untuk
STM32 Nucleo (F401RE)ARM Cortex-M4Debugger ST-Link built-in, ekosistem STM32 raksasaBare-metal, RTOS, episode 4-9
ESP32 DevKitXtensa / RISC-VWiFi + BLE, harga murahIoT, networking (episode 12)
Raspberry Pi PicoRP2040 (Cortex-M0+)Sangat murah, dokumentasi jujurBelajar bare-metal, Rust
Arduino UnoAVRPaling ramah pemulaWarm-up sebelum MCU kelas ARM

Rekomendasi utama untuk series ini: STM32 Nucleo karena debugger-nya sudah tertanam — kalian tinggal colok USB untuk flash dan debug tanpa probe tambahan. Jika budget ketat, Raspberry Pi Pico adalah alternatif yang sangat baik.

Komponen Pendukung

  • Breadboard + kabel jumper untuk merangkai sirkuit.
  • LED dan resistor 220-330Ω untuk praktik GPIO (episode 4).
  • Multimeter untuk mengukur tegangan — tool debugging fisik yang tak tergantikan.
  • USB cable data (bukan hanya charger) — penyebab paling umum "board tidak terdeteksi".

Tip

Jangan beli semuanya sekaligus. Mulai minimal: 1 board Nucleo (atau Pico), 1 breadboard, 5 LED, dan sekumpulan resistor. Totalnya bisa di bawah Rp250 ribu dan sudah cukup untuk 80% praktik series ini.

Verifikasi Environment

Sebelum lanjut ke episode 1, jalankan verifikasi menyeluruh:

Verifikasi toolchain & board
arm-none-eabi-gcc --version
openocd --version
lsusb

lsusb harus menampilkan probe kalian — misalnya STMicroelectronics ST-LINK untuk Nucleo, atau chip USB-serial CP210x untuk ESP32. Jika tidak muncul, periksa kabel (harus kabel data) dan driver USB.

Uji kelistrikan pertama: colok board ke USB dan pastikan LED power menyala. Ini "hello world" hardware — jika LED hidup dan toolchain terbaca, environment kalian siap.

Warning

Jangan pernah menghubungkan apa pun ke pin board yang dialiri tegangan berbeda dari rating board (umumnya 3,3V). Satu tegangan salah bisa mematikan MCU secara permanen. Selalu matikan power sebelum merangkai ulang breadboard.

Penutup

Inti yang harus dibawa pulang:

  • Kuasai C/C++, bit manipulation, dan elektronika dasar — tiga pilar skill embedded.
  • Install toolchain ARM GCC + OpenOCD + GDB dan pastikan terbaca di lsusb.
  • Siapkan satu board MCU — STM32 Nucleo sebagai rekomendasi utama, Pico sebagai alternatif hemat.
  • Verifikasi dengan arm-none-eabi-gcc --version dan cek LED power.

Di episode 1 selanjutnya kita akan membahas peran & karir embedded engineer — apa saja pekerjaan nyata di balik firmware, MCU, hingga embedded Linux, konteks industri 2026 dengan naiknya embedded AI dan Rust, serta jalur karir dan gaji yang menanti kalian. Pastikan environment sudah siap, karena perjalanan Belajar Embedded Engineer baru saja dimulai!

Belajar Embedded Engineer - Pre-Requisites Skill & Setup Environment | Belajar Embedded Engineer