DISCLAIMER: There’s nothing in this post that hasn’t been said in a zillion other posts about 555 timer chips, power rail decoupling capacitors, and bypass capacitors. I just wanted to see it all for myself and then of course I felt compelled to document what I had learned.
I built myself the standard astable configuration of a 555 timer, operating at a calculated 125Hz and measured at 119Hz:
I implemented this on a breadboard with reasonably-neat/short/organized leads, and hooked it up to the oscilloscope to see how it was working:
The yellow trace is the output of the 555 chip and looks pretty reasonable at this scale. The blue trace is hooked up to the 5V rail, AC coupled. Everything looks plausible at this scale, but let’s look closer:
Here we’re zoomed into the rising edge of one clock cycle. You may wish to click on the images to bring them up in full resolution in their own browser tab. Again the yellow trace is the 555 output; it’s pretty nasty and appears to peak at almost 7V and then ring out a bunch. But even worse look what’s happening to the 5V supply rail – the blue trace. I’ve got it on AC coupling so the steady-state 5V DC is “zero” and the excursions from there represent garbage on the power rail. It’s dipping down more than 3V then shooting back up before eventually settling back down at 5V. I’m driving this with an Agilent E3610A lab bench power supply so there is no question that the supply itself is high quality. The problem is the 555 chip is notorious for high current draw and other nasty effects during transition, and we can see that here.
The common solution to this is to put one or more capacitors between the +5V and ground to decouple the chip from the power supply – to serve as “reservoirs” of charge from which these current spikes can be drawn without pulling down the Vcc rail itself.
So, following the cookbooks, I put a 2.2µF electrolytic capacitor across the power rails, and got this:
This is obviously a gazillion times better Now the instantaneous dip on the Vcc rail is just about 1V instead of 3V and it no longer spikes upwards at all. The clock output is also tremendously cleaner, though by no means “clean”. At least now it just shoots up to 5V, stays up there for about 300ns, then heads back down and eventually settles at about 4V (off to the right of this capture it finally settles there).
In this particular case 2.2µF seemed to be sufficient; I tried other values all the way up to 470µF and saw no real change in the curves.
What did make a big different in the curves was the precise location of the capacitor. This is a really good lesson in the saying: “the difference between theory and practice is greater in practice than it is in theory”. You might think that all the points on a given row on a breadboard are “the same” but they are not: there is quite a lot of stray capacitance, inductance, and resistance lurking in the connections beneath the alluring abstraction of the breadboard, and it matters when working on things like this.
I moved the 2.2µF capacitor so that it was plugged into the point directly adjacent to pins 1 and 8 on the 555 (i.e. the Vcc pin and the ground pin). That gave me this result:
Just to eliminate any questions about the interpretation of values given the AC coupling, I took this capture with the blue trace on DC coupling:
Next, again following advice from everyone who ever writes about things like this, I added a smaller bypass capacitor again right at pin 8 on the 555. This trace show the result of adding an 0.22µF tantalum capacitor also “immediately next to” the 555 chip:
This shows some slight improvement. I fiddled around with various values for the smaller capacitor but couldn’t find one that worked any significantly better than this one. The dip is substantially less than 1V at this point.
There are many write-ups where people talk about the 555 being a “nasty” chip with bad effects on power rails, and this little exercise shows some of that.
If you don’t have an oscilloscope and you don’t put in appropriate bypass capacitors, you may find other parts of your circuit designs misbehaving depending on how big the spikes on the voltage rails are and how sensitive your other circuitry is to those spikes!