Pulsing Fluidic Heart Micropump





Introduction: Pulsing Fluidic Heart Micropump

About: searching for the unexpected

I made this vacuum driven, absolutely silent!! heart micro-pump as a byproduct of my playing with microfluidics. It works pretty fine as a pump, pumping some milliliters per minute, but I prefer to consider it as a first step towards a "gadget" such as a fake but cool heart rate monitor or a pulsing fluidic heart pendant, because of the natural looking "heart beat". Any other ideas are welcome.

In any case it works on the same principleas aREAL HEART. Two expanding and contracting chambers (heart shaped) push fluid through one-way valves, thereby establishing a directional flow instead of just oscillatory motion of fluid. The "heart-beat" is generated by a fluidic ring-oscillator which as the electronic counterpart comprises 3 pneumatic inverter circuits connected in a loop. The whole circuit is powered just by compressed air or vacuum, which is supplied by connecting an external vacuum pump or compressor to one of the holes on the chip. In a more advanced version (with reduced air consumption) a small 8 g CO2 cartridge should be able to sustain the pumping for several tens of minutes but I have not yet managed to keep air consumption as low and so for the moment you will need an external small vacuum pump to make it work continuously. As a portable silent vacuum "power supply" for the moment I use two 60 ml syringes connected together. One syringe acts as a piston of a hand vacuum pump and the other as a vacuum chamber. Think of it as a "hand rechargeable air battery".

To make this "micro-pump chip" you need

- a CNC mill...if you don't have one but have a 3D printer instead maybe it will also work ...not sure. I have no experience with 3 D printing. In any case you will need to print transparent material.

- a plexiglass board 3-4 mm thick

- a PVC rubber sheet 1-2 mm thick

- a few sharp CNC bits to mill sufficiently fine channels (0.2-0.3 mm wide). I used sharp 'scoring' tools used for milling copper traces in PCB boards.

- transparent casting silicone such as RTV615 or Sylgard184 to cast thin silicone membranes. If you can find commercial 0.2-1.0 mm thick transparent silicone rubber sheets that's fine, but I doubt you will find them.

But enough of words let's see in more detail what you need to make it:

Step 1: Description of Materials and Parts Needed

So let's begin with a description of the components you need:

1) first of all you need a vacuum or compressed air "power supply". For simplicity and for lowest cost you can use just two 60 ml syringes connected together with some one-way valves, T-joints and tubing so that one syringe acts as a suction piston and the other syringe as a vacuum chamber ( think of it as a "hand rechargeable pneumatic battery" ). The scheme and the realization is shown above.

2) A plexiglass plate, mine was 3.85 mm thick. Any other with thicknesses above 3 mm will work, just keep it below 5-6 mm otherwise your micro-pump ( actually "milli-pump" ) gets to bulky. Avoid polystyrene. It is too fragile for the present purpose.

3) a transparent PVC rubber sheet some mm thick. I found PVC rubber was the only transparent rubber that I was able to CNC mill decently. Silicone rubber is by far too elastic and tends to tear. PVC rubber actually is a highly softened plastic rather than a real rubber. Any suggestion for alternative materials is welcome. Another reason why I choose PVC rubber is that it is soft enough to conform to slightly uneven surfaces but stiff enough not to deform under compression. This is important since it is sandwiched between two plexiglass plates compressed by screws.

4) either you can buy a transparent silicone rubber sheet 0.2-0.3 mm thick or you cast it by your own using silicone rubber of sufficient hardness such as RTV615 or Sylgard 184. If it is too soft then it will not work since it will be compressed too much in the sandwich. For instance oogoo doesn't work (unfortunately). To cast silicone membranes and slabs I use also plumbers putty, a glass plate, dish-washing soap, a balance with 0.1g resolution.

5) you need some sort of small diameter soft tubing (I used Cole Parmer Tygon Microbore Tubing, 0.010" x 0.030"OD, 100 ft/roll EW-06418-01)

6) some small containers (few ml) which you may build from tubes or small plastic boxes, small syringes, Eppendorf vials, or even from LEGO bricks.

7) any colored fluid to test the pump. I used food dye which washes away relatively easily if you spill it.

Step 2: Description of the Parts Making Up the Micropump

The micro-pump device is made from 5 "layers" sandwiched together in a stack tightened by four 2 mm screws.

1) The top layer is made of a milled plexiglass plate 32x32x 3.85 mm in size containing fluid channels, heart shaped chambers, "one-way" micro-valve seats and "membrane expansion chambers" for the "transistor like" micro-valve plus two auxiliary vacuum chambers. It also contains conical holes for connection of the device with small diameter tubing to the vacuum or compressed air power supply and for connecting three small containers for vacuum or compressed air.

(STL file "3Dfile1correct.stl")

