A Z80 Computer With Switches And Blinkenlights

While most people who build their own computer from chips want the finished product to do something useful, there’s something to be said about a huge bank of switches and a bunch of blinkenlights. They’re incredibly simple – most of the time, you don’t even need RAM – and have a great classic look about them.

[Jim] wanted to build one of these computers and wound up creating a minimal system with switches and blinkenlights. It’s based on the Z80 CPU, has only 256 bytes of RAM, and not much else. Apart from a few extra chips to output data and address lines to LEDs and a few more to read switches, there are only two major chips in this computer.

With the circuit complete, [Jim] laser cut a small enclosure big enough to house his stripboard PCB, the switches and LEDs, and a few buttons to write to an address, perform a soft reset, and cycle the clock. One of the most practical additions to this switch/blinkenlight setup is a hand crank. There’s no crystal inside this computer, and all clock cycles are done manually. Instead of pushing a button hundreds of times to calculate something. [Jim] added a small hand crank that cycles the clock once per revolution. Crazy, but strangely practical.

[Jim] made a demo video of his computer in action, demonstrating how it’s able to calculate the greatest common divisor of two numbers. You can check that video out below.

50 thoughts on “A Z80 Computer With Switches And Blinkenlights

  1. A mechanical clock – that’s awesome. Makes me think someone needs to build a steampunkish computer with a swinging grandfathers clock pendulum!

    Also vaguely reminded me of an old apple ][(e?) hack where someone coded a pre-emptive multitasking OS. To trigger the IRQ for the next timeslice, he built an external clock with a speed control knob that let him manually manage the timeslices.

    1. I created one of those after being exposed to the PDP-11/23 as a 11-12 year old. I even had it online with two modems, I called it PSX-11 and it had a forum,multiuser (3) chat, command line with batch programming, multiple accounts with their own drive space, etc.. all based on the RSX-11 OS syntax and the behavior of a forum/BBS on the PDP-1090 I had access to. all running on an apple IIe with two disk drives and two hayes modems.

      Pretty cool I thought as a 11 year old in the mid 80’s.

      1. Which reminds ME of what I saw on the Digital PDP-10 (KA-10 processor): it had a speed control knob, which you could use to slow the CPU WAAY down – don’t remember how far, but this was a debugging aid, and it was slow enough you could see individual instructions executing, looking at the blinkenlights panel. The hardware manual warned you, though, that since the CPU was asynchronous (i.e., different instructions had different execution times), turning the speed knob all the way up would cause some instructions to terminate before they were completed.

  2. Those toggle switches will produce lovely little blisters on your fingers if you use them over and over again to key in the bootloader, the flat handle switches on the IMSAI are much more user friendly

    1. Oh wow… he must have tightened them all in SEQUENCE. He was probably able to get like 1/16of a turn on each, before having to go to the next one in the line. That must have taken forever. Just a tiny bit of a turn on each one to finally set them all. UGH!

      1. Exactly, from the inside out. Had to solder all the switch wires prior to installing and tightening from the inside…..I assume. Built a Z80, Popular Electrnonics I think. Not as cool as this one though?

    2. They look too close together, but there’s actually JUST enough room to turn one nut if the one next to it is in the right position. I didn’t measure it. It was just plain luck that that worked.

  3. The crank is a lovely idea. But now I have an image in my head of a third world country, where a bicycle dynamometer is powering a small computer. With a geared attachment turning the clock crank.
    Similar to the shortwave radios that you wind up.

    What is the lowest power computer system? I’m guessing something based on a calculator.

  4. Reading the article, he mentions that the clock line is connected to the least-significant-bit of a hex, or decimal, rotary encoder switch. If hex, then it would pulse high and low 16 times per second (8 high, and 8 low.) A very imaginative way to generate very low-speed pulses for a computer.

  5. A great project! I particicularly like the instruction set summary on the cover, and the hand crank.

    On using the crank to power it: A CMOS Z80 could be used to get the power consumption down. The LEDs would then be the biggest power hog. Discrete superbright blue or white LEDs could be used; the best of them are visible at 100 microamps.

    For the ultimate in low power, I’d use an 1802 CPU, with an LCD display. I’ve gotten these to run on less than 2.5v at 1 microamp!

      1. Modern CMOS Z80s are completely static, and work at 0 clock speed. But the early NMOS Z80s might not. My 1982 Zilog Z80 data sheet says TwCl is the clock low time, and is specified at 2 usec max. TwCh is the clock high time, and has this note: “Although static by design, TwCh of greater than 200 usec is not guaranteed.”

        This basically means “it might work”. :-) If it doesn’t, try another chip; especially a *newer* or CMOS chip.

    1. Yes! Modern CPUs have dynamic logic, so can’t be clocked below a certain frequency. But interestingly, a Z80 is fully static but also has refresh logic and can use DRAM, if you clock it at the 6-10MHz range it’s capable of rather than the few hertz I’m using it at.

  6. I am new to Hackaday. I am looking for help in building a front panel Z80 computer similar to this one, but a bit bigger. Is there a place on hackaday for a development forum?

    1. Also look at the “classic” front panel designs for the Altair 8800 and IMSAI 8080. The schematics are all online, and you can even (sometimes) get PC boards for them from sites like N8VEM. They were originally designed for the S-100 bus with an 8080 CPU, but were later upgraded to support the Z80, as it was also a very popular CPU on this bus.

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.