How I learned what a decoupling capacitor is for, the hard way

· coding · Source ↗

TLDR

  • A drone builder’s BMM150 magnetometer died on battery because switching-regulator ripple drove the 3.3V line to 4.34V, past the chip’s 3.6V rating.

Key Takeaways

  • Under USB power the 3.3V line is stable; under 8V battery, the SY8113IADC switching regulator causes ripple from 2.74V to 4.34V at ~50MHz.
  • A multimeter reads a steady 3.3V average; only an oscilloscope exposes the high-frequency ripple that kills the magnetometer.
  • The BMM150 is rated to 3.6V max; sustained overvoltage spikes cause complete failure, not just bad readings.
  • A Qwiic breakout magnetometer was used as a workaround, trading hardware-synchronized IMU readings for a working sensor.
  • Best practice: place a small decoupling capacitor between VCC and GND as close as possible to every IC on the board.

Hacker News Comment Review

  • The sole comment flagged a missed experiment: soldering a capacitor dead-bug style onto the board vias could have confirmed the decoupling cap as the actual failure cause, not just the inferred one.

Original | Discuss on HN