Hacker News new | past | comments | ask | show | jobs | submit login
Lego Mechanical Computer (drmoron.org)
239 points by shakna 4 months ago | hide | past | favorite | 35 comments



Flip flop represented as a stick is genius, should be obvious, but looking at at a level of electronics, isn't. IMHO that is stepping back/out of the box thinking.

A flip flop is a circuit whose design only exists because electric on its own can't be held in a fixed representational state, whereas a stick obviously can!


reminds me of the use of redstone blocks as flipflop in minecraft


Excitingly, the next version of Minecraft will have a single block (Copper Bulb) that effectively works as a redstone T-flip-flop! Previously it has always required a handful of other blocks to implement one.


Yes!! I'm super excited about this. I always implement flipflops with a monostable circuit and a Redstone block. The copper bulb will make building out large circuits soooo much easier.


Eerily similar to molecular nanotechnology rod logic proposed by Eric Drexler back in the 80's


I mean, barring rigorous vibration.


I had a go at this concept as well, over a decade ago [1]. I used rubber bands to collect energy from the mechanical movement so the gate could be reset, but this would ostensibly require larger and larger forces to operate more complex gate architectures.

1. https://keshav.is/building/lego-logic-gates/


Love this! I once had a go* and failed.. this is really a step forward.

I think there's an important general principle about the role/capabilities of the external driver/operator that's party addressed here in the blog and video. You can see in the video a somewhat complicated manipulation to step the computer through one cycle and the author says:

"Because there is this feedback loop between memory and control logic, you need a fairly careful timing mechanism so that the output of the control holds steady long enough to set the appropriate state of the memory. That said, this control mechanism is basically missing from my computer. Instead, it relies on the operator (me) performing several different motions in the correct order to advance to the next state (as you can see in the video with me flipping several controls)."

This is importance bc it has to do with the thermodynamics of work. The more intelligent the operator, the less work efficient (less intelligent, so to speak) the computer need be. I'm impressed with the level of efficiency here.. his hand motions are rote and not particularly delicate.

