Arduino Wannabe Should Have Used A 555. Oh Wait, It Does.

It’s a little known secret that when the Hackaday writers gather in their secret underground bunker to work on our plans for world domination, we often take breaks to play our version of the corporate “Buzzword Bingo”, where paradigms are leveraged and meetings circle back to loop in offline stakeholders, or something like that. Our version, however, is “Comment Line Bingo”, and right in the middle of the card is the seemingly most common comment of all: “You should have used a 555,” or variations thereof.

So it was with vicious glee that we came across the Trollduino V1.0 by the deliciously named [Mild Lee Interested]. It’s the hardware answer to the common complaint, which we’ll grant is often justified. The beautiful part of this is that Trollduino occupies the same footprint as an Arduino Uno and is even pin-compatible with the microcontroller board, or at least sort of. The familiar line of components and connectors sprout from the left edge of the board, and headers for shields line the top and bottom edges too. “Sketches” are implemented in hardware, with jumpers and resistors and capacitors of various values plugged in to achieve all the marvelous configurations the indispensable timer chip can be used for. And extra points for the deliberately provocative use of Comic Sans in the silkscreen.

Hats off to [Lee] for a thoroughly satisfying troll, and a nice look at what the 555 chip can really do. If you want a more serious look at the 555, check out this 555 modeled on a breadboard, or dive into the story of the chip’s development.

