Introduction: Pneumatic Logic Gates Made With Simple Tools

Picture of Pneumatic Logic Gates Made With Simple Tools

This is a guide on how to create fluidic logic gates which work on air (which is classed as a fluid) instead of electricity. This is my first working prototype, but if made smaller and more reliable they could be used to create autonomous soft robots, or reduce the number of electromechanical valves used for applications where a number of pneumatic outputs needs to be controlled. A multi-line braille reader using this technology is already being developed.

I took inspiration from Novelchip's instructable, where he shows how to make logic gates out of microfluidic transistors and resistors, and made my own version, adding my own ideas and using the tools I have on hand.

Step 1: How It Works

Picture of How It Works

If you are just interested in making the logic gates, you can skip reading this part, but it helps

For this next part, I will assume you are familiar with how resistor-transistor (RTL) and CMOS logic work.

In this project, RTL, which is commonly used in microfluidic logic, is replaced with Complementary Pass Transistor Logic (CPL), which has the same advantages as CMOS logic, in that it is consuming much less power than RTL, and no power at all when maintaining state. It is also dosn't need resistors, making it easier for me to make.

How a microfluidic transistor (fluidic N-MOS transistor equivalent) works:

It is essentially a break in an air-carrying channel, which can be closed by applying negative pressure to the membrane above it, causing it to deflect and create a space for air to flow through (1st picture, source), and when the pressure is removed, the valve springs back in place.

Note: atmospheric pressure = logic level 0, below atmospheric pressure = logic level 1.

How Complementary Pass Transistor Logic (CPL) works:

