There are several peristaltic pump projects on Thingiverse. However most of them lack source codes and could not be adjusted to use with different hose and bearings. So I designed fully parametric peristaltic pump. It can be customized to use any silicon hose, any Nema motor, and any bearings. Source files are supplied. Feel free to modify it and adapt to suit your needs.

I have used silicon hose with OD=7 mm, ID=5.5 mm, and 0.75 mm wall. With that hose Nema 17HS4401S motor was able to pump 700 ml per minute (42 litres per hour) easily. Hoses with thicker walls may require to reduce motor speed or motor with higher torque.

I used 50% infill and 3 perimeters. The higher infill percentage the better. If rotor movement is too tight hose_clearance parameter can be increased.

Additionally to pump head you will need to get some electronics:

Nema stepper motor, e.g 17HS4401S. ~$8
Stepper motor driver, e.g A4988. ~$1
Arduino board. I used Arduino pro mini. ~ $2
Rotary encoder with button + 2 resistors or KY-040 Encoder Module. ~ $1
1602 LCD with I2C converter. ~ $2
Bearings. I used 6 pcs of 605zz bearings. ~$2 for 10 pcs
Power supply 12V 1-2A. ~$3
I have ordered all parts from AliExpress. Total cost of the pump was about $20 including some plastic for printing.

Arduino firmware is available on GitHub

Main features:

Adjustable speed via RPM
Adjustable speed via flow in ml per min
Pumping predefined amount of liquid
Pump calibration
Soft start/stop
Modes can be switched by single click. Double click is used for start/stop. Button hold enables pump calibration mode.”