Over the years, readers have often commented that microcontrollers (or more specifically, the Arduino) are overkill for many of the projects they get used in. The admonition that the creator “Should have used a 555” has become something of a rallying cry for those who think modern electronic hobbyists are taking the easy way out.
But what if you think even the lowly 555 timer is overkill? In that case, perhaps you’ll be interested in a recent blog post by [TheMagicSmoke], where the reader is walked through the process of creating an analog of the classic integrated circuit on a somewhat larger scale. Finally, we can replace that cheap and handy IC with a mass of wires and components.
Alright, so you’ve probably guessed that there’s no practical reason to do this. Outside of some theoretical MacGyver situation in which you needed to create a square wave using parts salvaged from devices laying around, anyway. Rather, the project is presented as a good way to become more confident with the low-level operation of electronic circuits, which is something we think everyone can agree is a good thing.
The components used include a 74S00 quad NAND gate, a LM358 dual operational amplifier, a 2N2222A transistor, and a handful of passive components. [TheMagicSmoke] not only explains how the circuit is constructed, but shows the math behind how it all works. Finally, an oscilloscope is used to verify it’s operating as expected.
We respect a hacker on a mission, just last month [TheMagicSmoke] put together a similar “back to basics” post on how to interface with an I2C EEPROM.
Should have used a 555
technically still valid :D
s/it’s/its/
The sentence can be expanded as “to verify it is operating as expected”, so the contraction “it’s” is valid.
A common mistake, but not made here.
“Over the years, readers have often commented that microcontrollers (or more specifically, the Arduino) are overkill for many of the projects they get used in. ”
Small complaint: there is a big difference between using a microcontroller and using an Arduino. I love them both but they’re different things in many aspects. For example it would indeed be overkill to use an Arduino to replace a 555 when a simple timer is all that’s required. But it’s sensible to use an 8-pin microcontroller instead of a 555 in many cases: you get closer to what you need, and no external timing components required. Probably cheaper too.
Aside from that, it’s nice to see articles like the linked one that delve into the basics.
There are 2 areas that a 8-pin micro can’t do easily: large input/output voltage range that goes to 15V and high current drive. You’ll need additional parts for the micro for those applications.
Never used a 555. No oscillator, mono,bistable, servodriver,… I had to do didn’t work with a single 4093. 3-18v, basically no power consumption when idle. Really, no need for any 555.
Yes, I totally agree and both can be tamed with one resistor and a transistor, for a total parts count, including the micro of 3 parts. To do just about anything useful, the 555 requires at least 2 resistors and 2 caps, plus the 555, so you are looking at 5 parts. And while both (assuming the micro is running is it’s internal rc mode) fall prey to the effects of temperature, many micros have calibrated the rc to some extent. They are also much less susceptible to parasitic components. For example it is trivially easy to create long delays that would not be possible with the 555 because of capacitor leakage. T does not equal RC when the cap has leakage currents approaching the charging currents. This puts a practical limit on what a 555 can do as far as long term timing. And running totally calibrated, short term timing is not so hot either.
My thoughts exactly, especially pertinent these days with those 3c MCUs which could well be the start of a trend to lower prices of slightly more complex CPUs given trade issues etc. Would be good to include higher voltage and more current drive too, heck if you get the naked chip you can bond it to a MOSFET with resistors and 3 terminal sot regulator make your own thick film suitably encapsulated…
With the 3c mcu;s you could just program a bunch of them for preset times in like half second intervals and keep them in stock. Use them like black boxes. Kind of the same way I keep a couple sizes of machine hardware in stock. If you need something special you could program it but more often than not you just need a rough delay.
If you count decoupling caps (the 100nF at pin 5 of 555) then don’t forget that a µC likes (needs) that also at his VCC pin.
You need at least one cap at the supply pins for the micro.
I see people here all the time that require arduino’s to light up led’s. I agree this is crazy overkill. That being said, the 555 really does not do anything real well. In this day and age I think it’s only mildly redeeming feature is it can source and sink a fair amount of current. This is obviously achievable with any micro and a transistor or two, and the micro would be a win or a tie as far as parts count goes. The 555 was a cool chip back in it’s day, the same way incandescent lights were cool when they were the only option, and dial telephones were still the rule. Times change. Now if working with micros is out of your comfort zone, that is one thing, but if you are comfortable with just about any micro, I am hard pressed at thinking of almost anything you could not do better with a micro than with a 555. Just my 2 cents.
I’ve used the 555 as a Schmitt-trigger with well defined switching points when I needed just one. Usually you get 4-8 gates in a single chip, and the hysteresis can’t be adjusted / depends on the input voltage, temperature, frequency… etc. whereas with a 555 you can put a certain voltage on pin 5 and it will switch at that voltage (and half that).
You could do the same thing with an op-amp, but they’re really not designed to switch logic levels and they hit saturation, which means they get stuck at the rails and switch with an extra delay. You could also do it with a comparator, but those are typically push or pull, not push-pull, so setting the hysteresis becomes difficult and any current you draw from the output affects the input.
You could do the same thing with two comparators and a latch, but then your component count goes up. I’ve yet to find a single component that does: “Switch on above this voltage, switch off below this voltage” where the voltages are easily and well defined.
You don’t need a computer to program a 555 timer circuit.
Of course not. But where do I download the app for my phone?
I coulda’ done this with a half-dozen vacuum tubes.
Yea go ahead, but don’t use multi section tube Stinky old farts on the web will call you out for that.
Should’ve used transistors instead:
https://www.youtube.com/watch?v=OvvrdDkTCxQ
Haahaaa, cool build and details. Another way to make a 555.
I made a high power one too, for the 555 contest: http://www.electrobob.com/555-class-d-amplifier/
555 function with serial interface? https://www.elektormagazine.de/labs/simple-digital-timer
“Alright, so you’ve probably guessed that there’s no practical reason to do this.”
Are you trying to put HaD out of business?