89 thoughts on “Arduino Wannabe Should Have Used A 555. Oh Wait, It Does.

      1. I remember times of 400-800 Mhz CPUs. There was, if I remember corectly 666 MHz intel and some time later 777 MHz cpu (of course it was not exactly 666 and 777 but nobody cared) 777 was localy advertised as new, better, faster satan xD , damn I’m old :)

          1. Not officially, though I think I seent it reported one time when running a Mendocino Celly 500 (Not officially an A but everyone calls them an A) at 7.5 x 83 set on the motherboard, even though technically it should have been around 622. On that particular combo the PCI was too flaky (whodathunk) so went back to 7.5 x 75… The 433 I had was the bestest, just “vidpinned” that little sucker to 100 FSB and nailed it into an i810 board and it ran it’s little heart out at 650 for years.

        1. Celeron 300a used the 66.66Mhz FSB but they would pretty much always run at 100Mhz FSB My first cpu purchase with the absolute intention of overclocking it right out the gate, Was a stonking fast cpu for the time for paper round money.

          1. Don’t forget that they accidentally left it enabled for dual-socket (well, slot, I guess). That was so much fun! To no good end, of course, but still fun.

          2. I had a 300A running at 464Mhz thanks in part to a photocopier fan that replaced a whole side of the mini tower.

            The reason for the 464 is that it annoyed my preppy cousin, who bought a pentium 300 right after I got the Celeron, then just to one-up me had his mom buy a 450 (then top of the line) when I got my overclock to work. So I ran mine at 464.

    1. Probably cheaper to use MCUs than to get their QC together and stop making crappy solder joints. 555s have higher parts count, which could mean more joints to fail with that crappy process.

      Even with good QC, I wouldn’t be surprised if the extra joints failed about as often as an MCU would. The company might have had some pretty good reasons not to use 555s.

      Maybe nobody could figure out how to route one on a single layer board with a tight deadline or something. They’re like, 7 cents, so it’s not like you save much with a 555, and if they’re even slightly more reliable it’s probably an environmental win.

        1. you’ll be surprised, but: most MCUs can work with a wide, badly-if-at-all regulated input voltage, and use far less power than the NE555, so a power supply from 12V could very well be a resistive power divider instead; if you start arguing for CMOS 555, I will hit you with the fact that cheapistan MCUs are < 10ct in small quantities.

          1. Yes, but a 555 can sink/source hundreds of milliamps while the cheap tiny MCU probably can’t directly drive a big LED, and it’s more sensitive to EMI in general.

            If it’s wired, it doesn’t matter if the IC takes 1 or 10 milliamps.

          2. @Dude: yeah, true, at least sourcing that much current is typically hard – but you’d simply sink it…

            Surprise: this is the use case low-end want to get into: replacing analog circuitry for people who have more problems with inflexibility and complexity of BOM than with silicon cost.

            Now, a 3ct Padauk PMS150C at 5.5 V can sink 18 mA (per single GPIO) – that suffices for a lot of LED applications, so BOM = MCU, LED, series resistor + 2R for “supply”, a capacitor if you’re feeling generous.

            If you need more current, an external NPN adds a transistor and a resistor to the BOM, or just an internally pre-biased NPN.

            So, there we go: total BOM count of 6; zero large capacitors.

            Now, comparing that to a minimal 555 solution:

            555, two or three resistors, a large capacitor for “visibly low” switch times, LED + series resistor: 6 or 7 components.

            Um, I really don’t see how the 555 is causing a lower-count BOM, or lower cost.

            I’ve never seen any EMI problems with this kind of low-speed MCU problem. If there were any, I’d say they apply just as much to the 555.

          3. Analog and digital are two different fields, though the cross back and forth. It’s really the designers choice, and how much they want to squeeze the product for pennies. Not overly important most of the time, since it’s really the final cost, versus the price it’ll sell for. The 12 volt strobe? I didn’t watch the video, have a couple that are rings of LEDs, that light sequentially, to simulate rotation, there are three other flash modes, as well. Not a 555 solution, little more than a black blob on the board either…

    2. When MCUs are literally pennies, it’s hard to argue against using them in place of the 555 anymore. It’s a lot easier to put a programmable chip in place and let the software guys handle it than figure out the nuances involved in getting the desired operation in pure hardware.

      Does it feel wrong? Sure. But perhaps it’s just what progress looks like. Same reason every new car is ditching traditional controls for a touch screen and embedded Linux.

      1. Plus, well, you want that thing to flash at a different frequency for the next run? You want it to flash once every 5s? Want short – short – long? No extra cost for the MCU. For the 555: redo your design, your capacitor just tripled in mechanical size.

        1. Or your resistor tripled in value…

          And a short-short-long circuit is possible with a diode from the 555 output to the control input, so it changes the threshold as it triggers. Short-short-short-long would be more difficult.

      2. The flaw in your argument is that you need software guys to handle it, whereas the 555 circuit is programmed as it is designed, so the hardware guys do it while they’re drawing up the schematics and making the layout anyways, and you don’t need to spend any budget on software design, testing, and then programming the chips in production.

        1. When building >1000 of a device, you typically buy a roll of MCUs that have been factory pre-programmed. But, your “need a second person” argument does count – but not at this level of complexity. The same engineer who does the circuit can write the 8 lines of firmware…

          1. Unless you need to adjust something in the circuit during production, such as measuring the ADC offset or the RC oscillator period and then writing back correction factors, which in the 555 circuit would be accomplished by tolerance planning and/or simply turning a trimmer when the circuit is being tested for function.

            For some simple applications that are manufactured in the thousands and millions though, it’s not going to be a 555 or some commodity MCU, but a custom ASIC that is potted directly onto the PCB under a blob of black glue.

          2. @Dude nobody is testing these for function. Their QC is probably “Haha just try to return it, you’ll pay $40 shipping to China”.

            The tolerance may well be laser trimmed into the RC oscillator on the MCU, to within a few percent, if it’s anything like AVR. The nice things with MCUs is it keeps more of the need for precision on one place, at the chip fab, with the specialists.

            If it was a more complicated circuit and someone really was adjusting it, it would probably be cheaper to automate the process of measuring and writing a correction factor than to hire a non-slave-labor-priced worker to turn a fussy knob.

            If it was a nicer model and cost wasn’t an issue, an MCU would allow the end user to program it with some simple serial commands.

            There’s probably applications where a 555 is a little better, but not many where they’re a whole lot better.

          3. @Dude I work in small-volumes, where we don’t have a dedicated QC team, X ray equipment, or anyone truly good with their hands. I’ve done designs meant for outsourcing to expensive contractors, but that did not stop boards from coming back incorrectly assembled, with chips installed in random orientations.

            A lot of people with talent for “the basics” of life, like getting a chip on the right way, or driving a car without it being an instant death sentence for anyone in the general area, don’t really seem to understand how common basic mistakes like spilling crap or typing the wrong dd command and wiping a disk.

            When you’re doing aerospace/medical, you can find the people who almost never make simple errors, you’ve got the money. The rest of the time, you have to work with what you got, and you might have 1%ish failure rates for very basic things.

            When I was doing assembly work, my big timewaster was soldering LEDs on the wrong side of the board occasionally, and we had someone with a habit of bad crimps. Now one of the problems I have is crappy switches and jacks that wear out.

            A whole complex I2C system was totally worth it to avoid a few wires and made everything go vastly smoother.

            Simplicity only works when everyone does everything right. If even a few people don’t, a few percent of the time, then the few percent failures from basic things like bad solder joints get to be more annoying than even crappy software.

            But software is far easier to get right, because there’s no manual skill or fancy machinery needed for production. Get it right once, and it keeps working.

            I almost suspect part of why China does better than us is that they know how to use complexity, rather than trying to find the best people and materials to make simplicity work.

      3. I would like to be able to turn on exterior lights or use turn signals or change climate controls without having to pour through a series of touch screen menus though. Plus, if the touch screen breaks or stops being calibrated then you lose half the functionality or more of the car and they tend not to make them easy or cheap to fix or replace either.

      1. Nah, the 741 is one of the best chips in the world, along with the 555 and LM386! :D

        For example, it can go rail-to-rail, supports a large voltage range etc.

        It’s really nice as a comparator, also.
        Still use it in my DIY HamComm modems for SSTV on MS-DOS! Really cool!
        YT video by some other dude:

        Here’s a web site that has a diagram, incl. external battery option:

        1. I’m lazy and use LM324s for almost everything (even stuff they don’t do well, like comparator) for the sole reason that I got a 5000-pack free a few years ago and am still going thru it.

  1. How about an arduino (or similar) with a small FPGA built into the same package and 4-8 extra GPIOs? Then you could program NAND gates and create timer circuits (no 555 needed, I never liked 555’s (there, I’ve said it!)), or operate a high-speed logic front end.

    1. Cypress PSoC 4 does exactly that, minus the architectural strangeness that Arduino is, instead simply relying on the user to choose to put whatever they want on an arm cortex-M, and if that’s a arduino firmware, well, so be it.

      But: every other MCU I’ve ever met already comes with at least one (typically, multiple) timers that you can flexibly route to GPIOs, not quite sure what you’ve been missing there?

      1. The point of the 555 isn’t that it’s a timer/oscillator but that it’s a programmable set/reset latch with analog input comparators that can be wired into a thousand different things, including timers and oscillators.

        It’s a convenient building block that by itself can replace a dozen components – the 555 or the 556 is the analog electronics equivalent of an MCU. You can drive small DC motors with directional PWM control, generate servo signals, dim lamps, make an FM transmitter, a solar panel MPPT controller, battery charger, frequency multipliers and dividers…

        The most useful function for a 555 that I’ve found is an analog comparator with a high impedance schmitt-trigger input that can be trimmed to any threshold voltage you like. Usually you would do that with an op-amp but because it needs feedback and the output tends to stick to the power rails, it becomes slow and sloppy in practice, and requires many more components.

          1. Whenever you start thinking about something you could with an MCU but you can’t because you’re already juggling with your timers and interrupts to get everything working concurrently, and you think “hmm… what if I added some other IC for that…”, usually about 80% of the required logical blocks are already in the 555 chip and you just need a transistor or two and some passives.

            Or you can go on a wild rabbit hunt down obscure parts listings trying to find the exact IC you need, that is available with a lead time up to six months and sold in units of 10,000 when all you would need is one.

          2. >an entry-level to mid-range MCU runs out of timers

            You didn’t get the point. If you want something to happen without it being interrupted and delayed by other events happening inside your MCU, or vice versa you don’t want your carefully timed interrupt being delayed or skipped for yet another interrupt, you kinda have to think up something else.

    2. How about an AVR that controls selectable resistors and capacitors for the 555 and runs a simple arduino like interface that lets you select the resistor and capacitor for the 555.

  2. I’d buy one.

    All silliness aside, this is a great idea for its teaching value.

    Taking people who are used to pasting a bit of copied code into a window to make the blinking light do something else will have an “aha” moment when they realize that it could be done (if inflexibly) with discrete components. That all those calculations might actually add up to something interesting.

    It’s roughly the equivalent of having photography students develop and print actual film just for the experience, rather than simply living in a world of RAW files and Photoshop. They may never take to it (and few of us really miss it) but seeing that image come up in a red-lit tank for the first time is pure magic.

    This is kind of the reverse of people’s experience to date – starting with components and discovering the flexibility of MCUs, but there will come a time (if it hasn’t already) where informal experience and education (and possibly the formal version) might miss that first step.

    1. The same goes for working with CNC machine tools. People should at least know the basics of how to run a manual lathe and milling machine before they ever touch a computer controlled one.

  3. This “Dude” commenter is really taking the “if the only tool you have is a hammer” adage to the next level. Can’t tell if this is a joke or if someone actually thinks this way.

    1. All a dumbass can do with a hammer is knock in nails, but a hammer can weld, forge (Including making it’s own nails), rivet, flatten metal, hollow metal, shrink metal, stretch metal, all manner of shaping operations. Then if you’ve got a hammer, you can make yourself a chisel, do stonework, woodwork, rebuild civilization to 18th century level. Yup, the 555 should be proud to be called a hammer.

      1. On human timescales you’d probably be better off using other tools. Just because you can do everything with a hammer, doesn’t mean the result will be better than if you use other tools. Your comment is kind of proving the point of ‘every problem is a nail’.

          1. Could you make a 555 from minerals at home in your shop, or are you just arbitrarily drawing the line at the 555? To me it’s no shame to admit that I can’t do everything myself. Cooperation and standing on the shoulders of giants is what got us where we are today, not individual omniscience.

          2. How can you master the problem when it might change at any time, and you don’t know the full details of the environment it’s going to be in?

            In real world projects, actually understanding anything at all about the requirements is often not possible till after the thing is in production and you find out how it breaks.

            Rather than mastering problems and tools, people who use industry standards and MCUs are trying to become experts at working with imperfection and complexity.

            A 555 will do just fine if you know what you’re building, what temperature it will be exposed to, how fast it should blink, and with what voltage.

            An MCU will do just fine even when the only person who knows those things is on vacation, till the day before install.

            Most people use their preferred tools even if they aren’t perfect for the task, and people prefer MCUs as their go-to, because they’re just plain easier, and you can focus on other things, and make decisions later in the process.

  4. You don’t have to worry about a 555 having spyware or phone home to some god forbidden 3d world country.
    You can reverse engineer the circuit by reading the values of passive and modify the timings. Can’t easily do the same for the micrcontroller – there might be protection fuses and/or OTP part.

    1. If you, during the engineering phase, are concerned about the ability of your circuit to be reverse engineered, why not just open up the schematic and software? This seems like a solution looking for a problem.

  5. Is so sad when a new product is produced with ancient tech. Everybody knows the LM555 (rev D) is soooo much better than that outmoded SE/NE series. If some one wished to used antiquidated crap they should at least go Quad core NE558. Cheap leaky electrolytic capacitors that dry out within a year should be used for upgradeable m$ quality viral effect.

  6. The truly sad part is that buying a 555, the cap and resistors, the connectors, the regulator… something to hold it all together… It’s probably cheaper to use an ESP-32 Cam and have it stream video of the light blinking… you know, for diagnostic purposes :)

    I suppose it will be a few more years before we get to the point where it’s just cheaper and easier to plunk in a –whatever– and let the AI decide how fast the light should blink.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.