Symptom: I2C sensor returns NACK on every address byte. Device works on another board.
Scope SCL/SDA: is START condition clean? Are pull-ups present?
Verify device address matches firmware (check strap pins).
Check device reset — is it held in reset or power-gated?
Measure SCL frequency — too fast for device or bus capacitance?
If SCL remains low, identify which participant holds it and compare the measured duration with the target and controller timeout contracts before changing firmware.
Checking software address once without verifying hardware straps.
Missing pull-ups on prototype board.
I2C speed too high for bus capacitance.