Skip to content

Sartorius Api

This module contains the SartoriusDevice class.

ATTRIBUTE DESCRIPTION
READ_FORMAT

command template for reading

TYPE: str

WRITE_FORMAT

command template for writing

TYPE: str

Data

data type for communication

TYPE: NamedTuple

IntData

data type for communication

TYPE: NamedTuple

STEP_RESOLUTION

minimum number of steps to have tolerable errors in volume

TYPE: int

RESPONSE_TIME

delay between sending a command and receiving a response, in seconds

TYPE: float

CLASS DESCRIPTION
SartoriusDevice

Sartorius pipette device class

FUNCTION DESCRIPTION
interpolate_speed

Calculates the best parameters for volume and speed

Documentation last updated: 2025-02-22

RESPONSE_TIME module-attribute

RESPONSE_TIME = 1.03

Delay between sending a command and receiving a response, in seconds

STEP_RESOLUTION module-attribute

STEP_RESOLUTION = 10

Minimum number of steps to have tolerable errors in volume

SartoriusDevice

SartoriusDevice(
    port: str | None = None,
    baudrate: int = 9600,
    timeout: int = 2,
    *,
    channel: int = 1,
    step_resolution: int = STEP_RESOLUTION,
    response_time: float = RESPONSE_TIME,
    tip_inset_mm: int = 12,
    tip_capacitance: int = 276,
    init_timeout: int = 2,
    data_type: NamedTuple = Data,
    read_format: str = READ_FORMAT,
    write_format: str = WRITE_FORMAT,
    simulation: bool = False,
    verbose: bool = False,
    **kwargs,
)

Bases: SerialDevice

Sartorius pipette device class

ATTRIBUTE DESCRIPTION
info

Sartorius model info

TYPE: ModelInfo

model

model of the pipette

TYPE: str

version

version of the pipette

TYPE: str

total_cycles

total number of cycles of the pipette

TYPE: int

volume_resolution

volume resolution of the pipette

TYPE: float

step_resolution

minimum number of steps to have tolerable errors in volume

TYPE: int

capacitance

capacitance as measured at the end of the pipette

TYPE: int

position

current position of the pipette

TYPE: int

speed_code_in

speed code for aspirating

TYPE: int

speed_code_out

speed code for dispensing

TYPE: int

status

status of the pipette

TYPE: int

channel

channel id

TYPE: int

response_time

delay between sending a command and receiving a response, in seconds

TYPE: float

tip_capacitance

threshold above which a conductive pipette tip is considered to be attached

TYPE: int

tip_inset_mm

length of pipette that is inserted into the pipette tip

TYPE: int

tip_length

length of the pipette tip

TYPE: int

capacity

Capacity of the pipette

TYPE: int

home_position

Home position of the pipette

TYPE: int

max_position

Maximum position of the pipette

TYPE: int

tip_eject_position

Tip eject position of the pipette

TYPE: int

limits

Lower and upper step limits of the pipette

TYPE: tuple[int]

preset_speeds

Preset speeds available for the pipette

TYPE: ndarray[int | float]

METHOD DESCRIPTION
connect

Connect to the device

query

Query the device

getCapacitance

Get the capacitance as measured at the end of the pipette

getErrors

Get errors from the device

getPosition

Get the current position of the pipette

getStatus

Get the status of the pipette

isTipOn

Check and return whether a pipette tip is attached

getInfo

Get details of the Sartorius pipette model

getModel

Get the model of the pipette

getVolumeResolution

Get the volume resolution of the pipette

getInSpeedCode

Get the speed code for aspirating

getOutSpeedCode

Get the speed code for dispensing

getVersion

Get the version of the pipette

getLifetimeCycles

Get the total number of cycles of the pipette

setInSpeedCode

Set the speed code for aspirating

setOutSpeedCode

Set the speed code for dispensing

setChannelID

Set the channel ID

aspirate

Aspirate desired volume of reagent into pipette

blowout

Blowout liquid from tip

dispense

Dispense desired volume of reagent

eject

Eject the pipette tip

home

Return plunger to home position

move

Move the plunger either up or down by a specified number of steps

moveBy