2) then follows a thin silicone rubber membrane 0.2-1 mm thin. I usually use a 0.4-0.5 mm thick one cast by my own on a glass plate previously smeared with a thin layer of dish washing soap so that the cured membrane can be released from the glass plate (otherwise silicone will bond to glass). The silicone membrane has holes punched in it at the "right" places that serve as "vias" to let air and colored fluid flow through from the top layer to the PVC layer (3). The holes can be punched manually using a punching-mask plate that I describe later.

3) the next layer is a PVC rubber sheet (mine is 2mm thick) milled on both sides with channels for air. Also there are "diode-like micro-valve" expansion chambers and "transistor-like micro-valve" seats milled in it that allow the silicone membrane(2) to deflect in the places defined by the micro-valve-seats and the heart-chambers. Finally through-holes ("vias") are milled in the PVC rubber sheet to connect back-side to front-side air channels. The stack of top layer (1), silicone membrane (2) and PVC rubber layer (3) together define the micro-fluidic & micro-pneumatic circuit described in the scheme in step1 of this instructable. The circuit elements are pneumatic micro-valves (act like transistors), fluidic "one-way valves" (act similar to diodes) and fluidic resistors (just narrow/long channels..therefore the serpentine design of some channels). As I already said the circuit acts like a fluidic ring-oscillator and drives the alternating ("anti-phase") expansion/contraction of the membrane in the heart-shaped pumping chambers. Combined with the "one-way" micro-valves (fluidic diodes) the pumping action of the micro-pump results.

(STL file "3Dfile2.stl")

4) The fourth layer is a relatively thick (2-3 mm) cast silicone slab that serves both to seal the channels on the back-side of layer 3 and as a "soft-cushion" so that the whole stack can be compressed without producing any air/fluid leaks. This layer is cast in the same way as the silicone membrane of layer 2, just thicker. Also we need to punch 4 holes for the 2 mm screws. To this purpose we once again use a punching mask that I describe later.

5) the last layer is the back-plate which is once again a 32x32x 3.85 mm sized plexiglass plate. It has holes milled for tightening the whole stack with four 2 mm screws.

(STL file "layer5.stl")

Step 3: CAD Files

Here are the CAD files that you will need to import in your CAM software for generating the CNC tool-paths.

besides the plexiglass top-layer plate (layer 1, file "3Dfile1correct.dxf")

PVC layer (layer 3, file "3Dfile2.dxf")

and the plexiglass back-plate (layer 5, file "layer 5.dxf")

also two CAD files for the hole-punch mask are included (files "3Dfile3.dxf", "3Dfile4.dxf")

that you will need to punch holes in the "right" places in the silicone membrane. As punching tools I used flattened nails and a flattened needle tip. As your nails and needles may have different diameters than mine you will probably need to adapt the hole-punching mask CAD files to suit your needs.

Step 4: Preparing the Silicone Membrane

1) casting the silicone membrane:

I first smeared a small glass plate with dish-washing soap and dried the soap with a hair-dyer. You should continue smearing the soap also after the water has dried out until an ultra-thin uniform soap layer develops that practically becomes nearly invisible.

To cast the silicone I use plumbers putty to shape a "wall" so that liquid silicone will stay in place. If you use Silgard184 silicone (Dow Corning) you will need to mix up 1 part "cross-linker" with 10 parts "base compound". It is convenient to prepare several glass plates for casting since you will need only few grams for one membrane. If you want to be sure to get the right thickness measure the casting area, multiply with the desired thickness, multiply the volume by the density of silicone and you get the weight of liquid silicone you will need to cast. Then just put your mold on a balance with at least 0.1g resolution and pour the silicone until you reach the desired weight. Once spread let the silicone sit for at least 30 min so that all air bubbles escape. Then cure on a hot-plate at 80-120 deg C for at least 2 hour so that the silicone is well cured and will not shrink later.

2) punching the holes:

- Mill a "punch-mask" in two plastic sheets. (see CAD files in step 3). I use two 1.2 mm thick CD as plastic layers for the punch mask, after stripping the metal from the CD with scotch-tape.

- Take nails with a diameter matched to the holes in the punching mask (slightly smaller by 0.02-0.03 mm) and flatten them with abrasive paper. For smaller holes (< 1mm) I use flattened needle-tip treated in the same way as the nails.

- Take one of the plates of the punching mask and lay down the silicone membrane. Insert "alignment nails" into the outer alignment holes of the punching mask. Stack the second plate of the punching mask onto the silicone membrane using the alignment nails and alignment holes of the second plate.

- use the punching nails/needles to punch holes manually into the silicone membrane using the holes in the punch-mask.

3) casting and punching the thick silicone slab (layer3):

- casting is done in the same way as for the thin silicone membrane, just use more silicone to make a 2-3 mm slab.

