Introduction
In 2007 or so, I read Neal Stephenson’s The Diamond Age: Or, A Young Lady’s Illustrated Primer. In referring to nanocomputers, the book used the term rod logic. I looked that up, and found Eric Drexler’s PhD thesis establishing the field of nanotechnology, Nanosystems, where he used molecular rods with two positions, in and out, representing a binary digit. Rods interacted to form logic gates: they had knobs on them that could allow or inhibit the movement of the next rod in the sequence.
I became intrigued by the idea of rod logic, and figured that someone must have built some logic gates out of LEGO using rod logic, but I couldn’t find a single instance. Gates build out of LEGO seemed to use rotation to represent bits, or if they did use rods, input and output were connected mechanically. In both cases, there was no configurability. The parts could not be easily reconfigured to provide different logical functions. Also, the power source, either rotating or pushing or pulling, was applied to the input, and directly drove the output. There was no separation between binary representation and power supply. These two issues violated what was, to me, the spirit of Drexler’s rod logic.
So I set out to do it myself: to build a simple one-bit full adder out of LEGO using rod logic. After several false starts, I finally found a design that worked, and at the end of 2009, I published the plans online.

The world now had a LEGO rod logic device. Now what? How about an entire computer?
I decided that building an entire computer out of LEGO wasn’t practical, especially since the full adder that I built seemed delicate. I wanted a computer that would be able to run by itself for hours upon end. And that could be run by a steam engine. Who else designed a computer powered by steam?
Charles Babbage’s Analytical Engine
In 1834, Charles Babbage conceived of his Analytical Engine, which was a device that could perform calculations, store the results, and then use the results for further calculations. The Engine could also alter the calculation it did based on previous results.
The Analytical Engine was never actually built. Babbage insisted that he would not build it, leaving it to others. There is, however, no question that it could have been built at that time.
The ability to store results in any of several locations, coupled with the ability to alter calculations based on previous results, made Babbage’s design the first computer, as opposed to a calculator. In modern terms, Babbage’s design was Turing complete. Turing-complete means that the computer must be able to conditionally branch based on the result of an operation, and it must be able to change any memory location. This is the technical difference between what we consider a computer and a calculator: a calculator cannot perform branches. All computing devices designed prior to Charles Babbage’s Analytical Engine were calculators.
Babbage’s previous effort, the Difference Engine, was a calculator. And in fact, no Turing-complete computer was actually built until the Zuse Z3 was built in Germany by Konrad Zuse in 1941, so every device built prior to then was a mere calculator. However, by 1941, the age of steam was well over, and the Z3 used electromechanical components.

Image: A replica of the Zuse Z3 at the Deutschen Museum in Munich, 2006. Photo: Venusianer
This means that an all-mechanical steam-powered computer has never been built.
Wouldn’t it be awesome, therefore, to build one? (No? Just one word for you then: steampunk.)
A rod logic engine
Babbage’s design was based on rotary decimal components. Some components had ten positions, others had 19 (-9 through +9). Based on my work with rod logic, I concluded that a rod logic binary computer would be easier to build than a rotary decimal computer. It would certainly require less of a variety of parts.
(Since I started work on the Logical Engine, an effort to actually build Babbage’s Analytical Engine, Plan 28, has started. That project is planned for completion by Oct 18, 2021, the 150th anniversary of Babbage’s death. This device would also be an all-mechanical computer, but I don’t know what the power source will be.)
The Analytical Engine had an arithmetic unit, called the Mill, which could perform four operations: addition, subtraction, multiplication, and division. The Logical Engine’s Mill is based on more modern operations: sixteen mathematical and sixteen bitwise logical operations. The mathematical operations include addition, subtraction, increment, decrement, and shift. The logical operations are the usual one would expect: negation, and, or, exclusive or, and so on. The Logical Mill is a 16-bit arithmetic logic unit.
The Logical Engine, like the Analytical Engine, would be programmed by means of punched cards. The Logical Engine, however, will have far less memory than the Analytical Engine: only four words of 16 bits each, making 64 bits total. Binary memory is very expensive.
The Logical Engine’s display unit will probably be a mechanical dot-matrix display, and may also have a printing mechanism (i.e. typewriter).
Progress to date
So far, I have proven the rod logic mechanism using a two-input three-output logic block.
It was displayed at Maker Faire in New York City in September 2010, and calculated AND, OR, and XOR functions for its two inputs.
I have also completed the design of the 16-bit Logical Mill.
Right now I am perfecting a drive mechanism which will be able to smoothly power and operate function blocks like the above. Once that and several other, more minor, technical investigations are completed, I will be starting a Kickstarter fund drive to raise funding for completing the 16-bit Mill. I hope to start the fund by May 2011.
Once that is complete, the rest of the computer (program, display, memory) will follow, and the entire thing should be completed by December 2012, the world’s first steam-powered all-mechanical computer.
And since the concepts of the Engine scale down to the nanometer level, the whole thing can serve as a 6,000,000:1 scale model of a Drexler rod logic nanocomputer.


Twitter
RSS