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.