Move the plunger by a specified number of steps

moveTo

Move the plunger to a specified position

zero

Zero the plunger position

reset

Reset the pipette

Initialize the Sartorius pipette device

PARAMETER DESCRIPTION
port

COM port address. Defaults to None.

TYPE: str DEFAULT: None

baudrate

baudrate of the device. Defaults to 9600.

TYPE: int DEFAULT: 9600

timeout

timeout for communication. Defaults to 2.

TYPE: int DEFAULT: 2

channel

channel id. Defaults to 1.

TYPE: int DEFAULT: 1

step_resolution

minimum number of steps to have tolerable errors in volume. Defaults to STEP_RESOLUTION.

TYPE: int DEFAULT: STEP_RESOLUTION

response_time

delay between sending a command and receiving a response, in seconds. Defaults to RESPONSE_TIME.

TYPE: float DEFAULT: RESPONSE_TIME

tip_inset_mm

length of pipette that is inserted into the pipette tip. Defaults to 12.

TYPE: int DEFAULT: 12

tip_capacitance

threshold above which a conductive pipette tip is considered to be attached. Defaults to 276.

TYPE: int DEFAULT: 276

init_timeout

timeout for initialization. Defaults to 2.

TYPE: int DEFAULT: 2

data_type

data type for communication. Defaults to Data.

TYPE: NamedTuple DEFAULT: Data

read_format

read format for communication. Defaults to READ_FORMAT.

TYPE: str DEFAULT: READ_FORMAT

write_format

write format for communication. Defaults to WRITE_FORMAT.

TYPE: str DEFAULT: WRITE_FORMAT

simulation

simulation mode. Defaults to False.

TYPE: bool DEFAULT: False

verbose

verbose mode. Defaults to False.

TYPE: bool DEFAULT: False

capacity property

capacity: int

Capacity of the pipette

home_position property

home_position: int

Home position of the pipette

limits property

limits: tuple[int]

Lower and upper step limits of the pipette

max_position property

max_position: int

Maximum position of the pipette

preset_speeds property

preset_speeds: ndarray[int | float]

Preset speeds available for the pipette

tip_eject_position property

tip_eject_position: int

Tip eject position of the pipette

aspirate

aspirate(steps: int) -> str

Aspirate desired volume of reagent into pipette

PARAMETER DESCRIPTION
steps

number of steps to aspirate

TYPE: int

RETURNS DESCRIPTION
str

response from the device

TYPE: str

blowout

blowout(
    home: bool = True, *, position: int | None = None
) -> str

Blowout liquid from tip

PARAMETER DESCRIPTION
home

return to home position. Defaults to True.

TYPE: bool DEFAULT: True

position

position to move to. Defaults to None.

TYPE: int | None DEFAULT: None

RETURNS DESCRIPTION
str

response from the device

TYPE: str

dispense

dispense(steps: int) -> str

Dispense desired volume of reagent

PARAMETER DESCRIPTION
steps

number of steps to dispense

TYPE: int

RETURNS DESCRIPTION
str

response from the device

TYPE: str

eject

eject(
    home: bool = True, *, position: int | None = None
) -> str

Eject the pipette tip

PARAMETER DESCRIPTION
home

return to home position. Defaults to True.

TYPE: bool DEFAULT: True

position

position to move to. Defaults to None.

TYPE: int | None DEFAULT: None

RETURNS DESCRIPTION
str

response from the device

TYPE: str

getCapacitance

getCapacitance() -> int

Get the capacitance as measured at the end of the pipette

RETURNS DESCRIPTION
int

capacitance as measured at the end of the pipette

TYPE: int

getErrors

getErrors() -> str

Get errors from the device

RETURNS DESCRIPTION
str

errors from the device

TYPE: str

getInSpeedCode

getInSpeedCode() -> int

Get the speed code for aspirating

RETURNS DESCRIPTION
int

speed code for aspirating

TYPE: int

getInfo

getInfo(*, model: str | None = None) -> ModelInfo

Get details of the Sartorius pipette model

PARAMETER DESCRIPTION
model

model name. Defaults to None.

TYPE: str DEFAULT: None

