Metal computing, part 1

Brass, brass, wonderful brass. It's Victorian and steampunk and all industrial-revolutiony. Let's build a rod-logic brass analytical engine! A hundred years from now, someone will take this design and actually build it, putting it in a museum as "an example of an early 21st century computation device in the style of the alternate-reality subgenre known as 'steampunk'".

I'm joking! In 2045 the Singularity will happen and we'll get uploaded, instead! Hooray!


1. Physical spacing considerations

Take a look at these two diagrams:

1-bit Full Adder

Identity gate profile

Although the rods in the diagrams are shown as smaller in width than the nubs, there is no particular reason for that. For simplicity's sake, let's make the rods the same width as the nubs. Call that width W. We could make the distance between rods 2W, but then the nubs on the rods would butt up against each other, causing friction. Instead, I'll add a little bit, say 0.5W, so that the rods are spaced 2.5W apart from each other. That leaves a space of 1.5W between each rod, with 1W taken by the nubs on the crossing rods. That leaves 0.25W on either side of the nub, allowing rods to slide freely.

Rod measurements and positions

The diagram also shows that a rod should be pushed ideally 1.25W, although because each nub is of length W, the push amount could theoretically range from fractionally more than 0.25W to fractionally less than 2.25W.

The same idea applies to the height of the rods and nubs. Let's say the height of a rod is 0.5W. This allows rods to be built from standard 0.5WxW bar stock. Let's also say that the height of a nub is W. By setting 0.5W clearance between a nub on one rod and the crossing rod one level away, we end up with rods to be placed vertically 2W apart from each other (a convenient factor). The nubs on vertically adjacent rods therefore have 0.5W of their material touching each other to inhibit motion.

If we take a bar measuring WxW, we can cut off WxWxW cubes from it. We can attach the WxWxW cubes to the rods using set screws to make nubs. A diagram of this is shown below, with W being 1/4 inch. In the diagram you can see a few empty positions, a position with a nub on the top, and one with nubs on both top and bottom. Although not shown on the diagrams, the holes in the nubs are also tapped to take the set screws.

2. Physical characteristics of brass rods

Is brass strong enough not to bend when it should be blocking the movement of another rod? Let's find out!

Assume a rod made of C360 brass alloy. The research I've done indicates this alloy is also called Free Machining Brass, Free Cutting Brass, Alloy 360, and C36000. In any case, this is a well-known physics problem involving a beam deflecting under a point load:

Point load deflection of beam

The maximum deflection, call it dmax, is given by the following equation:


  • F is the force of the point load,
  • L is the length of the beam between its fixed supports,
  • E is Young's Modulus, or the modulus of elasticity, for the material,
  • I is the second moment of area of the beam's cross-section,
  • b is the size of the beam perpendicular to the plane of bending (into the screen in the diagram), and
  • h is the size of the beam in the plane of bending (the vertical size in the diagram).

We already know what b and h are for the beam: b = 0.5W, while h = W. We're assuming that the nubs on the rod impart no structural stability to the rod. So the moment of inertia of the rod is simply (1/24) x W4, measured in in4 — so sue me, I'm in the U.S. and using U.S. measurements, and all the metal stock I get comes measured in inches.

E for C360 brass is 14 x 106 lb/in2 (or 14 000 000 psi, or 14 000 ksi).

Thus, we end up with the relation:

Here, R is the distance between the supports at the ends of the rod, measured in rod widths (W) to make things convenient.

We can see that the deflection is inversely proportional to W: the thicker the rod, the less bending, which makes sense. Also the deflection is linearly proportional to F: the higher the force, the more bending. Finally, the deflection is proportional to the cube of R, which is the real killer for deflection. The longer a rod, the more bendy it gets.

In general, we want the rod to bend in the middle less than 0.25W, because otherwise the pushing rod will falsly register a 1: it will be able to push the bent rod so much that it exceeds the 0.25W threshold. So, solving for F, we get:

