You are on page 1of 3

Fun with 3D Printing: Print a Parametric Peristaltic

Pump
So, I’ve been playing around with the Lulzbot we got at work. Inspired by emmett’s sweet planetary gear bearing design, I
adapted the design to be not a bearing but a peristaltic pump. Like the original bearing design, the pump prints as a single
piece – no assembly required! – with captive rollers and no rotary bearing/wear surfaces. The only extra part needed is a
length of surgical tubing to thread through the mechanism. This initial print is a proof‐of‐concept and is driven by a standard
1/4″(?) hex nut driver or Allen key: for a real application, you’d want to add a mount for an electric motor or similar. This one
(or one like it) will probably end up attached to a small gearmotor and solar panel in my greenhouse to slowly trickle water
through an aquaponics tower.

Printable Peristaltic Pump with captive rollers and


minimal wear surfaces

Pump with latex surgical tubing installed

The pump design is written in OpenSCAD and pretty much fully parametric: the desired diameter, height, tubing geometry
and a few other parameters can be tweaked as needed. There are a couple warts I’ll discuss later on.

Download:
You can download the OpenSCAD file here.

Video:
Here is a video of the pump in operation.
General:
Peristaltic pumps operate on the same principle as your esophagus and intestines (yes, really – yuck…) – a squishy length of
hose is squeezed starting from one end and ending at the other, forcing any contents along for the ride. This type of pump
has several properties that make it useful in certain applications:

Self‐priming – can pump air or fluid reasonably well

Able to pump viscous, chunky or otherwise particulate‐filled liquids that would gum up or damage an impeller pump

Gives great head – Ehhem… “head” refers to the maximum height the pump can push fluid. For a comparable energy
input, a peristaltic pump can generally push fluid up much larger elevation gains than typical impeller types. Flowrate is
another story of course.

Precise volume delivery – the amount of fluid (or air, etc.) dispensed per rotation of the motor is much more predictable
than with an impeller pump. Using a servo or stepper motor, the volume pumped can be very accurately controlled. For
this reason, peristaltic pumps are commonly used in medical equipment to meter out IV fluids, handle body fluids or
dispense drugs.

Corrosion‐free, isolated fluid path – Also of great relevance to medical applications, the fluid makes contact only with the
tubing, making it very self‐contained and minimizing the risk of contamination – e.g. all the nooks and crannies where
foreign matter and bacteria could hide in other pumps. Very important when pumping bodily fluids out of someone and
then back in (e.g. dialysis). Likewise, if your pump guts were metal, pumping corrosive fluids would be OK at the two
never touch.

I really can’t stress the medical angle enough: in a hospital setting, peristaltic pumps are everywhere. Being able to print
them off for practically free is huge.

Of course they are not without drawbacks; among them are fairly low flowrates, often “spurty” output, added friction losses
and finite tubing life.

Assembly:
The pump prints out pretty much preassembled, but you still have to supply the tubing. Latex or Tygon surgical tubing is
ideal, but most any pliable tubing (PVC fishpump tubing, etc.) can be used. To install, poke the tubing into one of the holes
on the side of the mechanism (move the rollers if necessary so it is not blocked), pull through the desired amount of slack,
then slowly advance the rollers to push the tubing up against the inner wall. When it reaches the other hole, push through
and pull out any remaining slack. Note, the design is symmetric, so the concept of “inlet” and “outlet” port just depends on
which direction you turn the rollers.

Design Considerations:

The diameter and wall thickness of the tubing dictate the pump geometry to some degree: the rollers and corresponding
track must be wide enough to accommodate the tubing’s width when squished flat, and the clearance between the two must
be enough to squeeze it flat without applying excessive force. This can be adjusted via the tubing_squish_ratio variable. The
pump shown used a value of 0.5 with good results, but if you don’t need excessive pressure/head, lower values should work
fine and reduce friction.

In general, a larger overall pump diameter will minimize wear on the tubing.

When using an FDM (plastic‐extruding) printer, crazy overhangs in the geometry can’t be printed without support material
(which defeats the purpose of a print‐n‐play design). The parameter allowed_overhang controls the level of overhang in the
output based on what your printer can print, between 0 (no overhang whatsoever) and 1 (“infinite”, i.e. 90‐degree overhang).
Of course a ‘0’ setting is not very practical. 45‐60 degree overhang should be OK for most FDM printers (I used a raw value of
0.75 for this one).

Warts / Future Improvements:

In the current version, the final OD will actually be slightly larger than the value you enter (specifically, by the calculated
tubing squished thickness. This is a result of laziness on my part; keep this in mind or fix it if you need a very exact OD on the
outer ring.

When operating at high speed, I’ve noticed the tubing sometimes has a tendency to slowly “walk” in the direction opposite of
travel, being slowly pulled through the pump. A compression / baffle feature at the inlet and outlet would help prevent this
by friction‐locking the tubing in place. Alternately, it could probably just be fixed in place with a bit of glue.

You might also like