RETURNS DESCRIPTION
ModelInfo

lib.ModelInfo: Sartorius model info

getLifetimeCycles

getLifetimeCycles() -> int

Get the total number of cycles of the pipette

RETURNS DESCRIPTION
int

total number of cycles of the pipette

TYPE: int

getModel

getModel() -> str

Get the model of the pipette

RETURNS DESCRIPTION
str

model of the pipette

TYPE: str

getOutSpeedCode

getOutSpeedCode() -> int

Get the speed code for dispensing

RETURNS DESCRIPTION
int

speed code for dispensing

TYPE: int

getPosition

getPosition() -> int

Get the current position of the pipette

RETURNS DESCRIPTION
int

current position of the pipette

TYPE: int

getStatus

getStatus() -> int

Get the status of the pipette

RETURNS DESCRIPTION
int

status of the pipette

TYPE: int

getVersion

getVersion() -> str

Get the version of the pipette

RETURNS DESCRIPTION
str

version of the pipette

TYPE: str

getVolumeResolution

getVolumeResolution() -> float

Get the volume resolution of the pipette

RETURNS DESCRIPTION
float

volume resolution of the pipette

TYPE: float

home

home() -> str

Return plunger to home position

RETURNS DESCRIPTION
str

response from the device

TYPE: str

isTipOn

isTipOn() -> bool

Check and return whether a pipette tip is attached

RETURNS DESCRIPTION
bool

whether a pipette tip is attached

TYPE: bool

move

move(steps: int) -> str

Move the plunger either up or down by a specified number of steps

PARAMETER DESCRIPTION
steps

number of steps to move

TYPE: int

RETURNS DESCRIPTION
str

response from the device

TYPE: str

moveBy

moveBy(steps: int) -> str

Move the plunger by a specified number of steps

PARAMETER DESCRIPTION
steps

number of steps to move

TYPE: int

RETURNS DESCRIPTION
str

response from the device

TYPE: str

moveTo

moveTo(position: int) -> str

Move the plunger to a specified position

PARAMETER DESCRIPTION
position

position to move to

TYPE: int

RETURNS DESCRIPTION
str

response from the device

TYPE: str

reset

reset() -> str

Reset the pipette

RETURNS DESCRIPTION
str

response from the device

TYPE: str

setChannelID

setChannelID(channel: int) -> str

Set the channel ID

PARAMETER DESCRIPTION
channel

channel ID

TYPE: int

RETURNS DESCRIPTION
str

response from the device

TYPE: str

setInSpeedCode

setInSpeedCode(value: int) -> str

Set the speed code for aspirating

PARAMETER DESCRIPTION
value

speed code

TYPE: int

RETURNS DESCRIPTION
str

response from the device

TYPE: str

setOutSpeedCode

setOutSpeedCode(value: int) -> str

Set the speed code for dispensing

PARAMETER DESCRIPTION
value

speed code

TYPE: int

RETURNS DESCRIPTION
str

response from the device

TYPE: str

zero

zero() -> str

Zero the plunger position

RETURNS DESCRIPTION
str

response from the device

TYPE: str

interpolate_speed

interpolate_speed(
    volume: int,
    speed: int,
    *,
    speed_presets: tuple[int | float],
    volume_resolution: float,
    step_resolution: int = STEP_RESOLUTION,
    time_resolution: float = RESPONSE_TIME,
) -> dict[str, int | float] | None

Calculates the best parameters for volume and speed

PARAMETER DESCRIPTION
volume

volume to be transferred

TYPE: int

speed

speed at which liquid is transferred

TYPE: int

speed_presets

preset speeds available

TYPE: tuple[int | float]

volume_resolution

volume resolution of pipette (i.e. uL per step)

TYPE: float

step_resolution

minimum number of steps to have tolerable errors in volume. Defaults to STEP_RESOLUTION.

TYPE: int DEFAULT: STEP_RESOLUTION

time_resolution

minimum communication / time delay. Defaults to RESPONSE_TIME.

TYPE: float DEFAULT: RESPONSE_TIME

RETURNS DESCRIPTION
dict

dictionary of best parameters

TYPE: dict[str, int | float] | None