- punching can be done using milled layers 1 and 5 as a punching mask together with a flattened nail as punching tool as described above.

Step 5: Assembling the Micro-pump


The assembling of the device stack requires some skill and attention

1) clean the plexiglass plate layer 1 from dust.

2) clean the punched silicone membrane from dust using scotch tape, tapping repeatedly with the sticky side of the tape on the membrane. Just be careful not to tear the membrane. I find it useful to lay down the membrane on a bigger silicone slab that I have previously prepared and cleaned from dust in the same way with scotch tape. Once you are satisfied with the cleanliness of the membrane place the top layer (layer 1) onto the silicone membrane. Try to align by eye the holes in the membrane with the corresponding features in layer 1 (see CAD files). It helps if this is done using black paper as a background so that you can better see where the holes and features are. Probably you will need to adjust the position of the membrane after it has been laid down on the plexiglass plate. If the membrane gets dirty during this process use the scotch-tape technique to clean the membrane once-again while the membrane rests on the plexiglass plate, eventually lifting up some of its edges and repositioning the membrane until you are satisfied with the alignment and cleanliness.

3) clean the PVC rubber layer 3 from dust (don't use the scotch tape in this case ! Scotch tape will strongly stick to PVC and leave residues). Place the PVC layer onto the previously assembled layers, aligning once again the mating features. I have not included any alignment marks in the design. Such marks could eventually simplify the alignment task.

4) clean the fourth layer - silicone rubber slab - and place it on top of the previous three (simple).

5) clean the fifth layer (plexiglass back-plate) and place it on top of the previous four (simple).

6) finally insert the four 2 mm mounting screws and tighten the nuts finger-tight.

Step 6: Connecting External Components and Testing the Pump

1) Making external connections:

Before you can test the micro-pump you need to connect three small external "air-containers" that act as pneumatic capacitors. Actually the two reservoirs milled on the plexiglass plate (layer 1) were meant to be used as two of these containers but I found they were too small. The containers used should have volumes of some ml. The simplest way is to use three 5 ml syringes. Then you have the additional advantage that you can adjust the volume. Just be sure to fix the syringe plungers in place in some way (glue them for instance).

What is the purpose of these containers you may ask ?

Their purpose is to regulate the "heart-beat" frequency of the micro-pump. Bigger reservoirs act as bigger capacitors and produce lower frequency heart-beat.

I used three 2.5 ml "Eppendorf" vials as external reservoirs as you can see in the picture above, connected to the appropriate holes on the device (see picture and video in the introduction).

With these I get a frequency of about 1-2 beats per second as you can see in the video in step 1 of this instructable. The containers are connected to the device with chunks of small diameter elastic tubing (tygon micro-bore tubing) which forms tight seals with the conical holes milled in the device.

Using smaller reservoirs - such as the two included on the layer 1 plate - will give frequencies of several hertz up to some tens of hertz with even smaller containers.

To start the pump you need to connect a vacuum power supply to the "central hole" - the one centered in the ring shaped channel (see picture and video in the introduction) or a compressed air supply to the unconnected hole in the picture above.

2) Testing:

I must say that the I designed the heart expansion chambers to operate efficiently with vacuum, not with pressure. They also work with a compressed air supply but pumping efficiency is much lower. So test the pump preferably with a vacuum source ! This also reduces risk of air/fluid leaks.

To better see the heart beat you should of course also fill the fluidic part of the circuit with ink. A colored fluid must be injected in the upper right hole with a syringe. The pump then drives the fluid towards the left so that pumped fluid exits the upper left hole. The pumping direction is fixed by the diodes and can't be inverted. You should also connect a tube to the upper left outlet hole so that injected or pumped fluid will be collected inside the tube. Once the fluid has been injected you should also connect the open end of the fluid filled tube to the fluid inlet port so that fluid will be pumped around the circuit (see the video in the introduction).


Start the vacuum and you should see the hearts beating !

(If you use the DIY "hand-vacuum pump" described in step 2 of this instructable pulling the plunger of the 60 ml syringe plunger will produce a vacuum that will last for some minutes only)

Play with the sizes of external containers (or position of syringe plungers if you use 3 syringes instead of 3 containers) to change the pulsation frequency. Some frequencies produce better pumping action than others, depending also on how much air bubbles are in the fluid circuit. Some air bubbles in the fluid circuit are useful otherwise you cannot see the fluid moving, but not too much. Too much air in the circuit reduces pumping efficiency as in any pump, also macroscopic pumps.

The pump will pump approximately some ml/min but I have not quantified that seriously yet.

have fun !

Epilog Challenge VI

First Prize in the
Epilog Challenge VI

Tech Contest

Second Prize in the
Tech Contest



  • Creative Misuse Contest

    Creative Misuse Contest
  • Clocks Contest

    Clocks Contest
  • Water Contest

    Water Contest

