Thermo Scientific ALPS 5000#

The ALPS 5000 is a heat sealer for microplates from Thermo Scientific, controlled over an RS-232 serial interface. It extends the shared ALPS protocol with initialisation, force-sensor control, foil length, sealing distance, and shuttle movement.

Product page: https://www.thermofisher.com/order/catalog/product/AB-5000

Property

Value

Communication

Serial / RS-232, ASCII command protocol

Serial settings

9600 baud, 8 data bits, no parity, 1 stop bit, no handshake

Terminator

CR (\r)

The ALPS 300, 3000, and 5000 share a command core but use different status flags and error codes, so each has its own driver class.

Warning

This driver has NOT been tested against hardware in PyLabRobot. If you verify it on a sealer, please open a PR to remove the not-tested warning.

Physical setup#

Connect the sealer’s RS-232 port to your computer, typically through a USB-to-serial adapter. Make sure the sealer’s serial parameters match the driver defaults (9600 baud, 8 data bits, no parity, 1 stop bit, no handshake).

Connect#

setup() opens the serial port, runs the instrument initialisation routine, waits for the device to be ready, and pre-heats to the preheating temperature. It also logs the not-tested warning.

from pylabrobot.thermo_fisher.alps import ThermoScientificALPS5000

sealer = ThermoScientificALPS5000(port="/dev/ttyUSB0")  # replace with your port
await sealer.setup()

Seal a plate#

seal() applies the time and temperature, optionally enables the force sensor, waits for the heater to reach the setpoint, then seals the plate. Sealing time is 0.5–9.9 s; temperature is 5–199 °C.

await sealer.seal(temperature=170, duration=2.5, use_force_sensor=True)

Force and force sensor#

Set the sealing force (5–50) and enable or disable the force sensor independently of a seal.

await sealer.set_force(30)
await sealer.enable_force_sensor(True)

Foil length and sealing distance#

Set the foil length (119–128) and the sealing distance (10–50).

await sealer.set_foil_length(124)
await sealer.set_sealing_distance(20)

Shuttle#

Move the shuttle in and out.

await sealer.shuttle_out()
await sealer.shuttle_in()

Temperature#

Set the sealing temperature setpoint and read the current heater temperature.

await sealer.set_temperature(160)
print("Current temperature:", await sealer.request_temperature(), "C")

Status#

Read the status byte as a set of flags.

print("Status:", await sealer.request_status())

Teardown#

await sealer.stop()