We can plug in a standard bar stock size such as W = 1/4 in. But what should we use for R, which is the distance between supports in rod widths? Well, rods are spaced 2.5W apart. We can pick a number of rods such as 27, which corresponds to the largest box designed in the article on ALUs. That makes the distance between supports 67.5W.

Plugging in R = 67.5, we see that the force can be no more than 1.4 pounds.  1.4 pounds is not tiny, but it's also not huge.

If we plug in something smaller for F, such as 1 pound, we see that R can be no more than 75, which corresponds to 30 rods. We can take that as our design limit, past which additional supports must be used.

That is the maximum force. The minimum force must be able to overcome static friction in the rod. The dry static coefficient for C360 brass on C360 brass is not given anywhere that I can find. However, I have some pieces here, and I set up a completely nonscientific test. I have an 11 ounce piece (36 inches by 1/4 inch by 1/4 inch), and getting it moving required 5.5 ounces of force. This makes the dry static coefficient of friction 5.5/11 = 0.5. Again, this is highly unscientific, so this is a highly approximate value.

The density of C360 brass is 0.307 pounds per cubic inch. A 1/4 x 1/4 inch bar, 75 units (18.75 inches) long, weighs 0.36 pounds. I'm ignoring the nubs and holes and set screws.

It would require, therefore, 0.18 pounds to get moving — less with mineral oil lubrication. This suggests that we won't have to worry about static friction as a limiting factor in rod length.

Finally, just to throw some more hand-grenades, I've only analyzed the case of a point load. That is, one rod pushing against one rod. What happens if many rods push against one rod?

If we approximate the pushing rods with a distributed force, the relevant deflection equation is:

where f is the distributed load in pounds per inch.

If we say that every position on a rod is being sensed by another rod, this means that the force exerted by each rod is applied every 5W along the rod (since a 0 has a nub in one position, and a 1 has a nub in another position, and you can't have both 0 and 1 filled). This makes the distributed force F/5W. Solving for F:

For R = 75 as above, we get F = 0.12 pounds, or 1.9 ounces. That is a very small force — smaller even than the force required to overcome static friction — and this indicates that such an R will not work for the worst case.

If we want our maximum force to be 1 pound as before, then R becomes 44, or 17 crossing rods. This appears to be our final design limit for a single set of supports and rods made of brass.

3. Comparison to other metals

There's still a problem. The long square brass bar stock that I purchased is not straight. It is a bit curvy, and it would be much better if the rods were perfectly straight. Or, at least straight to within about 1/32 of an inch or better. I tried to straighten the bars by hand, but I doubt I could get it to that tolerance without a lot of work and/or special equipment.

What about other metals? I put together a comparison chart for easily-obtained and easily-machined alloys:


Modulus of Elasticity 
(x1000 lb/sq in)

(lb/cu in)
Self dry static
coefficient of friction

Price for
1/2 x 1/2 x 48 in,

1018 Steel 29 000 0.284 0.74 $ 7.95
Wrought Iron 28 000 0.277 0.25 - 0.41 N/A
C360 Brass 14 000 0.307 0.5 $ 32.49
6061 Aluminum 10 000 0.0975 0.34 $ 1.70

I included wrought iron here because that material was used most often up until around 1855, when the Bessemer process, able to produce mass quantities of good cheap steel, was invented. 1018 steel is very close in characteristic to wrought iron, except in friction. Note that the static self-friction coefficient was extremely hard to track down, and so may not even be accurate.

We can see from this table that 1018 steel is slightly lighter than C360 brass, and it is also twice as stiff, as well as being a quarter of the price!

So due to the price differential and the stiffness, I will sadly forget about brass, and use 1018 steel. The 1018 steel pieces I got are quite straight. A 12-inch length of 1/8 x 1/4 in stock was off by 0.03 inches, or about 1/32 in: well below the 0.5W (1/8 in) clearance between vertical layers. Pieces thicker than 1/8 in were not off by any measurable amout.

Using E = 2.9 x 107, and F = 1 lb, we get R = 51, or 20 crossing rods, which is slightly better than brass.

1018 steel it is!