Programming A 555 Chip


[Phillip] needed a way to trigger an input every 8 hours or so. This is a snap with a microcontroller with a proper timer, but he recently heard about a very cool programmable timer chip that’s also a 555. Of course CSS555 timer chip has an obscure programming interface, but that isn’t a problem when you can program it yourself with a parallel port.

The CSS555 timer chip (PDF…) is a strange little beast. It’s pin compatible with everyone’s favorite timer IC, but also has a programming mode that allows the output to trigger on every 1 cycle, every 10 cycles, and so on up to one output every million cycles. Basically, it’s a 555 with a huge programmable capacitor that only costs two bucks.

After building a programming circuit from a 74125 hex buffer chip, [Philip] connected his programmer to the parallel port of an ancient PC. For a little retrocomputing cred, he wrote a small app in Forth that pushes commands from the parallel port to the CSS555 chip, greatly increasing the time delay of the chip’s stock configuration.

It’s a neat build, and an awesome introduction to a really cool timer chip. Of course this could be easily replicated with a $2 microcontroller, but that wouldn’t give [Philip] the satisfaction of using a 555.

23 thoughts on “Programming A 555 Chip

      1. While I haven’t looked recently, at one time there where Intel atom boards that had the legacy ports at reasonable prices. I glad I took a look at the links you provided. until I did I was unaware that the integrated graphics on some motherboards will require a certain type of Intel CPU. Perhaps that only for HD video only, but now I know something I have to be aware of when shopping for bargains

  1. On cursory examination, I can’t see any reason that a near-brainless Arduino ( like the tiny and cheap DigiSpark) or even a “high end” FTDI chip that has a few I/O pins come with it, can’t feed the “high end” 555. Am I missing something? Does programming this thing really require finding a steam driven PC having a parallel port? BTW, like Zombie, I have two of them sittin’ here, and Windows 98 SP1 still runs just fine! I’m asking this question for all the youngsters out there who are not compuarcheologists. . .

    1. HI, I had originally thought about using an MCU but I needed to throw the programmer together as quickly as possible (I wanted to use the CSS555 in another project). I had all of the components on hand including the the old laptop so it didn’t take long to build the programmer hardware. The laptop has an old C compiler and a version of Forth (called Fifth) already installed. I chose to use Forth because I thought it would save a little time not having to recompile the code after every bug fix (it did). Also, I could write little modules to test the hardware on the fly.

    1. Interesting question… the CSS555 would need to be powered so the capacitor trim settings were working. (It only requires a few microamps.) One side of the capacitor is hard wired to GND.

  2. Why anyone is actually producing such a chip in the 21st century is beyond me, but it’s cute. I don’t think you really need a parallel port or microcontroller to program this thing, as there are only 6 configuration bits and 8 bits for the capacitor trimming to be programmed. A few switches, a LED, and a debounced pushbutton for the clock is all you need to do it manually.

    1. Indeed. It had its time in the light and did many projects with it back then…(showing my age here). I don’t see the need for it in the 21st century, when a $0.35 microcontroller can do everything this thing can and then some.

  3. This really is a 555-based analogue chip? Not just an 8-pin PIC with a bit of software? Next question, why bother manufacturing this when you could just sell an 8-pin PIC with the right software? Finally, why is there a market for this when you could just program a PIC?

    1. Look at the total cost of the two methods. A regular 555 you just solder in there, the uC needs to be programmed, and the one you were using has probably just been discontinued.

      Then there’s the actual performance. 555’s are hard to kill, can source/sink a lot of current, don’t need watchdogs or brownout monitors and so on.

      Obviously the CSS555 is harder to us than a normal 555, but may still have the other points going for it. It is weird to open up equipment and find a 555 sitting happily in there.

      1. I still don’t understand the appeal. Lots of uC’s can sink/source plenty of current (if you need more just add a transistor) and, despite the 555 vaunted current handling capabilities, I’ve managed to kill more than a few 555s. The software to emulate a 555 is really simple, provided you just want the uC to do the standard things a 555 does (pulses, pulse trains, etc). Plus, most uC’s have a crystal driver, so you can actually generate predictable, repeatable timing. Heck, even the built-in VCO on an MSP430 would be an improvement in that department.

        1. I’m pretty sure that 555 timers can run up to 15V. This has obvious benefits when running higher voltage circuits that only need a simple timer.
          As someone said, a 555 needs no programming, are readily available, have EXACTLY the same pinout, everybody manufactures them so you have no risk of them being discontinued…
          just because you can make something do what you want does not mean that there is no reason to go and buy something that will do the task with less effort on your part.

        2. What’s to understand?

          If a uC fit your skillset / budget / performance etc matrix then use it. If you need to use a 555 then use that.

          If you can justify your choice then that’s all you need.

          It’s simple a matter of design, occasionally an older dumber chip works well, though as uC price/performance gets better the 555 looks more & more unattractive.

          I’ve seen recent designs that could be replaced by a $2 uC and a few dozen lines of code, so who know what their justification was.

          On the other hand one was something you don’t seem much of these days, an IR remote control when the 36kHz carrier was generated by a 555. These days remotes use custom chips, and a decent uC can generate that 36kHz easily enough, but in this case they were after low power, and thus wanted a very slow uC.

          They might have been able to find a uC that worked (speed vs power), but another factor is actually getting something made – simpler components can shorten design & test time.

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.