Relay Computer Consumes Six Years And 4.5 Suitcases

If you thought your home-brew project was taking a long time, [Jeroen Brinkman]’s MERCIA Relay Computer project probably has you beat. He began working on this impressive computer back in 2014, and has been at it ever since.  In fact, the ongoing nature of the project is embedded into the name itself — the English translation of the acronym MERCIA is “My Simple Relay Computer Under Construction”.  Being interested in old analog and relay computers from an early age, [Jeroen] took on this project to educate students about how computers work.  The entire computer is build only using relays, diodes, and capacitors, not to mention color-coded wire based on signal functions. Using relays as the primary switching elements is at the core of his educational goal — anyone can understand how a relay works.

Understandably, this thing is big.  But he has cleverly packaged it to visually show the major building blocks of a computer.  While the exact size isn’t stated, we can estimate based on the photo of [Jeroen] standing next to the modules that these panels are about 1.5 m tall and perhaps 60 cm wide.  The whole computer is nine panels wide, making it about 5 meters long.  Except for the ROM assembly, pairs of panels are hinged together and they fold like a book and carried like a suitcases when being moved.  If you enjoy the clickety-clack sound of relays, be sure to watch the relay longevity test in the video below and check out our article on the 1958 FACOM from last year.

This is a fascinating project, but unless you have a couple thousand relays laying around and a decade of free time, it’s probably better to just enjoy [Jeroen]’s work rather than build your own.  We hope he releases schematics and other documentation once the project is finished.  You can follow his Facebook build log if you want to keep track of the progress. Thanks to [David Gustafik] for the tip.

Continue reading “Relay Computer Consumes Six Years And 4.5 Suitcases”

Visiting The FACOM 128B 1958 Relay Computer

If you study the history of computing you might have heard of the FACOM 128B, a Japanese relay computer from 1958. It holds the distinction of being a contender for the oldest computer that still works in its original form, as it resides in a Fujitsu building in Numazu Japan. [CuriousMarc] visited the old computer and created a video about it as well as painting a picture of other contemporary machines. You can see the video below.

[Marc] explains how a relay machine was already behind the times in 1958, and also shows how the 5,000 relay machine is laid out. The machine on display came from a Tokyo university and did the kind of computations you might use a computer for today to do engineering design.

Continue reading “Visiting The FACOM 128B 1958 Relay Computer”

Electromagnetic Field: TIM, A Relay Computer

We are probably all familiar with computing history to the extent that we know the earliest computers were surprisingly simple devices. While early electronic machines such as Colossus or ENIAC were hugely complex racks of tubes, once expressed as a schematic or as a network of logic gates they would be relatively straightforward for today’s electronic engineer to understand their operation. Those who have made an in-depth study of computing history may have heard of the work of Konrad Zuse in the mid-20th century, his relay-based machines predate their fully electronic cousins by several years.

A relay-based computer can be simple enough to be built by a home constructor, and at the recent Electromagnetic |Field hacker camp [Rory Mangles] outlined his TIM relay computer built while he was at school. It’s an engaging story starting from first principles and describing a series of TIM devices from a simple binary adder to the final fully Turing-complete computer. He describes the design process for his ALU, eventually going with a 1-bit serial design to economise on relays.

The machine has a Harvard architecture, with the program pathway consisting of a paper tape from which the code is run directly. The instruction set is called BLT, which of course means Basic Language of Tim, and there is a T++ assembly language. Loops and if statements are handled in a nod to the classical Turing machine by looping the paper tape. The original TIM is a few years old, but he reveals that he’s recently brought it out of storage and added a parallel port. Thus the finale of the talk is a demonstration, printing a “Hello World”.

We’ve placed the full video below the break, meanwhile we were lucky enough that [Rory] brought TIM along to the EMF Hackaday Readers village for our bring-a-hack, so the header image is from when we had a chance to examine it. If you’re curious to know more, he has a web site with some more TIM details.

Continue reading “Electromagnetic Field: TIM, A Relay Computer”

Because Building A Relay Computer Isn’t Hard Enough

For this year’s Hackaday Prize, we’re doing something special. We’re introducing achievements for Prize projects. Think of them as merit badges. If your Hackaday Prize project has multiple parts that come together into one unified, awesome whole, you get the Voltron achievement. If you’ve built a musical instrument that unexpectedly blows everyone’s minds, you get the Diva Plavalaguna Achievement. A select few entries will earn the Pickle Rick achievement. What’s this? It’s a jaw-dropping build that makes you shake your head in the totality of engineering perfection.

Here’s a project that nails this achievement. It’s a homebrew computer, made out of relays, that runs a custom instruction set. It’s built on Brainf*ck. It is, by far, the most absurd and amazing homebrew computer you’ve ever seen.

Several modules on a shelf, for scale.

First, the hardware. This CPU is built out of about 800 Soviet reed relays, RES64, RES55, and RES-43 relays, if you want some part numbers. These relays are mounted on logic cards connected to a backplane. Each backplane consists of thirty-two of these cards, and it takes two backplanes to build up a 16-bit full adder. The 16-bit instruction pointer and 16-bit address pointer each fit on half a backplane.