The mechanism I had tried was to push a lego "program" (a flat block with protrusions) thru an "interpreter" (a chute with friction gears to drive a system of switches actuated by the program block's protrusions). This meant the driver was just a "push" of the program, which drove the system. Much nicer in theory, but also way harder and so didn't work. I also didn't have an interpreter of any sort. I had a few-bit display driven by the levers, so it was really just an analog machine.

Anyways, if anyone's playing with this, that's a suggestion for one area to focus.. to simplify the role of the operator to the point where there's no intelligence being used.. ideally just linear or rotational force.

* I was once into Quines and thought I was hot stuff after writing a self-printing program that also played the Game of Life[sg]. At work we had a table of legos, and I foolishly bet some colleagues I could build a self-printing program running on a lego machine. But the the computer is no simple feat itself. I'm now freshly inspired. I'd been exposed to the idea of a latch in school, but wasn't clear until now how important it is for state and control of the interpreter. [sg] https://github.com/pablo-mayrgundter/freality/tree/master/fu...


It's so cool to see someone actually try to build their silly daydream.

When I was about 12, in the early 1980's when consumer VCR's were hot "new" tech, I imagined building a giant purely mechanical (except for I/O) VCR. The thing I imagined was huge - it was about 50ft wide x 100ft long x 50ft tall and would have used tape about 6 feet wide. The size was apparently due to the limitations of mechanical modulation of permanent magnets used to record and the bandwidth required to record video. Don't ask me how playback was supposed to work with passive magnets but I think the idea was very sensitive paramagnetic heads amplified mechanically by some absurd degree. There was lots of mechanical differential signal processing in this idea.

This wasn't some passing daydream. Over at least six months I became increasingly obsessed with the idea of figuring out if it was even possible to build though I never had any intentions of actually building it. What I was obsessed with is figuring out how or if you could build such an outrageously impractical device.


Problem with page. The text “rod logic” connects to a page that doesn’t exist : https://sites.google.com/site/santiagoontanonvillar/Home/leg...

Does anyone know where the page moved ?

Is the page : https://anthony-zhang.me/blog/rod-logic/ A good substitute ?

Or is the page : https://keshav.is/building/lego-logic-gates/ A good substitute ?

Shakna, what were you originally planning ?

Thanks in advance.


It's available here: (Home is uncapitalized) https://sites.google.com/site/santiagoontanonvillar/home/leg...

Wayback machine is another good place to check when old links die. I was able to find a copy with the original link there.


Here's something I'm wondering: Is it possible to create mechanical logic gates that do not involve any friction, elasticity, springs, gravity, as well as any active powered control, but only frictionless motions.

Example: a NOT gate is trivial to make without any such friction mechanics, just a lever (one side goes up, other goes down, so 'NOT') or two gears (one rotates one way, the other the other way).

But an AND or OR gate, needed to make the universal NAND or NOR gate to get any arbitrary logic, seem to always require some kind of elastic band, spring or gravity based mechanism to return the gate to initial position.

Friction / elastic bands, etc... cause wear and tear, which is why it'd be interesting to see a mechanism that's as frictionless as the NOT gate described above.

Things that are fine to use according to what I mean above would be: gears (including non-circular shaped ones), planetary gears / differential, levers, ... An example of something that is not fine is: an OR gate made by two sticks that can push an object forward, and an elastic band (or gravity or spring) makes the object move backwards again in the case both sticks are retracted backwards.

I mean theoretically, there's always friction in gears anyway but I don't mean avoiding that one.


There is a large amount of theoretical research on the subject of energy limits in computing. For example, Landauer's principle states any irreversible change in information requires some amount of dissipated heat, and therefore some energy input [1].

Reversible computing is an attempt to get around this limit by removing irreversible state changes [2].

[1] https://en.wikipedia.org/wiki/Landauer%27s_principle

[2] https://en.wikipedia.org/wiki/Reversible_computing


Then it's about finding a mechanical toffoli or fredkin gate liie this


Springs do not have to wear out. If springs are made from a material such as steel that has a fatigue limit and the stress they experience is less than the fatigue limit, they may be deformed forever.

As for the answer, it appears to be yes. It is possible to make logic gates which only use rigid rotary links[0].

[0]https://arxiv.org/abs/1801.03534


Steve Mould did one with water: https://youtu.be/IxXaizglscw


This one uses gravity though! Not the same thing as friction causing wear and tear, but still a similar dependency on a force as the springs/elastic bands. Plus use of gravity means a lot of force is needed to operate many of the gates at the same time


ok but gravity scales quite nicely as force right?


And he did one with spintronics:

https://www.youtube.com/watch?v=QrkiJZKJfpY


Rod logic seems to fit the bill (https://anthony-zhang.me/blog/rod-logic/).


Check out https://en.wikipedia.org/wiki/Billiard-ball_computer It's theoretical but there are some great ideas in the general area of mechanical reversible computing.


Check out: https://m.youtube.com/watch?v=kQeDnFUNW-Q

And gate starts at 4:49. Or gate starts at 6:27. The trick is to make some gears not stationary, moving along as other gears push them.


OR is easy: a rod that is fixed to stay horizontal but can slide up and down. There are rods under it at either end for the two input bits. If either input goes up, the horizontal result rod goes up.


That requires a gravity based mechanism to return it back down though.


That requires a gravity based mechanism to return it back down though.


Or gate could be a ratchet in your gear example.

On a bike, it moves if you have momentum OR you pedal.

I guess the ratchet needs a spring though? Doh!


This is awesome. I dream of a mechanical computer that can be 3D-printed in one go, fully assembled. A subset of all linkages and joints can be printed this way. Is it possible to build a computer out of them?


Somebody's figured out the gates already...

https://www.nature.com/articles/s41467-019-08678-0



I think 3d printing using organic semiconductor filaments will be the way to go.


I like these explicit and "transparent" computers. Does anyone know of a similar computer using LEDs as logical gates in a way we can "see" what and how things are being computed?



I understand that every P-N junction emits radiation as a byproduct. I always thought that if we could observe the right part of the spectrum, it should be possible to "see" the transistors in a processor die light up as it computes. The fact that nobody's done this (that I'm aware of) probably means it's probably not practical.


I just want a regular Lego computer...

https://www.youtube.com/watch?v=uMhX1yZhu3A





Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: