Could the ancient Romans have built a digital computer?

The Romans were undoubtedly master engineers. They were experts at civil engineering, building roads, improving sanitation, inventing Roman concrete, and constructing aqueducts that adhere to tolerances impressive even by today’s standards. Perhaps the best evidence of their aptitude is the fact that many of those structures still stand today, almost 2000 years later. They even began dabbling in technology vastly ahead of their time. Hero of Alexandria drew up plans for a rudimentary steam engine in his Spiritalia seu Pneumatica. He called it the aeolipile.

It didn’t work very well. However, by the late 3rd century AD, all essential parts for constructing a steam engine were known to Roman engineers: Hero’s steam power, the crank and connecting rod mechanism (in the Hierapolis sawmill), the cylinder and piston (in metal force pumps), non-return valves (in water pumps) and gearing (in water mills). That got me thinking: Could the Romans have built a digital computer using only the technology and manufacturing processes available to them?

Maybe the first thing you would think of is a mechanical computer, like the Babbage Difference Engine:

While it’s a beautiful piece of engineering, it’s actually not a computer. It’s a calculator. Charles Babbage did design a mechanical computer, called the analytical engine. It’s never been built, because it would take up an entire room and be extremely expensive. I don’t think the Romans could have built the analytical engine or other purely mechanical computer because of the tolerances required. I don’t know much about their manufacturing abilities, but I know they didn’t do a lot of it and imported most things. I couldn’t find the tolerances needed for the Harvard Mark I, an electromechanical computer, but I’m hesitant to believe that they could have built that either. It’s hard to know how precise manufacturing techniques were back then, but one of the best clues we have is the Antikythera mechanism. It uses hand cut gears that are surprisingly precise, but still probably not good enough for a mechanical computer. Small inaccuracies in the gear trains would add up, and this is evident in the Antikythera mechanism. It would be even more pronounced in a room sized contraption and would almost certainly prevent any useful calculations from being performed.

If the Romans couldn’t do it mechanically, they would have needed a semiconductor. When most people think of semiconductors, they think of clean rooms and millions of dollars of machinery. However, that kind of equipment is only needed for high performance semiconductors used in modern integrated circuits with high speed, high efficiency switching. It turns out that naturally occurring semiconductors are actually quite common. Minerals like zincite, bornite, and carborundum will work. However, the best mineral to use is lead sulfide, AKA galena. It be used without any modification directly after mining. It’s got a band gap of about 0.4 eV. Ancient societies knew all about galena, and the Egyptians used it as makeup.

They could have easily made a cat’s whisker diode by using a small piece of springy wire to touch a point on the galena crystal, creating a crude and unstable metal-semiconductor junction called a Schottky barrier diode. Current will flow from the metal into the galena, but not the other way around. This is the same technique that was used in early crystal radio receivers. POWs in World War II used the oxidation on razer blades as a semiconductor and a safety pin to create a diode so they could build receivers to keep up to date with news on the war. It took a lot of patience to find a perfect spot on the blade that would work, and likewise it would take time to poke the galena with the wire in different spots to find a place that would act as a diode.

If they could have built a diode, could they have built a transistor? The first transistor that Bell Labs built (although not the first transistor ever built) was point contact and looked pretty similar to the cat’s whisker diode.

Instead of a single point, they had two, each formed by the contact of the edge of a piece of gold foil onto a hunk of Germanium. A simpler version of this can be done by basically building a cat’s whisker diode but using two springy wires touching two different spots on the galena. So couldn’t the Romans have just modified their diodes to make transistors? In my opinion, no. When Bell Labs was experimenting with transistors, they tried making a galena cat’s whisker version and ran into some problems. To being “transisting”, the whisker tips had to be closer than 0.1 mm. They also found that you had to use freshly cleaved galena surfaces and any humidity would interfere. They had to make extremely sharp whiskers by dissolving the ends with electrolysis. Now, I don’t want to underestimate the Romans. Maybe they could have trained workers to be that precise or come up with some other way of solving the problem. But we’re going to take it easy on them because there’s a better way to get around the problem of no transistors.

The Romans knew how to make wire and also knew how to work iron. So now the question is, can you build a computer using only diodes, wire, and iron? Well, prior to 1953, no computers used transistors. The Romans knew how to work glass, but it’s unlikely they could have manufactured vacuum tubes. While a lot of early computers did use vacuum tubes, they often also relied on diode logic. There are two major problems you have to solve with diode logic. First, diodes have a voltage drop across them, which means you need to amplify the signal every so often. Early designers solved this problem using transistors as amplifiers. The second problem is that you can’t design a NOT gate (an inverter) using only diodes. Designers got around this problem also by using transistors (or vacuum tubes). So how could the Romans have done it without transistors? Well, you can build an inverter using a transformer by simply flipping the secondary output wires around. A transformer is just a square iron ring with wire wrapped around each side. You have to use discrete pulses rather than continuous logic levels, but that’s how everyone did it in the 40’s and 50’s. To solve the amplification problem, you can use a relay. You can make a relay using only iron and wire, but they’re often small, intricate devices and they have moving parts. I think if they recruited Roman jewelry makers and scaled the size so it was reasonable to work with, they could have produced relays. There are some really impressive pieces of Roman jewelry that have been found. The image is too large to embed here, but take a look at the chain on this piece.

They also would have needed to make memory, a way to preserve the state of the machine. The obvious candidate here is core memory. Most core memory was made using ferrite, but regular iron can be used. I won’t go into detail here on how core memory works because Wikipedia has a good article on it. If you’re not familiar, I recommend checking it out. It’s a really neat idea. Incidentally, you can also make logic using ferrite cores, like the Elliot 803 did, so that could be useful for supplementing (or even replacing) diode logic.

The last, and perhaps most important thing you need for a computer is electricity! We know that the Baghdad Battery existed back then, but it’s highly unlikely that a plausibly large array of them could power this hypothetical Roman computer. Instead, they would have had to use a generator. This is probably the most difficult part of this hypothetical computer. To turn a water wheel into a generator, they could have used a configuration like this:

But you need a magnet for that. Basically the only magnet they would have had access to is Lodestone. There are a couple of ways they could have made a better magnet. From Wikipedia:

Heating the [iron] above its Curie temperature, allowing it to cool in a magnetic field and hammering it as it cools. This is the most effective method and is similar to the industrial processes used to create permanent magnets.

Placing the item in an external magnetic field will result in the item retaining some of the magnetism on removal. Vibration has been shown to increase the effect. Ferrous materials aligned with the Earth’s magnetic field that are subject to vibration (e.g., frame of a conveyor) have been shown to acquire significant residual magnetism.

Stroking: An existing magnet is moved from one end of the item to the other repeatedly in the same direction.

By iterating the process several times to make successively stronger magnets, the Romans could probably have made some magnets good enough for a generator.

It’s important to note that I’m not a historian, I’m a computer engineer (who was trained using modern techniques, at that). So this is all speculation. I think if you traveled back in time to the Roman Empire and told them how to manufacture this stuff, you could plausibly create a very modest computer. My main concern is powering the device, I still don’t know if that would work well enough. But there’s only one way to find out: Experiment…

Are you an expert at Roman history or the kind of engineer who remembers using a mercury delay line? I’d love to hear about other tricks they could have used!

Update: The comments on Hacker News make some interesting points about this article. And here are the comments on MetaFilter.