

A peristaltic pump is a type of positive displacement pump designed to move fluids through a flexible tube by compressing and relaxing the tube in a sequential manner. This action creates a vacuum that draws the fluid into the tube and pushes it out. The pump is highly valued for its ability to handle viscous fluids, maintain sterile conditions, and prevent contamination since the fluid only comes into contact with the tubing.








Below are the general technical specifications for a typical peristaltic pump. Note that specific models may vary, so always refer to the datasheet of your pump.
Most peristaltic pumps are simple DC motor-driven devices with two terminals. However, some advanced models may include additional control features. Below is a typical pin configuration:
| Pin | Label | Description |
|---|---|---|
| 1 | Positive (+) | Connect to the positive terminal of the power supply or motor driver. |
| 2 | Negative (-) | Connect to the negative terminal of the power supply or motor driver. |
For pumps with integrated controllers:
| Pin | Label | Description |
|---|---|---|
| 1 | VCC | Power input (e.g., 5V or 12V DC). |
| 2 | GND | Ground connection. |
| 3 | PWM/Control | Optional input for speed control using a PWM signal. |
Below is an example of how to control a peristaltic pump using an Arduino UNO and an L298N motor driver.
// Define motor driver pins
const int IN1 = 9; // Motor driver input 1
const int IN2 = 10; // Motor driver input 2
const int ENA = 11; // Motor driver enable pin (PWM)
// Setup function
void setup() {
pinMode(IN1, OUTPUT); // Set IN1 as output
pinMode(IN2, OUTPUT); // Set IN2 as output
pinMode(ENA, OUTPUT); // Set ENA as output
}
// Loop function
void loop() {
// Rotate pump in forward direction
digitalWrite(IN1, HIGH); // Set IN1 high
digitalWrite(IN2, LOW); // Set IN2 low
analogWrite(ENA, 128); // Set speed to 50% (PWM value: 0-255)
delay(5000); // Run pump for 5 seconds
// Stop the pump
analogWrite(ENA, 0); // Set speed to 0
delay(2000); // Wait for 2 seconds
// Rotate pump in reverse direction
digitalWrite(IN1, LOW); // Set IN1 low
digitalWrite(IN2, HIGH); // Set IN2 high
analogWrite(ENA, 128); // Set speed to 50%
delay(5000); // Run pump for 5 seconds
// Stop the pump
analogWrite(ENA, 0); // Set speed to 0
delay(2000); // Wait for 2 seconds
}
Pump Not Running
Low Flow Rate
Pump Overheating
Fluid Leakage
Can I use the pump for corrosive fluids?
How do I reverse the flow direction?
What is the lifespan of the tubing?
Can I control the pump speed without a microcontroller?