Skip to main content

Using a peristaltic pump with your Pioreactor

Viewing pump configuration in config.ini

You can attach up to three peristaltic pumps to your Pioreactor, typically used for: adding fresh media to the vial, removing effluent from the vial, and adding an alternative media to the vial.

First decide what you want your new pump to do: add media, remove waste, or add an alternative media. Pumps that are supplied by us will have a connector that connects to the PWM outputs on the Pioreactor hat. Which PWM you connect to is determined by your PWM settings in config.ini.

In our case, if we were to use the pump as a media pump, we would connect the pump to PWM channel 2.

Setting up the dosing platform #

The dosing platform isn't needed, but helps organize your pumps. We sell them in our shop, but it's also open source - so you can 3D print your own!

  1. Set the dosing platform on a level surface.
  2. Place your Pioreactor in the platform, as shown. Note: a Raspberry Pi B model won't fit.
  3. Attach your two pumps' wires to media and waste PWMs on the Pioreactor (your config.ini has the PWM channels these should attach to, see section above).
  4. Vertically place each pump into the platform. Note the following:
    • Check the orientation of the pump head: the tubes should be facing out.
    • Each pump's wire should travel up one of the grooves in the side of the holder. The pump will feel snug in the holder.
  5. Do this for both pumps.
  6. The pumps should be have some gap between them and the Pioreactor, facing opposite directions, and not interfering with each other.

Connecting the tubes #

  1. For both pumps, the tube that is closer to the Pioreactor's vial is the tube that will connect to the vial.
  2. Optional: If the pump→vial tubes seem too long, you can cut them to a preferable length. In the pictures shown, we cut the 9" tube down to 6". This reduces media waste and makes the platform more compact.
  3. For each pump, attach this tube to the Pioreactor's vial via the luer lock connection.
  4. You're done! Note the picture demonstrating the flow of liquid in and out of the Pioreactor's vial.

When attaching tube ends that contain liquid to the vial, be careful of drops that might escape. We suggest taking the Pioreactor vial out of the vial holder when attaching tubes, to minimize the chance of a drop falling into the vial holder. After attaching, place back into the vial holder.


If using your pumps for the first time, we suggest letting them run continuously for 10 minutes or so to "loosen" the tubing up and check for any problems. Here's how to do this:

  1. Unattach the end connected to the vial.
  2. Place both ends (source and sick) into a beaker of water,
  3. Use the Pioreactor UI to run them continuously.

Calibrating pumps

Read the calibration instructions for how to calibrate your pumps to move precise mL of liquid. Calibration is required for most dosing automations in the Pioreactor.

Using pumps in experiments


We strongly recommended you don't run peristaltic pumps continuously for hours at a time. The inner tubing has a lifetime and may wear out during operation, causing a leak. By continuously, we mean "always moving liquid". If you need to move liquid continuously for long periods of time, you need a different pump design.

Sterilizing the pumps before and after experiments

To avoid cross contamination, pumps should be sterilized before and after use.

  1. Create a 10% bleach dilution, or high concentration alcohol, in a container. Place the sink and source tubes of each pump you're sterilizing in the beaker.
  2. On the UI, in the Pioreactors tab, click Manage and go to the Dosing tab.
  3. Run continuously to cycle the disinfectant solution through each pump that you're using.
  4. Interrupt after sufficient cycling. In another beaker with DI water, place the tubes in and repeat the cycling to rinse out the pumps.
  5. Your pumps are now ready to be attached to media, waste, or vials for your experiments.

Running pumps from the web interface

See documentation on how to run pumps manually from the UI.

Running pumps from the command line

pio run add_media --ml 3

or, if you wish to run continuously until interrupted (don't leave this running for hours, though).

pio run add_media --continuously

Programmatically run pumps using automations

Dosing automations, like turbidostats, chemostats, fed-batch, etc., are available to run once your pumps are attached and calibrated. These automations will programmatically add and remove media. Read more about automations.