Skip to content

Overview#

iso render

A single syringe pump connected to a controller

The aim of this project is to provide a capable, cost-effective, and easy-to-build syringe pump. This documentation includes hardware design files, software source files, and instructions for building and using a syringe pump and controller.

The design is modular, making it flexible and potentially compatible with a variety of pump hardware and control software. A single controller can connect to up to four pumps. The pumps can be operated manually via the controller’s built-in display, buttons, and knob, or controlled remotely from software using serial commands (e.g., pyControl).

4 pumps

Up to 4 pumps can be chained together and independently controlled

This project was developed in the Karpova Lab at HHMI's Janelia Research Campus.

Features#

  • Compact#

    • 24 cm x 9 cm pump footprint
    • Can be mounted vertically to DIN rail
  • Silent operation#

  • Spring loaded clamps#

    • Securely holds syringes in place while also allowing them to be quickly and easily loaded and unloaded
  • Rich interface#

    • 1.14" color display with 240x135 pixels
    • 3 buttons for additional control
    • Rotary encoder with built-in push button
  • Integrated Limit Switches#

    • Pull limit prevents the plunger from being fully extracted from the barrel and making a mess
    • Push limit detects when a syringe is empty, enabling automatic session termination or seamless transition to another pump.
  • Modular#

    • The controller accepts connector modules that provide platform specific connectors for power and communication.
    • A single controller can manage the electronics (stepper motor + limit switches) of up to 4 pumps via 0.1" pin headers.
  • Easy to source and build#

  • Open-source#

    • Modify and customize to your needs
    • Share improvements with the community for everyone's benefit

Specifications#

Flow rate#

The max plunger speed is 30 cm/min1. The max flow rate will depend on the syringe size used. Multiply the max plunger speed by the cross-sectional area (cm2) of the syringe barrel to determine the flow rate (mL/min). Details for some common syringes can be found here.

Below are the max flow rates for some plastic BD syringes.

Syringe Barrel inner diameter
(cm)
Minimum volume2
(µL)
Maximum flow rate
(mL/min)
10 mL BD Luer-Lok 1.45 1.7 50
30 mL BD Luer-Lok 2.17 3.7 111
50 mL BD Luer-Lok 2.67 5.6 168

Modifications for different syringe sizes

The frame design and limit switch positions are based on the dimensions of a 50 mL plastic syringe, however you may want to use a smaller syringe for increased precision. Alternaitve syringes can be used by adding an extension to the carriage for pushing the limit switch and modifying the 3D printed "clamp" parts to adjust to the different syringe thickness. Design files for 30mL parts are available here.

Accuracy and precision#

Below is a comparison between this open-source syringe pump and a commercial Harvard Apparatus PHD 2200 syringe pump.

Measurement details

The measurements were taken by dispensing liquid into a small beaker and then recording the weight using a digital scale. The liquid was dispensed in 50µL and 250µL increments through tubing and a 21 gauge needle that was submerged in the liquid (to avoid variations from droplet formation). For each pump, 50 samples at each volume were taken.

performance

Additional information#

Other open-source syringe pump projects#

Project Author
Open-source syringe pump Moscow State University's Mass Spectrometry Lab
Open-source syringe pump Michigan Tech's Open Sustainability Technology Lab
Poisedon Pachter Lab
3D Printed Syringe Pump Rack aldricnegrier
DIY Syringe Pump Naroom
OpenSyringePump Electrolab Hackerspace

Karpova Lab#

pyControl#

Documentation tools#


  1. When powered by a 12V supply, this is a safe value where we don't see any signs of missed steps. If you are pushing a viscous fluid, you may need to reduce the speed or increase the voltage up to 24V. 

  2. Here we define the minimum volume as the volume that is dispensed from a single step rotation of the stepper motor. This volume is a function of the lead screw pitch, the number of steps per revolution of the motor, and the cross-sectional area of the syringe barrel. In this case, the lead screw pitch is 2 mm and the number of steps the motor has is 200, resulting in a carriage displacement of 10 µm per step. Theoretically, since our stepper motor driver uses microstepping where it further divides the step size by 256, the minimum volume is 1/256th of the stated minimum volume. In practice, other factors such as needle gauge, tubing properties (e.g. elasticity), fluid properties (viscosity, surface tension, etc.), and plunger properties (stiffness, friction, etc.) overshadow microstep size as the dominant source of variation.