Hamilton STAR Error Handling

Hi all,

Is anyone aware of any error handling tools that could make the 8 channel pipette from a different sequence if it runs into a insufficient liquid error? I am trying to have 2 reagent troughs filled with the same liquid and once the first trough is empty I want to switch over to the next trough. All help is much appreciated.


You’d have to cancel the default error handling and then code an error handler to perform this, where you increase/change your source sequence.

1 Like

we did the error handling in two ways,

  • set default error handling for specified error to exclude, then you can get exclude pattern with step of Get Channel Exclude State (Single Step). Do the next pipette with exclude pattern and sequence. I think this is an easy solution

  • error handling with step return or error object. For pipetting step, Set default error handling for specified errors to Cancel, and put the step to error handling step (try catch). When runing with error, an error object will be throwed and the error contains data like step return. You can get all the error information with HSLMlStarStepReturnLib.hsl, and generate channel pattern or others. With this way, you can handle multiple and complex errors.


Use errorhandling by the user. For the error insufficient liquid you select as an option " Cancel" and then create your workflow in the cancel loop.

You can make it as complicated as you like. But for your question, I would just do the following :

Doing it this way, your pipetting will only work if it is succesfull. Please note that this is the absolute minimum effort in this workflow. You can use the stepreturns, calculate new channels, calculate error codes etc. I have that in all of my methods, but I can’t share that with you unfortunately. But a good start in reading would be the stepreturn library. That is GOLD.

1 Like

For STAR has multiple channels, when pipetting, there may be different error for different channel. We have to get status of every channel, then we can do the correct error recovery. These information is stored in step return result or data of error object. You can find the explaination in help file of STAR step return library helpp

Top tip! Use the ErrorLib too! Otherwise - if you enter the error loop - your stepreturn value = " 0"

Errorlib is the default library. Use index 3

A bit off topic but relating to error handling when there’s an insufficient/liquid level error but is there a way to extract the consumed sequence after the pipetting step? For example, I initially built a sequence with 24 positions but only 20 positions were consumed due to having less volume than expected. I want to be able to extract the consumed sequence and/or get the last used position. I have given a look at each library mentioned in this forum (plus additional testing) but no dice unless I missed something.

Yes, it is possible to do these things with error handling. Following is process of how to use error handling in Hamilton’s method. The important thing is checking the step return result to generate the sequence and channel pattern, which are used on subsequent recovery pipettings.

loop on sequence{
    pick up tips
        aspirate on sequence, set Cancel to specified errors
        get step return from data of error object.
        loop on step return, check all the positions, generate sequence and channel patthern for positions with error
        aspirate with sequence and pattern
    ejct tips

Here is a method to show the error handling.

error handling setting on aspirate step, uncheck “Use default” and set Cancel to specified errors.

pipetting with sequence and channel pattern