## Push-pull logic gates

A few people have designed boolean logic devices using LEGO pneumatics and gone on to develop fundamental computer devices such as full-adders and flip-flops. These have been discussed greatly on LUGNET. I had suspected that there would be a large number of logic devices using mechanic principals, but a search for mechanical logic devices didn't get many hits. I got one hit on mechanical logic detailing the use of rods to make logic gates. To my surprise I only came across two LEGO webpages that gave any details of mechanical logics gates. The first page, has details of a LEGO NOT gate. And the page, which has now gone was the other, had photos of an AND gate using clockwise and anti-clockwise rotation to represent the logic states. If you made any mechanical logic gates then please contact me.

Finally some one has answered the call and even though they're not LEGO, but K'NEX, I'll give you the link to William Hilton's video of his K'NEX logic gates. They still use a push-pull system like mine, but the design is quite different.

I originally considered using a clockwise rotation of an axle for logical 1 and anti-clockwise rotation for logical 0. This is the method used in the other LEGO logic gates I found. However, I simply couldn't conceive of any simple way to decouple the axle motions from two inputs to a single output - other than a NOT gate. So I decided to try using push/pull-rods to represent the logic states. Pushing an axle in would be logical 1, and pulling an axle out would be a logic 0. The advantage of this method is that you can used both linear and rotational motion. My mechanical logic gates take one-stud length of motion and converts it to another one-stud of linear motion.

I have now designed working versions of all the basic gates, that is the NOT, OR, NOR, AND, and NAND gates. More recently I've produced an XOR gate that is a single gate in its own right, i.e. not a composition of ANDs, ORs and NOTs. Using two NAND gates I created a NAND gate latch or Flip-Flop. The natural follow on from these is clocked logic, half and full adders and ultimately a genuine "computer" device. At the moment all these gates essentially just demonstrators. They work, but because of the limitations that arise through gear slippage and inertia, the real practicable use is probably not that great. One possible way to resolve these problems is via buffering and I've now designed a basic mechanical buffer.

The details of logic gates can be found by using the following links.