Menguasai alat pengukuran dan seni debugging: multimeter untuk statik, oscilloscope untuk sinyal dinamis, logic analyzer untuk bus digital, serta metodologi debugging sistematis yang mengubah tebakan menjadi fakta.

Setelah di episode 9 board kalian berhasil di-bring-up — atau mungkin belum sepenuhnya — pada episode ini kalian memegang senjata utama hardware engineer: alat ukur dan debugging. Di sinilah kalian berubah dari "orang yang menyolder" menjadi "detektif yang menemukan kebenaran di balik gejala".
Mengapa measurement & debugging layak mendapat episode khusus? Karena sebagian besar waktu kerja hardware engineer — jujur saja — dihabiskan untuk menemukan mengapa sesuatu tidak bekerja seperti seharusnya. Engineer yang hebat bukan yang tidak pernah membuat kesalahan, melainkan yang bisa menemukan kesalahannya dengan cepat dan terstruktur.
Multimeter mengukur besaran statis: tegangan, arus, resistansi, kontinuitas. Ini alat pertama yang kalian pegang saat board bermasalah.
| Fungsi | Cara Pakai | Kapan Dipakai |
|---|---|---|
| Tegangan DC | Probe paralel ke titik ukur | Cek rail power, output regulator |
| Resistansi | Board mati, probe ke dua ujung | Cek short, cek resistor |
| Kontinuitas | Mode buzzer | Cek sambungan solder, trace putus |
| Arus | Probe seri (lewatkan arus) | Cek konsumsi total, arus per blok |
Pitfall umum: mengukur arus dengan probe paralel — arus diukur seri, bukan paralel. Salah mode pada terminal arus (A) saat mengukur tegangan = korslet fuse.
Oscilloscope menampilkan tegangan terhadap waktu — alat wajib untuk power ripple, clock, protokol, dan debugging sinyal. Parameter penting saat memilih/memakai scope:
1. Pasang probe 10x, copula spring ground ke tip probe (bukan lead panjang!)
2. DC coupling, 10mV/div, 20MHz bandwidth limit
3. Ukur di cap output buck: ripple seharusnya puluhan mV, bukan ratusan
4. Zoom untuk lihat switching spike (transien tajam di tiap cycle)Teknik probe yang salah — lead ground panjang seperti antena — akan menangkap noise yang tidak benar-benar ada di sirkuit. Untuk pengukuran halus seperti ripple, selalu pakai ground spring.
Logic analyzer merekam level 0/1 pada banyak kanal sekaligus dan mendekode protokol: UART, SPI, I2C. Saat MCU tidak merespons, pertanyaan pertamanya biasanya "apakah data benar-benar keluar?" — jawabannya ada di sini.
1. Sambungkan CH0 -> MCU TX, CH1 -> MCU RX, GND -> GND
2. Set sampling rate >= 5x baud rate (misal UART 115200 -> >= 1MHz)
3. Trigger: rising edge di CH0
4. Setelah capture, pilih "UART decoder": cek byte, baud, format
5. Baca hasil: 0x41 ('A') harus muncul jika MCU mengirim "A"Logic analyzer dengan decoder protokol adalah cheat code: ia mengubah "kenapa tidak ada data?" menjadi "data 0x4A yang datang bukan 0x41".
Debugging hardware tanpa metode adalah tebakan beruntun. Dua kerangka yang dipakai luas di industri:
Pecah sistem menjadi blok, lalu persempit. Mulai dari tempat paling awal di alur sinyal:
Setiap "ya" mempersempit pencarian ke blok berikutnya. Setiap "tidak" menandai blok bermasalah.
Distribusi waktu debugging yang ditemukan praktisi:
Jika kalian menghabiskan 60% waktu untuk berpikir dan hanya 20% untuk mengukur, kalian melakukan debugging secara terbalik.
Tip
Satu pertanyaan yang mengubah debugging selamanya: "Apa buktinya?" Sebelum mengganti komponen atau mencurigai chip, tanyakan apa pengukuran yang mendukung hipotesis itu. Engineer yang mencurigai berdasarkan firasat akan mengganti komponen yang sehat dan menolak mengukur jalur yang bermasalah.
Mari berlatih dengan skenario klasik: board tidak mengirim data UART.
GEJALA: MCU tidak mengirim apa pun ke PC lewat UART
1. Ukur 3V3 di pin MCU -> 3.28V OK
2. Ukur GND antara board dan USB-Serial -> 0.2 ohm OK
3. Oscilloscope di pin OSC -> 8MHz sinyal bersih OK
4. Cek pin reset -> 3.3V (high, tidak reset) OK
5. Logic analyzer di TX -> tidak ada aktivitas!
HIPOTESIS: firmware tidak jalan atau pin salah muxing
6. Blink LED di firmware -> LED nyala! MCU jalan, firmware jalan
KESIMPULAN: masalah di konfigurasi pin/peripheral UART
7. Baca datasheet: TX di PA9 -> ya, firmware memakai PA10/PA11
BUG: pin salah -> ganti ke PA9/PA10, recompile, retest
VERIFIKASI: logic analyzer menampilkan 0x41 'A' FIXEDPerhatikan polanya: setiap langkah diuji dengan alat ukur, bukan ditebak. Ketika hipotesis "firmware tidak jalan" terbukti salah (LED blink), arah pencarian berpindah — dan bug ditemukan dalam hitungan menit.
Warning
Saat board terlihat "hidup" tanpa probe tapi mati saat probe dilepas, dan saat masalah datang-pulang secara acak, jangan buru-buru salahkan komponen. Periksa dulu hal paling membosankan: koneksi yang longgar, solder yang retak, dan kabel yang putus di isolasinya. Sembilan dari sepuluh bug "misterius" adalah masalah mekanis.
Pada episode 10 ini, kalian telah menguasai tiga alat ukur dan kerangka debugging yang mengubah tebakan menjadi pengukuran.
Inti yang harus dibawa pulang:
Di episode 11 selanjutnya kita menjembatani dua dunia: firmware-hardware interface — GPIO, interrupt, dan batas tanggung jawab antara desain hardware dan firmware, lengkap dengan dokumen interface spec. Sampai jumpa di episode 11!