One of my projects was to characterize an I2C temperature sensor. After writing some software, I threw together a hand-wired prototype board. I was in a hurry, so I left off that pesky decoupling capacitor. Who needs it, right?
I collected data for about a week, and none of my results matched expectations. I made numerous changes in an attempt to improve performance, but nothing worked. Finally, I decided to add the decoupling capacitor. As you might expect, this solved the issue.
This got me thinking…do we always need decoupling capacitors? What do they really do?
One way to answer the question is to show what happens when you don’t use proper decoupling.