Every signal in this logic family is represented by 2 lines - one carrying the original signal (A) and the other carrying the complement, or inverse, of the signal (A'). This is because its not possible to invert a single-line signal with only N-MOS transistors, so the inverted signal has to be supplied.

The transistor arengement of electronic CPL is mimicked in my design.

Each gate is a 2-1 multiplexer (2nd picture). When the non-inverted signal (S) is equal to 1 and the inverted signal (S') is 0, the 1st set of transistors open and the 2nd set remain closed, so the 1st input is connected to the output and the 2nd input is disconnected, the opposite is true when S=0 and S'=1.

The 2-1 multiplexer is a universal logic element.

Reasoning behind using CPL:

Since I couldn’t reliably make a fluidic resistor without a CNC machine, which are need for resistor-transistor logic - the most common type of logic implemented in microfluidic circuits. I couldn’t make the equivalent of CMOS logic either, since the fluidic equivalent of a P-channel MOSFET exists, but again need to be very precisely manufactured, So I came up with a solution which did not need resistors or P-channel MOSFETs, and only used the fluidic equivalent of a N-channel MOSFET. After some googling I found out that I independently invented CPL.

Step 2: Tools & Materials


  • 2.8mm diam drill bit
  • 90deg countersink tool
  • ball needle (2mm diam)
  • craft knife


  • 3mm thick transparent acrylic
  • 1mm thick transparent silicone sheet
  • 3mm diameter rigid plastic tube
  • 0.5mm thick transparent silicone membrane (this can be bought or made like in novelchip's instructable, I'll also be posting my own method soon)
  • 2mm ID 4mm OD silicone tube
  • vacuum pump to work as a power supply for the circuit. I used an Airpon D2028-12V
  • 2 valves + 6 T connectors from Lego technic
  • pressure gauge or piston from Lego technic to be used as an output device

The materials don't have to be transparent, it just makes it to see if all the layers are aligned properly.

Step 3: Cutting Silicone

Picture of Cutting Silicone

Sharpen the ball needle with a drill bit.

Cut 4 pieces of 1mm thick silicone sheet 28 by 24mm, and 1 peice of the membrane with the same size

Following the design on the square grid, push the sharpened ball needle into the silicone to cut holes and corners and then join the holes with a craft knife. The neater the cuts are, the easier it will be to align the layers.

Mark a corner of each layer with a pen. This will make it easier to arrange layers later

I also tried laser cutting the peices. The silicone cuts alright, but the peices wont stick together anymore, preventing an airtight seal.

In the future, I will use a 3d printable mold to cast the silicone peices, as this is the most tedious part of the project. I have included the STL files if anybody wants to try it.

Step 4: Case

Picture of Case

Cut 2 pieces of acrylic 28mm by 24mm (can be made wider, e.g. 40 by 24, to allow the 2 pieces can be screwed together)

Cut 8x 8mm lengths of 3mm diamiter rigid tubing

Drill 8, 2.8mm diamiter holes in 1 peice of the acrylic. The centers of the holes should align with the end of the channels in the first silicone layer.

Use the 90deg countersink tool to deburr both sides of the hole to make sure they are completely flat and that the silicone sheet adheres around each hole without creating air bubbles.

Firmly push a peice of tubing into each hole, making sure that it dosnt come out easily. If it starts poking through to the other side, use a craft knife to bring it in line with the surface. Any bumps on the surface will cause the silicone to not adhere as well..

Step 5: Assembly

Picture of Assembly

Clean every component with water and dry it to make sure there is no dust or hair stuck to the surfaces.

Now stack the layers one by one, starting with the outside and ending with membrane in the center:

Press layers 1 & 2 against the acrylic peice with tubes attached, making sure no air bubbles are left between the layers.

Flip layers 3 & 4 & the membrane and press them against the acrylic peice with no holes.

Press the 2 sides together now.

Looking down through the top of the chip, it should look like the mirror image of the original design (it dosnt matter if its not, just that all the marked corner of each layer are in the same place)

Step 6: Testing

Picture of Testing

Apply vacuum to each combination of output and control ports and you should hear the hissing of air coming from each input port in sequence. By putting a finger over the hole you can check that air dosnt leak in from anywhere else.

Combination of ports / Active input port

  • S & Q = A
  • S & Q' = A'
  • S' & Q = B
  • S' & Q' = B'

If air isnt flowing, you may need to realign your layers or enlarge one of the channels if it dosnt quite meet with another one.

If there is a leak, check the layers are clean and that there are no bubbles between them

Step 7: Modify the Pressure Gauge's Range

Picture of Modify the Pressure Gauge's Range

This is done simply by removing the gauge's pointer and putting it back on so it points to "1 bar" in its neutral position. The gauge now shows absolute pressure instead of a value relative to atmospheric pressure.

Step 8: Making Logic Gates

Picture of Making Logic Gates

-This step is work in progress-

Each chip is a 2-1 multiplexer, which in turn is a universal logic element, and can be connected up in different ways to make any 2 input logic gate.

A lego pneumatic switch has a non-inverted and an inverted output, so it is perfect to use as an input for these gates.

A piston or gauge can be conected to observe the output.

Since each gate's inputs and outputs are made up of 2 complementary signals (Q & Q'), any signal can be inverted by simply switching Q & Q'.

Step 9: D Latch

Picture of D Latch

-This step is work in progress-

By connecting a buffer and a multiplexer in such a way so that the the buffer's input is connected to its output while the clock line is low and another input while the clock line is high, we create a data latch - 1 bit of memory.

I estimate an 8 bit register would take up about 120cm^2 if made on a single chip, assuming I dont figure out a way to make the transistors smaller first (small transistors cut by hand are difficult to align).

Step 10: Next Steps

  • A mould will be 3d printed to replace the manual cutting process
  • The connecting tubes will fall out the logic "chip" from time to time when disconnecting silicone tubes. In the future I will 3d print the top part of the case as 1 peice
  • I will design a pneumatic punchcard reader to work with these chips

  • Multiple logic elements like this could be combined onto one logic chip to minimise the number interconnecting tubes. I already have a design for an ALU which could be made as one such chip


novelchip (author)2017-08-31

Here is a video of my 4 bit binary fluidic counter made by mixing CPL fluidic logic and resistor transistor fluidic logic. Works like a charm !

novelchip made it! (author)2017-08-24

By mixing my fluidic resistor -transistor logic with your complementary logic MUX i finally managed to get reliably cascadable fluidic master-slave flip-flops and so for the first time a reliably working 4 bit shift register. Next step will be mounting the chips on a fluidic PCB before proceding with complete integration

novelchip (author)2017-08-16

Finally also my miniatured version (universal gate chip size 8*8mm^2) works as it should using one chip as MUX and the other as buffer. With the circuit connected as shown in the photo and using a syringe as vacuum supply i determined that the circuit consumes 0.3cm^3 per switching operation and i could perform 100 times switching with just 30cm^3 of air!

novelchip made it! (author)2017-08-15

Finally i got the complementary pass logic latch working using my chips. Actually i found it depended on a leak. Left lego switch is data and right is clock. The photos show the two stored states. The left chip is configured as a CPL buffer and the right chip as a CPL mux as in your scheme of the latch.

novelchip (author)2017-07-30

To help develop microfluidics you may consider to "publish" your chip also on the new "Metafluidics" repository !

dAcid (author)novelchip2017-07-30

Will do! Thanks for letting me know. I've been working on an SLA 3d printed version of this project, I'll publish that soon.


: D

novelchip made it! (author)2017-07-01

Finally I got it working ! I made a minuaturized version of your universal logic gates using CNC milled PVC rubber sheets and a silicone membrane plus a plexiglass top plate with conical holes for small tube connections. The individual chips work perfectly and perform all the possible logic gate functions. The difficulties started when I went to combine them to make a D-latch. The feedback seems too weak and the state is stored only for few seconds. I could get the feeedback working stably ony by using 3 buffers in series instead of one. While there are no leaks in any of the circuits it seems that there is a problem of "signal loss" (low output air current?) in each stage and only by connecting in sequence 3 buffers it worked properly. The physical reason for that is still inclear to me. I also tried a larger version but the problem was the same.

dAcid (author)novelchip2017-07-01

Puzzling... My buffer should have a very high gain - the output is connected directly to the source or atmosphere.

I've not yet considered miniaturising my gate, at the moment Im trying to make a 3d printed mold (using laser cut plexiglass for the top and bottom to achive a smooth surface) that I can pour silicone into and get the flow layer and membrane as one peice

ThirdEarthDesign (author)2017-05-14

This really is interesting. Kudos to you, excellent work!

dAcid (author)ThirdEarthDesign2017-05-24


dAcid (author)2017-05-24

I have figured out how to turn heaphones into electromechanical valves - this will be my 2nd instrucable

charmrus (author)2017-05-13

I am not familiar with the mm designation. Does that mean mini me's? What is 2 mini me's?

synchronous0987 (author)2017-05-11

So cool... I also agree with some comments below, a good candidate for 3d printing and a laser cutter. Of which I have both. Message me if you want to do something.

dAcid (author)synchronous09872017-05-12

I have included the STL files for a mould. I'm having a friend print it for me

Waste Of Space (author)2017-05-11

You might like to try laser cutting the silicone sheets.

You will get splendid accuracy and much faster too.

dAcid (author)Waste Of Space2017-05-12

I tried this, and it cut fine, but the silicone wouldnt stick together even after I cleaned it with acetone - its surface felt more like plastic than of rubber. I think the 3d printed mould is a better solution.

bmiller91 (author)2017-05-11

No pressure to make this ......

BeachsideHank (author)2017-05-10

This type of system was big on U.S. naval ship propulsion plants using the old steam technology, then they switched to gas turbines, dunno if it is still used there or not.

dAcid (author)BeachsideHank2017-05-10

Yes, engineers came up with very creative solutions to these problems before microcotrollers existed. I read about fluidics being used in everything from autopilots to industrial control systems in the 1960s. Maybe this technology could be revivied with 3d printing and modern manufacturing techniques

novelchip (author)2017-05-10

I am overwhelmed! You really invented something new here! Also you found some very clever solutions using simple tools! I will definitely try this kind of complementary logic circuit schemes using my cnc milled valves. Very interesting indeed!

dAcid (author)novelchip2017-05-10

Im glad you like it

bbsbb (author)2017-05-09

you should try this.

dAcid (author)bbsbb2017-05-10

Thanks, but I dont think these are designed accurately cut rubber, it would probably stretch and cause some lines to be longer than others

seamster (author)2017-05-09

This is something I've never seen before, and quite interesting. Great first instructable, too!

About This Instructable




More by dAcid:3D Printed Pneumatic Logic GatesPneumatic Logic Gates Made With Simple Tools
Add instructable to: