Gantry/Channel position (get/set) exposed in PyHamilton/PyLabRobot

Hey all (though this is probably a very specific question for @stefan),

I’m interested in exposing the Adjust Position interface through PyHamilton (not unlike how the Tic-Tac-Tobot was implemented on Opentrons). It seems like this is an option specific to the Opentrons API and not available for Hamilton, but I was wondering if you think this is something that could be implemented (and maybe point me to where I should start looking to go about it). Generally, my goal is to build some sort of a position teaching/validation app sort of thing.


1 Like


In PyLabRobot you can use the following methods on STAR for this:

  • position_left_x_arm_(x_position=x) where x is in units of 0.1mm–to position the x arm.
  • position_single_pipetting_channel_in_y_direction(pipetting_channel_index=1, y_positions=y, also in 0.1mm units, channels are 1-indexed–to position individual channels.

You cannot query the position as far as I know, but since you position it by absolute coordinates, this should not be a problem.

We have used this for using a game controller with our Hamilton.

Hope this helps–let me know if you have any questions!

Edit to add docs links:


For PyHamilton, we have the move_sequence(sequence, x, y, z) function where you can translate the location of a sequence or deck resource in the layout at runtime. Is this what you’re looking for? Not sure what behavior you are trying to implement exactly.

1 Like

Thanks @rickwierenga and @Stefan ! @rickwierenga 's solution should definitely work for what I’m trying to do.

Just curious - whats the relationship between PyLabRobot and PyHamilton? is PyHamilton wrapped into PyLabRobot or is it a completely new implementation?


PyLabRobot is our new interface to Hamilton (and other types of) robots. It is also OS-agnostic, so works on Mac, Linux, … . Just plug the robot into your laptop. This part is completely new.

In addition, you can use the PyLabRobot front end with PyHamilton (if it were not currently broken :))

From the docs website:

PyLabRobot is different from PyHamilton. While both packages are created by the same lab and both provide a Python interfaces to Hamilton robots, PyLabRobot aims to provide a universal interface to many different robots runnable on many different computers, where PyHamilton is a Windows only interface to Hamilton’s VENUS. In service of an easy migration, PyLabRobot is backwards compatible with PyHamilton.

1 Like