Team:Aachen/Notebook/Construction Manuals/Pumps

This page gives you an overview of all the materials required and the steps to construct a pump.

Materials Required

For each Pump

  • M3 6 mm Screws - 6 pcs
  • 3 mm inner diameter Washers - 9pcs
  • M3 16 mm Screws - 4 pcs
  • Ball Bearings - 5 pcs
  • M3 Nut
  • A4988 [1]
  • MAX232 for the calibration circuit [2]


A NEMA 17 stepper motor has a 1.7 x 1.7 inch (43.2 x 43.2 mm) faceplate. It is larger and generally heavier than, for example, a NEMA 14, but this also means it has more room to put a higher torque. However, its size is not an indication of its power. In our project we use it to build a peristaltic pump. The idea was to be able to pump the medium into the bioreactor at rate as small as 1mL per hour and be smooth so as to not disturb the conditions inside the bioreactor.

Aachen BioreactorNEMA17Dimensions.jpg
Dimensions of a NEMA17
Top view remains the same for all models of the NEMA17 series.

3D structure

Aachen PumpSpring Side 1.JPG
Pentagonal spring rotor
The 3D printed structure which is fixed to the rotor of the NEMA17. The legs with holes are to screw in ball bearings and acheive the required mechanism

The 3D structure that we developed has five wing like protrusions coming out from the base which hold the ball bearings. The wings are used to press into the tube hence creating the required pressure to move the fluid. Two 3D-printed spring structures were designed with either single-sided or sandwich mountings for five ball bearings.

Stepper Driver

Aachen StepperDrivers.jpg
Stepper Driver.

Each pump is powered through a Stepper Driver A4988 [3] at up to 12 V / 1.7 A. This breakout board for Allegro’s A4988 microstepping bipolar stepper motor driver features adjustable current limiting, over-current and over-temperature protection, and five different microstep resolutions (down to 1/16-step). It operates from 8 V to 35 V and can deliver up to approximately 1 A per phase without a heat sink or forced air flow (it is rated for 2 A per coil with sufficient additional cooling). This stepper motor driver lets you control one bipolar stepper motor at up to 2 A output current per coil. The steppers used along with these drivers can increase or decrease the number of steps according to the following table :


MS1 MS2 MS3 Steps
0 0 0 Full
1 0 0 Half Steps
0 1 0 Quarter Steps
1 1 0 Eighth Step
1 1 1 Sixteenth Step

We have used the Full Step function for the Aeration pump and the half step function for the feed and the harvest pump.


We use an Arduino Uno to control our pumps. Each pump is connected to the Arduino via the stepper driver.The digital ports are used to send simultanious 1 and zero or HIGH and LOW signals at our own specified time interval to control the pump. The Arduino code can be found here:


As we have already introduced the concept of peristaltic pump and our 3D structure, the final step in acheiving the pressurised movement is by holding the tube inside a circular path. This is done by a series of plexiglass layers. In total we use 4 different peices of plexiglass layers, each having its own utility.

  1. Base Layer : This is the lowest level. A NEMA 17 has a outward platform on its surface where the rotor starts. To compromise this we use a 2mm plexiglas layer.
  2. Spacer Layer : An important layer which forms the base for the tube. The 3D print has a certain diameter and this layer also consists of a circular hole in the middle with the same diameter. This allows the 3D structure to sit at its place and still be surrounded by the spacer layer.
  3. Pumping layer : The only layer made out of 5 mm thickness plexiglass. It creates a wall around the ball bearings screwed to the 3D print. This layer has a diameter which is slightly more than the diameter of the 3 D print to accomodate the tubes.
  4. Top layer : Anything in pressure always pops out of the system. So we need a restriction layer. Our top layer does this trick by having a smaller diameter than the pumping layer.

All plexigass Layers for the pumps can be found in the Download Library.

Construction Steps

Aachen engineering pump construction1.png
This is the 3D structure that is printed and fixed to the Axle of the motor.
Aachen engineering pump construction2.png
The ball bearings and other washers are then fixed to the legs using M3 screws.
Aachen engineering pump construction3.png
The stepper motor NEMA17 is taken
Aachen engineering pump construction4.png
The Base and the Spacer layer is placed first.
Aachen engineering pump construction5.png
3D Structure is then placed onto the rotor.
Aachen engineering pump construction6.png
Push the tube in and lock it using the pumping layer and top layer.


We connect three digital pins from the Arduino to the STEP, DIRECTION and ENABLE pin of the Stepper Driver. The 5 Volts and the ground pin of the driver are also connected to the arduino. As the stepper required a higher voltage and a current through VDD, we use a 12 volt, 2 A supply and connect it across a capacitor to the driver. A Schematic of the circuit is given below:

Aachen PumpCircuit.jpg
Pump Circuit
A simple but detailed circuit used to run the pump.

Assembly video

Pump Construction
Steps to construct and run your very own pumps

Download file : File:Aachen Pump.mp4

Calibration Unit

After building a pump, we need to calibrate the system. To acheive correct results from a small scale bioreactor, it is necessary to control the flow in and out. Therefore controlling the pumps precisely becomes necessary. To solve this issue and get data points manageable to be used to define the flow of the pump that we just created, we add an extra circuit to help us read serial data. This is done so that we could connect the pump to a scale and let it flow through and increase the weight after every step. This weight indicates the amount of flow at an instant.

  • Materials needed
  1. MAX232
  2. 5 1uF Capacitance
  3. All other components for building the pump circuit

A MAX232 is used to convert the RS232 signals from the weighing scale into TTL logic usable by computer programs

Aachen Circuit PumpCalibration.jpg
Circuit for Pump Calibration
This Unit must be connected to a scale using the MIDI

We have a developed Application that helps us read the values from the weighing scale and transfer them to a log file. During this experiment it also displays and plots a curve. For further information about this application please visit our Software page. Pump Calibration



  2. MAX232