Moving up one level, the instruction set for this computer is based on Brainf*ck, with a few additions. The ‘+’ instruction adds to the current value, the ‘>’ instruction still increases the current memory address, but there are a few new instructions that make this CPU not an interminable world of suffering. There’s now a ‘write current data value to register’ commands, and logical XOR instructions.

Have relay-based computers been done before? Yes, and so have Brainf*ck ISAs. The combination is rarely seen, and we’ve never seen one that performs this well. Below, you can see a video of this computer counting at 500 operations per second (or 500 Hz from a frequency counter). This is really unimaginable with any other relay computer we’ve seen, and it’s all thanks to those really tiny Soviet tubes. If you want a Hackaday Prize project that’s jaw-dropping, here you go.

Continue reading “Because Building A Relay Computer Isn’t Hard Enough”

Single Board Relay Computer

We all know you can build a computer out of relays, and if you’re a regular reader of Hackaday, you’ve probably seen a few. Actually designing and fabricating a computer built around relays is another thing entirely, and an accomplishment that will put you right up there with the hardware greats.

The newest inductee of the DIY microcomputer hall of fame is [Jhallen]. He’s built a microcomputer ‘trainer’ out of relays. It’s got more click and clack than the Tappet family, and is a work of art rendered in DPDT relays.

The biggest consideration in designing a relay computer is the memory. You can implement a CPU in a few dozen relays, but even a small amount of memory is still hundreds of additional components. In this computer, [Jhallen] is sort of cheating. The memory is implemented as 256 32-bit words on a microcontroller alongside a controller for the front panel. The CPU is still all relays, with support for self-modifying code, a bunch of instructions for conditional jumps, and an ‘increment and jump if not equal to zero’ instruction.

Below, you can check out a very in-depth video of the relay computer in action, starting off with some satisfying click and clack of Euclid’s algorithm and a demonstration of the variable clock rate. The video goes on to demonstrate the assembly language of the relay computer itself and a bit of the overall architecture. This is really one of the most educational demo videos for vintage computing we’ve ever seen.

[Jhallen] assembled a few of these boards and he’s selling some of the extras. If you have $600, you can pick one up over on Tindie (standard Hackaday / Tindie disclosure statement). Considering the amount of soldering required to assemble this board, we’re going to guess that’s a very fair price.
Continue reading “Single Board Relay Computer”

Relay Computer: You Can Hear It Think

Modern digital computers have complex instruction sets that runs on state-of-the-art ALUs which in turn are a consequence of miniaturized logic gates that are built with tiny transistors. These tiny transistors are essentially switches. You could imagine replacing with electromagnetic relays, and get what is called a relay computer. If you can imagine it, someone’s done it. In this case, [jhallenworld].

The Z3 was the first working programmable, fully automatic digital computer designed by Konrad Zuse. The board employs modern semiconductor devices such as memory and microcontrollers, however, the CPU is all relays. A hexadecimal keyboard allows for program entry and a segment display allows tracking the address and data. The program is piped into serial to the parallel decoder and fed to the CPU where the magic happens. Since the core is electromechanical it is possible to connect the output to peripherals such as a bell as demonstrated near the end of the video.

This project is a good balance of retro and modern to be useful to anyone interested in mechanical computers and should be a lot of fun for the geek kind. Hacking this computer to modify the instruction set should be equally rewarding and a good exercise for students of computing theory.

There is a SourceForge page dedicated to the project with the details on the project including the instruction set and architecture. Check out the video below and if you are inspired by the project, be sure to check out the [Clickity Clack]’a Videos on designing a relay computer bit by bit.

Relay Computing

Recently, [Manuel] did a post on making logic gates out of anything. He mentioned a site about relay logic. While it is true that you can build logic gates using switch logic (that is, two switches in series are an AND gate and two in parallel are an OR gate), it isn’t the only way. If you are wiring a large circuit, there’s some benefit to having regular modules. A lot of computers based on discrete switching elements worked this way: you had a PCB that contained some number of a basic gate (say, a two input NAND gate) and then the logic was all in how you wired them together. And in this context, the SPDT relay was used as a two input multiplexer (or mux).

In case you think the relay should be relegated to the historical curiosity bin, you should know there are still applications where they are the best tool for the job. If you’re not convinced by normal macroscopic relays, there is some work going on to make microscopic relays in ICs. And even if they don’t use relays to do it, some FPGAs use mux-based logic inside.  So it’s worth your time to dig into the past and see how simply switching between two connections can make a computer.

Mux Mania

How do you go from a two input mux to an arbitrary logic gate? Simple, if you paid attention to the banner image. (Or try it interactive). The mux symbols show the inputs to the left, the output to the right and the select input at the bottom. If the select is zero, the “0” input becomes the output. If the select is one, the “1” input routes to the output.

Continue reading “Relay Computing”