Hamilton Microlab VANTAGE Integration
Drive your liquid handler in Python, without writing a VENUS method
Aspirate and dispense on 1 mL and 5 mL channels, move plates with the IPG or CO-RE gripper, identify carriers with the IDL, and lay out the deck in code.
- Supports
- All models
- Connects over
- TCP/IP
- Vendor software
- None required
- Runs On
- Linux / Windows / MacOS
What You Can Command on the VANTAGE
Each part of the instrument is exposed as its own set of Python commands. The connector reads your VANTAGE's configuration at startup, so optional modules only show up if they're actually fitted.
Pipetting Channels
Aspirate and dispense on 1000 µL channels, with liquid level detection, per-channel positioning and custom tip types.
XL Channels
Where fitted: 5 mL channels with the same aspirate, dispense and tip handling calls, for larger-volume transfers.
Labware Transport
Move plates with the IPG plate gripper, or with the CO-RE gripper held on four adjacent pipetting channels.
IDL and Barcodes
Identify carriers and read the barcode of every container on them, and check carrier presence on the deck without moving anything.
TADM
Record per-channel pressure curves on both 1 mL and 5 mL channels, and store named limit curves to monitor against.
Covers and Lights
Lock and unlock the cover and loading tray, read the cover sensors, and set the deck light color and mode.
Run a Transfer From Python
Ordinary async Python. Version it, test it, generate it at runtime like any other code.
# bring up, arrange the deck, transfer on 8 channels, discard
from unitelabs.sdk import AsyncApiClient
from unitelabs.liquid_handling.hamilton import Vantage
from unitelabs.labware import PredefinedLiquids, Standard96Plate, StandardTrough
from unitelabs.labware.hamilton import (
PLT_CAR_L5MD_A00,
TIP_CAR_480_A00,
HamiltonTip_300,
HamiltonTipRack_300,
LiquidClass,
)
vantage = Vantage(name="Microlab Vantage", client=AsyncApiClient())
await vantage.configure()
await vantage.initialize()
tip_carrier = TIP_CAR_480_A00()
tips = HamiltonTipRack_300(filled_with=HamiltonTip_300)
tip_carrier[0] = tips
vantage.deck.add(tip_carrier, track=10)
plate_carrier = PLT_CAR_L5MD_A00()
assay = Standard96Plate()
reagent = StandardTrough()
reagent.containers[0].add_liquid(PredefinedLiquids.WATER, 150_000)
plate_carrier[0] = assay
plate_carrier[1] = reagent
vantage.deck.add(plate_carrier, track=1)
water = LiquidClass.HamiltonTip_300_Water_DispenseJet_Empty()
channels = range(8)
await vantage.pipettes.pick_up_tips_from(channels=channels, rack=tips)
await vantage.pipettes.aspirate(source=reagent, channels=channels, volume=100, liquid_class=water)
await vantage.pipettes.dispense(target=assay["A1":"H1"], channels=channels, volume=100, liquid_class=water)
await vantage.pipettes.discard_tips(channels=channels)
Know One Connector, Know Them All
Every instrument is found and called the same way, and the same Python drives whatever comes next. See how that scales from one instrument to a whole lab with our lab orchestration software.
One API, Every Instrument
Find it by name, then call its actions. It's the same on a liquid handler, a reader or an incubator, whatever the vendor ships underneath.
Ask a Connector What It Can Do
Modules and actions are discoverable at runtime, and parameters carry their own types, units and constraints. You don't need a PDF to find out.
Also Works With
The same Python script can drive every instrument on the bench. A liquid handler sets up the plate, a thermal cycler can cycle it, and a reader measures it, all from one script.
Hamilton Microlab VANTAGE
The questions automation engineers ask before integrating a VANTAGE.
Yes. With the UniteLabs connector and the liquid handling SDK you call the VANTAGE directly from Python: pick up tips, aspirate from a trough, dispense into a plate, move labware with the IPG or CO-RE gripper, and scan carriers with the IDL. It's ordinary async Python, so it can be version-controlled, tested and generated at runtime like any other code.
No. The connector talks to the VANTAGE firmware directly over TCP/IP, using the instrument's native command set, so no VENUS method sits in the loop. It exposes the instrument as a SiLA 2 service on a local gRPC port, and opens one outbound TLS connection on port 443 to your tenant.
The Microlab VANTAGE 1.3 and 2.0. On connect the connector reads the arm components and system modules and registers only what's fitted, so channel counts, XL channels, the IPG and the IDL all come from the hardware.
1000 µL pipetting channels, 5 mL XL channels, the IPG plate gripper, the CO-RE gripper on four pipetting channels, and the IDL for carrier identification and barcode reading.
Yes, on both the 1 mL and the 5 mL channels. Start and stop monitoring per channel, read the last measurement and its error, and store named limit curves on the instrument to check each transfer against.
The liquid handling SDK handles liquid classes, carriers on deck tracks, labware definitions and tip tracking. You call aspirate with a source, channels, a volume and a liquid class, and the SDK works out the rest.