UniteLabs
Concepts

Modules

Pipettes, grippers, and autoload as independent units of hardware capability, each with its own lifecycle.

A liquid handler is not a monolith. It is a collection of modules — the pipetting channels, the 96-nozzle head, the iSWAP arm, the CO-RE gripper, the autoload, the Bravo gripper — each with its own capabilities and its own lifecycle. Your protocol commands modules, not the device as a whole.

A module is the unit of capability you can command:

  • Pipetting channels / heads (hamilton.pipettes, hamilton.core96, bravo.pipette_head) — aspirate and dispense liquid
  • Grippers and transport arms (hamilton.core_gripper, hamilton.iswap, bravo.gripper) — move labware between deck positions
  • Autoload — load and unload carriers from the front of the deck
  • Readers, heaters, shakers — integrated accessories exposed through their own module interfaces

This mirrors the connector-side vocabulary: in the CDK, a module is an addressable capability exposing properties, sensors, and controls. Consumer-side, you see the same unit.

Transport modules at a glance

Three modules move labware, each with a different mechanism and reach. Pick one based on your device and the kind of transport you need:

Hamilton CO-REHamilton iSWAP / IPGBravo
DeviceHamilton STAR / VantageHamilton STAR / VantageAgilent Bravo
MechanismTwo pipette channels pick up paddlesDedicated rotatable gripperIntegrated gripper arm
On-deck transportYesYesYes
Off-deck reachNoYesNo
Rotation supportNoYesNo
Module setupConfigure paddle locationsNoneNone
Best forQuick on-deck movesOff-deck integrations, rotationsBravo deck repositioning

The same pattern applies across module types: different mechanisms, a shared conceptual shape.

Module lifecycle

Every module has a small state machine that determines when it can receive commands:

INSTALLED  →  CONFIGURED  →  INITIALIZED  →  ACTIVE
  • Installed: the device knows the module exists (from the device configuration).
  • Configured: any setup that depends on deck geometry is complete — for example, the CO-RE gripper has had its paddle pickup locations set.
  • Initialized: the module has homed and reported ready.
  • Active: the module is currently the tool in use. On Hamilton, modules that share the pipetting arm are mutually exclusive — activating one deactivates the others.

Most protocols only call activate() before using a module and move on. Configuration is a one-time setup step on the modules that need it (primarily the CO-RE gripper's paddle locations); initialization happens at the device level when you first connect.

Mutual exclusion

On Hamilton, the pipetting channels, the CO-RE gripper, and the iSWAP share the pipetting arm. Only one can be active at a time. Activating another module automatically deactivates the current one — which is how you "park" a gripper by activating the channels again.

On Bravo, the pipette head and the gripper are mutually exclusive for a different reason: the gripper cannot pick up plates while tips are mounted. Drop tips before calling a gripper operation.

Where to go next