57 Discussions


9 months ago

You sir have inspired me. I'm working on a fluidic prosthetic, and you've inspired me to redesign my pump.

1 reply

I'm glad I have suggested you an idea. Good luck !


9 months ago

I'm a bit mind blown by this because I had no idea you could use logic circuits in this manner. I'm wondering if it's possible to do circuits in general but especially valves out of passive circuitry, like with nothing that moves inside of the circuit. I think that a possible use would be a solar panel.

I imagine a closed circuit that has passive circuitry for efficiency, some parts get the heat other parts are colder and that way a fluid circulates the circuit, then it moves a shaft that connects to a generator. In theory the more components you can cram inside, the more efficient but It would probably be very inefficient.

Wish I had the tools and the money and the knowledge :)

1 reply

Fascinating proposal ! Indeed I found that what you are talking about exists as Stirling engine

Awesome project! But I always wonder, is it possible to have a programming language in fluidics? If so, how would it look like?

7 replies

Thank you. The answer to your question is yes it is possible and it actually has already started to be developed. Instead of variables you have fluid types and you program operations among fluids like mix a+b or move fluid a to storage location x or more complex commands which are made from lower level ones for intance dilute fluid a with fluid b in 1:4 ratio at precision better than 0.1 etc..how this translated into single commands to operate valves on specific fluidic chips is described in an excellent way in this video of bill thies https://youtu.be/n0gmTc2wA3k
who developed this language called biostream. Its open source but it appears that it has not yet been used a lot. It would really be nice if someone could test it on real chips further.

That's actually neat to think of having a programming language in that way. I also have another question, what happens if the fluid type used is ionised, viscous, volatile,etc? Can that change the way the circuit works?

Of course materials used to fabricate the chip should be compatible with the fluid. Typically microfluidics is used in biotechnology or healthcare applications. Therefore the interesting molecules such as dna or cells or toxins or other that you in the end want to analyze or manipulate by these fluid operations should not be absorbed by the channel walls. Also normally you dont want the fluid to dry out by water vapour penetrating out through the walls. This is a general aspect of proper microfluidics and is not related to the programmability

I see. So what really affects the programmability of micro fluidics?

When using mechanical actuation the main obstacles are probably the reliability of fluid tranfer operations. Because of the possibility of air bubbles for instance or because valve closing displaces liquids to both sides of the valve whereas you would like just to interrupt fluid flow. Also the complexity of chips that need a large number of valves to achieve is one reason why such chips will be hardly commercial. One exception though are chips from fluidigm company that uses large numbers of valves but i think they only carry out simple fluid manipulations but very useful ones so that actually no fluidic programming language is needed. It nevertheless reamains an interesting future prospect of development

Thanks, this sparks my interest in fliud mechanics and it might be useful in my future for my thesis‚Äč in aerospace engineering. I can picture this being used in fuel efficiency systems or back up system in case the electronics in the plane fails.

The source code for BioStream is freely available. For a pointer to the most recent version, please send email to Bill Thies (thies@mit.edu).
For more information on the project see also the following website


1 year ago

When you say pvc rubber... Are you referring to something similar to that of clear vinyl? Pvc and rubber to my understanding are different materials. Where would I obtain this?

1 reply

yes clear PVC sheets ..you can buy them for instance on e-bay (http://www.ebay.co.uk/bhp/clear-pvc-sheet). i call it PVC-rubber because they are soft and pliable as allmost silicone rubber and are "rubbery" to the touch but contrary to silicone they are actually heavily "Plasticised" plastics and so can be CNC milled. I did not manage to CNC mill other rubbers so far -- too soft.

This is amazing

Would there ever be a way to make this without a CNC mill or 3D printer? I'd love to make this but don't have access to either of those things. I'd even buy this if I could!

4 replies

You know - it might be fun to build the 3D mill yourself? An Arduino nano is about $4 from ebay, and you'd need 3 motors, which are about 99cents each, plus some screws and assorted odds and ends - you should be able to build a machine to make these for $10 to $20 if you're resourceful :-)

Hey! I can get my hands on a 3D printer now! I am adding this to my (short) list of doable projects :D Can't wait until I get the other components so I can get it printed

I suggest you to scale the STL or dxf files at least 2x since they contain some quite narrow channels (0.2-0.3 mm) which are easy to obtain with a CNC mill and a sharp milling bit but probably not with most filament 3D printers.

Pretty much double that price, since I'm in Australia, but nonetheless a cool and fun project

I'll look into it when I have a break from school, thanks for the idea!

I have an arduino lying around though, and a dremel. I'll see what I can do! :D

Thanks. Unfortunately not. Even with most 3D printers it will be very difficult unless you make it much bigger. You need a CNC mill.