< back to all projects

Programmable Water
Computation is not just about electronics.

[Photos by Arnan Sipitakiat]

This was my final project for the "How to make (almost) anything" class at the MIT Media Lab, when I was a first-year MSc. student. As my field of research is technologies for learning, I am interested in ways to make the opaque transparent, to make people understand what is "under-the-hood". Computers are everywhere, but we hardly know how they work. So this was the motivation for this project (if you are interested in this topic, I also wrote and directed a documentary on how microchips and computers work - have a look here and email me if you want a copy). If you are interested in education and new technologies, please check out these cool videos, other projects on my website, the Gogo Board website, or the NetLogo website.

The idea of the project was to build a device that could do computation without electrons (well, not considering the electrons in water itself). Water was a interesting choice, in fact, Fluidics is a very important field of study that is widely used in aerospace or mission-critical applications, where electronic control devices don't offer the needed reliability or cannot support the environment. Also, Fluidics has been use in military equipment in order to prevent malfunction in a nuclear war, when electric devices cease to work.

However, the idea was not to send people to space or to control missiles, but rather make a device that could help people build computation with their own hands, demystifing the computer. To do computation, a great thing to have are obviously boolean operations: but how to implement them with water?

After many hours of research on binary logic, a lot of sketching and unsuccessful attempts, I decided to try this to use the laser cutter and build something with multiple layers. A simple logic gate looks simple on paper, but water is a messy media to work with... The final assembled adder looked like this:

This a zoom-in of one of the modules:

It works based on one very simple principle: there are two inputs of water on the top.

When just one of them is "on"... When both are "on", the two jets collide, going vertically down to the "U" piece, that collects the water.
In other words, it's a XOR gate.
In other words, an AND gate.

So, we have two Boolean operations in just one device: AND and XOR. So, that's a half-adder!

But it was a long way to get there. My first trial looked like this:

There was leakage all over, so I tried a new design:

It worked better, but its size could not cope with the flow of water. However, the principle worked very well.

This was the third trial, and it worked fine.

Then I fabricated many of them, using the laser cutter and acrylic of various colors. I glued a Lego piece under the device, so that it would be easier to assemble small "computers". This is how the 4-bit adder looked like, after many (I mean, many!) hours of wet work. If you think programming a computer is hard, just imagine what it would be if your bits were leaking all over the place.

[Just a quick note: I'm well aware that there has been tons of research on Fluidics. But this was just a class project, and it was never published, so that's why you will see no references. This is an old version of this page]
< back to all projects

home | projects | courses | contact | webmaster

Copyright © 2003
Designed by Tatiana Chapira