Rotation in reservoir for suspension cell culture

I’ve seen a module before, or at least the concept of one. Its basically a cylindrical reservoir that’s about double the height of a 300mL SBS reservoir. Its fixed and has a small horizontal metal piece inside that rotates to keep cell culture in the reservoir orbitally shaking and suspended. Its just wide enough that the 8-channels of the Tecan FCA/LiHa or Hamilton can fit inside (after stopping the rotator piece) to aspirate and transfer cell solution.

Anybody know where to find this? I swear it exists. I think it was most likely shown to me as a module addition for the Fluent, but I’m not 100% sure.

Check these: SpinVessel® | V & P Scientific, Inc.. It differs from your description but does the same kind of job.

2 Likes

This is pretty cool, I’ll go explore the page just now - though for good measure I’m attaching a diagram of what I remember the thing looking like

@dReekb I am pretty sure the link you shared is exactly what I’m looking for. This will definitely have to be a fun 3rd party integration, but I think its the most (and only) elegant solution to keep cells spinning right round on deck.

We integrated a SpinVessel on our Cellario workcell and we just used command line commands to turn it on/off. If you have a Tecan/Hamilton the same should be pretty easily doable. Although they may also have a direct driver for those instruments.

1 Like

Just in case you need a starting point, this is how I called the spin vessel with python. You just need the correct port. The command = <150,2,1,200,10> line gives RPM, number of rotations, fraction of rotation, pause and ramp respectively.

The stop command was the same but with command = ‘<0>\r\n’

import serial
import time

def send_serial_command():
try:
# Open serial port COM4 at 9600 baud
with serial.Serial(
port=‘COM4’,
baudrate=9600,
bytesize=serial.EIGHTBITS,
parity=serial.PARITY_NONE,
stopbits=serial.STOPBITS_ONE,
timeout=1
) as ser:
time.sleep(2) # wait for the port to initialize (important for some devices)
print(‘Sleeping Done’)
command = ‘<150,2,1,200,10>\r\n’
ser.write(command.encode(‘ascii’)) # Send command with CR+LF
print(f"Command sent: {command}“)
# Read response
response = ser.read(100) # Read up to 100 bytes
print(f"Response: {response.decode(‘ascii’, errors=‘replace’).strip()}”)
except serial.SerialException as e:
print(f"Serial error: {e}")

if _name_ == “_main_”:
send_serial_command()

1 Like

Check out Hamilton’s Seesaw module

1 Like