Stop stirring while measuring OD?


I have been testing Pioreactor with some strict aerobic bacteria that require very good aeration of the media. Stirring should be strong so that the V shaped cone of the media surface reaches the bottom of the vial, to increase the gas exchange surface (this can be achieved with a bigger stirrer at 2000rpm).

I saw that there is a way to decrease the number of measurements (one measurement every 1-2 minutes would be well enough for us). I was wondering though if there is already a way to stop the stirring while taking OD measurements.


Hi @stefdon, you can program this, yea. There’s a few ways to accomplish, but I think the method below is the least complex. I suggest demoing this on a Pioreactor, to see if you like the results.

  1. SSH into the Pioreactor you want to demonstrate on. We’re going to create a simple plugin, so we create a python file with:
nano ~/.pioreactor/plugins/
  1. In the text editor, copy and paste the following:
from pioreactor.background_jobs.od_reading import start_od_reading, ODReader
from time import sleep

__plugin_name__ = "stop stirring before reading plugin"
__plugin_author__= "Cam Davidson-Pilon"
__plugin_summary__ = "This stops the stirring before OD reading. Probably only useful when time between OD reading is long."

def pause_stirring(cls):
    cls.publish(f"pioreactor/{cls.unit}/{cls.experiment}/stirring/$state/set", "sleeping")
    sleep(1.75) # sleep to let stirring job process request and slow down mixing

def unpause_stirring(cls, *args):
    cls.publish(f"pioreactor/{cls.unit}/{cls.experiment}/stirring/$state/set", "ready")


Use crtl-x to exit.

  1. Try it out: on the edited Pioreactor, start stirring, and then start OD reading.
  2. If you’re happy with that, you can copy this plugin to the other Pioreactors.

Let me know if you encounter any problems, or would like to change the behaviour somewhere.

If this feature is requested often enough, we’d be happy to implement it natively so it’s just a config change (instead of writing and editing Python).

I tested the plugin, increasing the RPM to 2000 and decreasing the OD measurements to 1 per minute. I run a cultivation of my strain and now the growth rate resembles what I can see in a flask with optimal aeration. The stirring stops for 1-2 seconds (the “1.75” in the plugin is how many seconds it stops?) and this is enough for the whirlpool in the media to flatten and enable a precise measurement.

Thank you!